diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2017-04-06 10:05:55 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-04-07 18:17:58 +0000 |
commit | 928cd15d3d3ab82734f49eb9d694faf59c3a0c6d (patch) | |
tree | b4ccd30048fc23f59c8f156d6a0d1060b7121f16 /Tools | |
parent | be770ca621f6463339b7d15be088e1b9acd851e5 (diff) |
Import WebKit commit 342c7c7c069db3ca1d09ae6c5f7d600f9b241778
Change-Id: I8886595114569f61168aed76b23ad7288c5cb34c
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools')
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 + |