summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2017-04-06 10:05:55 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-04-07 18:17:58 +0000
commit928cd15d3d3ab82734f49eb9d694faf59c3a0c6d (patch)
treeb4ccd30048fc23f59c8f156d6a0d1060b7121f16 /Tools
parentbe770ca621f6463339b7d15be088e1b9acd851e5 (diff)
Import WebKit commit 342c7c7c069db3ca1d09ae6c5f7d600f9b241778
Change-Id: I8886595114569f61168aed76b23ad7288c5cb34c Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools')
-rw-r--r--Tools/qmake/projects/run_cmake.pro19
-rw-r--r--Tools/qt/jhbuild-qt-5.4.modules30
-rw-r--r--Tools/qt/patches/qtbase-5.4-add-macros-for-enabling-disabling-warnings.patch86
-rw-r--r--Tools/qt/patches/qtbase-5.4-fix-Clang-warning-about-inconsistent-use-of-C-11-ove.patch62
-rw-r--r--Tools/qt/patches/qtbase-5.4-fix-gcc-Wsuggest-override-warning-on-Q_OBJECT.patch30
5 files changed, 224 insertions, 3 deletions
diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro
index e0c615b0a..ac8767154 100644
--- a/Tools/qmake/projects/run_cmake.pro
+++ b/Tools/qmake/projects/run_cmake.pro
@@ -4,6 +4,8 @@ ROOT_QT_BUILD_DIR = $$ROOT_BUILD_DIR/..
TEMPLATE = aux
+qtConfig(debug_and_release): CONFIG += debug_and_release build_all
+
msvc:!contains(QMAKE_HOST.arch, x86_64) {
debug_and_release {
warning("Skipping debug build of QtWebKit because it requires a 64-bit toolchain")
@@ -76,10 +78,13 @@ build_pass|!debug_and_release {
equals(QMAKE_HOST.os, Windows) {
if(equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)) {
cmake_generator = "NMake Makefiles JOM"
+ make_command_name = jom
} else: if(equals(MAKEFILE_GENERATOR, MINGW)) {
cmake_generator = "MinGW Makefiles"
+ make_command_name = make
} else {
cmake_generator = "Unix Makefiles"
+ make_command_name = make
}
cmake_args += "-G \"$$cmake_generator\""
}
@@ -98,14 +103,22 @@ build_pass|!debug_and_release {
log("$${EOL}Running $$cmake_env cmake $$ROOT_WEBKIT_DIR $$cmake_args $${EOL}$${EOL}")
!system("$$cmake_cmd_base $$cmake_env cmake $$ROOT_WEBKIT_DIR $$cmake_args"): error("Running cmake failed")
- log("$${EOL}WebKit is now configured for building. Just run 'make'.$${EOL}$${EOL}")
+ log("$${EOL}WebKit is now configured for building. Just run '$$make_command_name'.$${EOL}$${EOL}")
- default_target.target = first
+ build_pass:build_all: default_target.target = all
+ else: default_target.target = first
default_target.commands = cd $$cmake_build_dir && $(MAKE) $$make_args
QMAKE_EXTRA_TARGETS += default_target
+ # When debug and release are built at the same time, don't install data files twice
+ debug_and_release:build_all:CONFIG(debug, debug|release): cmake_install_args = "-DCOMPONENT=Code"
+
+ install_impl_target.target = install_impl
+ install_impl_target.commands = cd $$cmake_build_dir && cmake $$cmake_install_args -P cmake_install.cmake
+ QMAKE_EXTRA_TARGETS += install_impl_target
+
install_target.target = install
- install_target.commands = cd $$cmake_build_dir && $(MAKE) install $$make_args DESTDIR=$(INSTALL_ROOT)
+ install_target.commands = $(MAKE) -f $(MAKEFILE) install_impl $$make_args DESTDIR=$(INSTALL_ROOT)
QMAKE_EXTRA_TARGETS += install_target
}
diff --git a/Tools/qt/jhbuild-qt-5.4.modules b/Tools/qt/jhbuild-qt-5.4.modules
index fc85f6ee0..194335129 100644
--- a/Tools/qt/jhbuild-qt-5.4.modules
+++ b/Tools/qt/jhbuild-qt-5.4.modules
@@ -6,8 +6,10 @@
<metamodule id="qt">
<dependencies>
<dep package="qtbase"/>
+ <dep package="qtdeclarative"/>
<dep package="qtlocation"/>
<dep package="qtsensors"/>
+ <dep package="qtwebchannel"/>
</dependencies>
</metamodule>
@@ -64,6 +66,9 @@
<patch file="qtbase-5.4-fontconfig-fix.patch" strip="1"/>
<patch file="qtbase-5.4-no-sslv3.patch" strip="1"/>
<patch file="qtbase-5.4-no-sslv2_3.patch" strip="1"/>
+ <patch file="qtbase-5.4-add-macros-for-enabling-disabling-warnings.patch" strip="1"/>
+ <patch file="qtbase-5.4-fix-Clang-warning-about-inconsistent-use-of-C-11-ove.patch" strip="1"/>
+ <patch file="qtbase-5.4-fix-gcc-Wsuggest-override-warning-on-Q_OBJECT.patch" strip="1"/>
</branch>
<dependencies>
<dep package="fontconfig"/>
@@ -74,6 +79,18 @@
</dependencies>
</autotools>
+ <autotools id="qtdeclarative"
+ autogen-template="%(prefix)s/bin/qmake %(srcdir)s"
+ makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
+ supports-non-srcdir-builds="no">
+ <branch module="archive/qt/5.4/${version}/submodules/qtdeclarative-opensource-src-${version}.tar.xz" version="5.4.0"
+ repo="download.qt.io"
+ hash="sha256:e67c9275b0f6869a7c1e8023ad7c0a23fb19f8a8d2f350371e954ead0cfad7b6"/>
+ <dependencies>
+ <dep package="qtbase"/>
+ </dependencies>
+ </autotools>
+
<autotools id="qtlocation"
autogen-template="%(prefix)s/bin/qmake %(srcdir)s"
makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
@@ -97,4 +114,17 @@
<dep package="qtbase"/>
</dependencies>
</autotools>
+
+ <autotools id="qtwebchannel"
+ autogen-template="%(prefix)s/bin/qmake %(srcdir)s"
+ makeinstallargs="install INSTALL_ROOT='$(DESTDIR)'"
+ supports-non-srcdir-builds="no">
+ <branch module="archive/qt/5.4/${version}/submodules/qtwebchannel-opensource-src-${version}.tar.xz" version="5.4.0"
+ repo="download.qt.io"
+ hash="sha256:24eb0125198270f8595babb6c0df74dd13e0ccc8c8a5e665151cf68c3306594c"/>
+ <dependencies>
+ <dep package="qtbase"/>
+ <dep package="qtdeclarative"/>
+ </dependencies>
+ </autotools>
</moduleset>
diff --git a/Tools/qt/patches/qtbase-5.4-add-macros-for-enabling-disabling-warnings.patch b/Tools/qt/patches/qtbase-5.4-add-macros-for-enabling-disabling-warnings.patch
new file mode 100644
index 000000000..053bfee02
--- /dev/null
+++ b/Tools/qt/patches/qtbase-5.4-add-macros-for-enabling-disabling-warnings.patch
@@ -0,0 +1,86 @@
+From 63a512023e861380f4489b103212769b741a93dc Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Thu, 30 Oct 2014 20:44:43 -0700
+Subject: [PATCH 1/1] Add macros for enabling/disabling warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows us to avoid the ugly #if for compiler versions. We might
+still need for when a warning only occurs in one compiler version, but
+otherwise the code will be much cleaner.
+
+Change-Id: Ibc941d898b3dad2e3d87c11378f29139c31f0fff
+Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
+Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
+---
+ src/corelib/global/qcompilerdetection.h | 46 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
+index ee396409d8..dcd185742a 100644
+--- a/src/corelib/global/qcompilerdetection.h
++++ b/src/corelib/global/qcompilerdetection.h
+@@ -1,7 +1,7 @@
+ /****************************************************************************
+ **
+ ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+-** Copyright (C) 2012 Intel Corporation
++** Copyright (C) 2014 Intel Corporation
+ ** Contact: http://www.qt-project.org/legal
+ **
+ ** This file is part of the QtCore module of the Qt Toolkit.
+@@ -1060,6 +1060,50 @@
+ # define Q_DECL_CONST_FUNCTION Q_DECL_PURE_FUNCTION
+ #endif
+
++/*
++ * Warning/diagnostic handling
++ */
++
++#define QT_DO_PRAGMA(text) _Pragma(#text)
++#if defined(Q_CC_INTEL)
++# define QT_WARNING_PUSH QT_DO_PRAGMA(warning(push))
++# define QT_WARNING_POP QT_DO_PRAGMA(warning(pop))
++# define QT_WARNING_DISABLE_INTEL(number) QT_DO_PRAGMA(warning(disable: number))
++# define QT_WARNING_DISABLE_MSVC(number)
++# define QT_WARNING_DISABLE_CLANG(text)
++# define QT_WARNING_DISABLE_GCC(text)
++#elif defined(Q_CC_MSVC) && _MSC_VER >= 1500
++# undef QT_DO_PRAGMA /* not needed */
++# define QT_WARNING_PUSH __pragma(warning(push))
++# define QT_WARNING_POP __pragma(warning(pop))
++# define QT_WARNING_DISABLE_MSVC(number) __pragma(warning(disable: number))
++# define QT_WARNING_DISABLE_INTEL(number)
++# define QT_WARNING_DISABLE_CLANG(text)
++# define QT_WARNING_DISABLE_GCC(text)
++#elif defined(Q_CC_CLANG)
++# define QT_WARNING_PUSH QT_DO_PRAGMA(clang diagnostic push)
++# define QT_WARNING_POP QT_DO_PRAGMA(clang diagnostic pop)
++# define QT_WARNING_DISABLE_CLANG(text) QT_DO_PRAGMA(clang diagnostic ignored text)
++# define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text) // GCC directives work in Clang too
++# define QT_WARNING_DISABLE_INTEL(number)
++# define QT_WARNING_DISABLE_MSVC(number)
++#elif defined(Q_CC_GNU) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 405)
++# define QT_WARNING_PUSH QT_DO_PRAGMA(GCC diagnostic push)
++# define QT_WARNING_POP QT_DO_PRAGMA(GCC diagnostic pop)
++# define QT_WARNING_DISABLE_GCC(text) QT_DO_PRAGMA(GCC diagnostic ignored text)
++# define QT_WARNING_DISABLE_CLANG(text)
++# define QT_WARNING_DISABLE_INTEL(number)
++# define QT_WARNING_DISABLE_MSVC(number)
++#else // All other compilers, GCC < 4.6 and MSVC < 2008
++# define QT_WARNING_DISABLE_GCC(text)
++# define QT_WARNING_PUSH
++# define QT_WARNING_POP
++# define QT_WARNING_DISABLE_INTEL(number)
++# define QT_WARNING_DISABLE_MSVC(number)
++# define QT_WARNING_DISABLE_CLANG(text)
++# define QT_WARNING_DISABLE_GCC(text)
++#endif
++
+ /*
+ Proper for-scoping in MIPSpro CC
+ */
+--
+2.11.0
+
diff --git a/Tools/qt/patches/qtbase-5.4-fix-Clang-warning-about-inconsistent-use-of-C-11-ove.patch b/Tools/qt/patches/qtbase-5.4-fix-Clang-warning-about-inconsistent-use-of-C-11-ove.patch
new file mode 100644
index 000000000..63258bbcd
--- /dev/null
+++ b/Tools/qt/patches/qtbase-5.4-fix-Clang-warning-about-inconsistent-use-of-C-11-ove.patch
@@ -0,0 +1,62 @@
+From 3092bd56c394f22e027be59368789546afb5ca98 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Wed, 17 Dec 2014 18:59:17 -0800
+Subject: [PATCH 1/1] Fix Clang warning about inconsistent use of C++11
+ override
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We cannot use override in the Q_OBJECT macro, so tell Clang not to warn
+about our lack of use of the keyword in the three virtuals that Q_OBJECT
+overrides when the user uses Q_DECL_OVERRIDE in their own functions.
+
+We can't use Q_DECL_OVERRIDE for two reasons:
+ 1) because that would trigger the warning in any and all virtual
+ overrides the user may have in their own class (and most of Qt)
+ 2) because when Q_OBJECT is used in QObject, it's not overriding
+ anything -- it's the base declaration
+
+For #2, we could add a different macro exclusively for QObject that moc
+would expand, but it's unnecessary work.
+
+Change-Id: Ic9cb7896f93f06f4e86b6a42dc08f96d257f7550
+Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
+Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
+---
+ src/corelib/kernel/qobjectdefs.h | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
+index a495bce7ec..84e7a65a54 100644
+--- a/src/corelib/kernel/qobjectdefs.h
++++ b/src/corelib/kernel/qobjectdefs.h
+@@ -138,15 +138,24 @@ inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {}
+ # define Q_DECL_HIDDEN_STATIC_METACALL Q_DECL_HIDDEN
+ #endif
+
++#if defined(Q_CC_CLANG) && Q_CC_CLANG >= 306
++# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override")
++#else
++# define Q_OBJECT_NO_OVERRIDE_WARNING
++#endif
++
+ /* qmake ignore Q_OBJECT */
+ #define Q_OBJECT \
+ public: \
+ Q_OBJECT_CHECK \
++ QT_WARNING_PUSH \
++ Q_OBJECT_NO_OVERRIDE_WARNING \
+ static const QMetaObject staticMetaObject; \
+ virtual const QMetaObject *metaObject() const; \
+ virtual void *qt_metacast(const char *); \
+- QT_TR_FUNCTIONS \
+ virtual int qt_metacall(QMetaObject::Call, int, void **); \
++ QT_WARNING_POP \
++ QT_TR_FUNCTIONS \
+ private: \
+ Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); \
+ struct QPrivateSignal {};
+--
+2.11.0
+
diff --git a/Tools/qt/patches/qtbase-5.4-fix-gcc-Wsuggest-override-warning-on-Q_OBJECT.patch b/Tools/qt/patches/qtbase-5.4-fix-gcc-Wsuggest-override-warning-on-Q_OBJECT.patch
new file mode 100644
index 000000000..f56cd3842
--- /dev/null
+++ b/Tools/qt/patches/qtbase-5.4-fix-gcc-Wsuggest-override-warning-on-Q_OBJECT.patch
@@ -0,0 +1,30 @@
+From 4790ccfa7a7dcdaf5b1c3c3f71bd333a6d754fba Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Wed, 27 Jul 2016 22:57:51 +0200
+Subject: [PATCH 1/1] Fix gcc -Wsuggest-override warning on Q_OBJECT
+
+Same reasoning as commit 3092bd5 (which was for Clang), but for gcc >= 5.1.
+
+Change-Id: I123b17670c1a64876b01fd39fb11648fa4e8b1fd
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
+---
+ src/corelib/kernel/qobjectdefs.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
+index 8d32795af2..0a4492dcda 100644
+--- a/src/corelib/kernel/qobjectdefs.h
++++ b/src/corelib/kernel/qobjectdefs.h
+@@ -173,6 +173,8 @@ inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {}
+
+ #if defined(Q_CC_CLANG) && Q_CC_CLANG >= 306
+ # define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override")
++#elif defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && Q_CC_GNU >= 510
++# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_GCC("-Wsuggest-override")
+ #else
+ # define Q_OBJECT_NO_OVERRIDE_WARNING
+ #endif
+--
+2.11.0
+