summaryrefslogtreecommitdiffstats
path: root/src/buildtools
Commit message (Collapse)AuthorAgeFilesLines
* Fix the build with -no-guiLiang Qi2020-01-031-0/+1
| | | | | | Task-number: QTBUG-74602 Change-Id: I8ba358e03472e58c40363fede56e87dfd665ae83 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* Enable Windows sandboxAllan Sandfeld Jensen2019-12-191-1/+2
| | | | | | | | | | | | | | | | | Enable sandboxing on Windows. Enable heterogeneous sandbox symbol resolution and statically link the sandboxing code into the helper process. This means we have two copies of the sandboxing code, one statically linked in the executable and one in the shared library. Since they are not exported they don't conflict, but we need to take to initialize the right version in the helper process binary, and pass its sandbox interface to shared library using it. For sandbox debug output, we also need to initialize the second copy of the commandlineparser and logging system. Fixes: QTBUG-51170 Change-Id: I8f503c8d6b40674465f32772ef906817dad2b449 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Fix typo of gn parameter for clang-clYuhang Zhao2019-12-151-1/+1
| | | | | | | | | When I try to compile Qt WebEngine through clang-cl + lld-link, gn complaints about the unknown parameter "use_ldd" and suggest to use "use_lld" instead. Change-Id: Id996699616db4eb0c67feaa29749a070465fc44c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Re-enable X11 WebRTC support for desktop sharingAllan Sandfeld Jensen2019-11-221-0/+1
| | | | | | | | | With corresponding fixes in chromium, we should now again be able to support WebRTC desktop sharing with X11. Fixes: QTBUG-80055 Change-Id: If1ce50fe8e83d2c5086c6735d205bc4ca424746d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge branch '5.13' into 5.14Allan Sandfeld Jensen2019-10-301-1/+1
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
* | Update minimum requirement for ICU version to 64Kirill Burtsev2019-10-231-2/+2
| | | | | | | | | | | | | | Set it according to V8_MINIMUM_ICU_VERSION define. Change-Id: If41bb7067570bfc825a214f92883bd0e0caca681 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Leave DCHECKs on when configured with -force-assertsJüri Valdmann2019-10-211-0/+2
| | | | | | | | | | Change-Id: I92d84285f7b5dcfe4178b2ed393f192c161c57c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-112-2/+9
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-09-241-3/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/glibc/glibc.cpp src/3rdparty src/core/configure.json src/core/profile_io_data_qt.cpp src/webengine/configure.json src/webenginewidgets/api/qwebenginepage.cpp tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I3e1781048c3cb09bfbf7427dfc5dd1fec11a2b97
* | Make error messages great againv5.14.0-alpha1Michal Klocek2019-09-191-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | A configure system now knows all the possible errors when configuring webengine. Unfortunately topLevel build does not split messages per module, therefore make sure messages mention QtWebEngine. Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: Ibadcd4bbc6a7b2199e4cefb3285419591b4338fe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Clean up platform testsMichal Klocek2019-09-193-275/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | Make it a private feature so test is not run twice. The better solution would be to split the platform test into separate tests in configure, but it looks like a lot of boring typing and would result in bunch on private features. Instead run test only on configure step and in case of fail just export the error, so it is reported during configure and make calls. Change-Id: Ice1188631a53fe739569de3e303533b18342941a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Clean up architecture support testMichal Klocek2019-09-192-14/+9
| | | | | | | | | | | | | | Make it a private feature so test is not run twice. Change-Id: I1dcea41edf5dbc6992e76991d92278a5a5c13e55 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | FIXUP: Fix top level build againMichal Klocek2019-09-192-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | When we are doing top level build QTWEBENGINE_ROOT/QTWEBENGINE_ROOT_OUT is not present at configure step, therefore add two ways of calling checkError, one for configure time and one for make call. Fix typo in submodule's condition. Add a poor man's workaround for this test. Change-Id: Ie95ab9ffe262a45c7e1ea49e4795d142b7df716a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Unify error reporting for configureMichal Klocek2019-09-192-48/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move last two tests (submodule and nowhitespace) to configure system and unify error reporting. Now all error messages come from one single place qtwebengine_checkErrors(). This function is used by configure system reporting and by make call. Remove duplicated strings. Add extra messages when module is not going to be built. Change-Id: Ib373facd58135325495aad52b6e600ec9a61f31f Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | FIXUP: Fix platforms check for topLevel buildMichal Klocek2019-09-192-2/+166
| | | | | | | | | | | | | | | | | | | | | | | | In case of a top level build configure.pri is not able to load platform.prf. Move platform.prf to platfrom.pri and use include instead. Fix not loaded qconfig.pri with gcc versions. Make sure there is no function name collision. Change-Id: I2c9994197dc56371fd7ef215ab350aebb89ff701 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Add pkg-config as a build requirementMichal Klocek2019-09-191-5/+14
| | | | | | | | | | | | | | | | | | | | In case pkg-config is not installed we got bogus warnings about missing qpa-xcb packages. Issue found on fresh ubuntu 19.04. Change-Id: I983c6de88060ed3d8dee15bb80f39b173fc81f65 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Rename option webengine-core to build-qtwebengine-coreMichal Klocek2019-09-191-4/+4
| | | | | | | | | | | | | | | | This change is extracted from qtpdf branch to keep following commits unchanged. Change-Id: I255976d45213d4cfe84243cae0b4eddb8eb1747a Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Move developer build option to toolsMichal Klocek2019-09-191-1/+8
| | | | | | | | | | Change-Id: Iffac4541f5675b0f048080f012b7b81b18885308 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Add visual studio check as build requirementMichal Klocek2019-09-171-2/+8
| | | | | | | | | | | | | | Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: Ic1d6125a1a6685a74dbad2f6c3b16efce120e180 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add platform and architecture to configureMichal Klocek2019-09-171-1/+21
| | | | | | | | | | | | | | | | | | | | Make configure system aware of platform and architecture checks. Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: I8d2c9dd863ee2c4a3015ad8147f43dc788cfd72d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Lower requirement for glibc to 2.17Allan Sandfeld Jensen2019-09-091-3/+3
| | | | | | | | | | | | | | | | | | This was not correctly merged from 5.13 due to the check moving to another file. Task-number: QTBUG-77171 Change-Id: I4388ea9a58509c93574d7953eebb09a62b5ffd63 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Move gn configs out of coreMichal Klocek2019-09-075-0/+478
| | | | | | | | | | Change-Id: Ib047e35191faa627211c759bff4e81bfaec3d685 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Move main configure and move some tests from core to buildtoolsMichal Klocek2019-09-073-4/+720
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Processing configuration for gn when building qpdfcore module will require optional libraries resolved. Some libs are not needed, but this requires extra patching of gn build configs; so to keep things simple, just detect all the libs beforehand. Unfortunately using this for main configure goes bonkers. The issue here is that main configure resets features in global scope, which can break features coming from qtbase and results in bogus configurations in certain cases. Therefore move current configuration to buildtools and make everything else depend on this. Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: Id87f5ba017541a2d5a2836510c6cabc5a19f92c6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add webengine-core featureMichal Klocek2019-09-072-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | Create/split main configure for submodules. Now configure system knows when webenginecore module is not going to be built and the user gets the feedback after the configure step with the message: The following modules are not being compiled in this configuration: webenginecore webengine webenginewidgets If a module is not built also features are not populated, therefore some tests have to be moved to main configuration. This improves error reporting and prepares landing for QtPdf modules. Remove configure.prf and fix issues after config split. Add makefile call to report errors. Now calling make also reports issues. Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: I76944df4c5db6f4954c464e3741a8054cb10b40e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support clang_cl builds on WindowsAllan Jensen2019-05-021-3/+7
| | | | | Change-Id: I1f3e8fc378cfceda92ff17fcc7669c0f5d97c3f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Pass the path to the macOS SDK used by Qt to the gn build scriptMichael Brüning2019-03-011-0/+3
| | | | | | | | | | | | Uses the value in QMAKE_MAC_SDK_PATH that Qt also uses as an isysroot parameter. Updates Chromium: 3fe203d43c Soften check for single thread only if layer1 or layer2 sandbox 0aae24c287 Add isysroot parameter for macOS to build gn with the right toolchain Change-Id: I0315a054e066ec5743235347d7e96ac8b2c05c3b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Do not pass ar to gn, update ChromiumMichal Klocek2019-02-211-1/+1
| | | | | | | | | | | | | | | | qmake does not have cross specs archiver definition, so do not pass it. Updates Chromium: 29a45e8b7f Fix not working ar on windows c2a58ec0a9 Fix builds with no xrandr 76b0b85ab0 Disable download and print buttons in PDF viewer fa79a21c87 Fix extensions build for Windows on 71-based 6c56c89f1a Bypass CHECK for uninitialized resources when destroying plugin host Change-Id: I45eb7ab7fb3d9e8d9346559fdd7607bbac83675b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use qmake toolchain for gnMichal Klocek2019-02-181-1/+4
| | | | | | | | | | | | | | | Pass cc,cxx,ld,ar to gn, so it can be also build with clang for example. Updates Chormium: * bb8520a5 Fix build with sanitizer and icecc * be3cf3ab Add command line parameters for cc,cxx,ld,ar in gn * 7056415f Fixup build with older system ICU * 2b94bfe4 BASELINE: Update Chromium to 71.0.3578.140 Change-Id: I4c1653cc9f21c72571ebe3d60eca4a444cd106d9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adapt to new GN submoduleAllan Sandfeld Jensen2018-09-221-12/+8
| | | | | | Change-Id: I3980634a1029479ab944b2e03f12a02d0c77d0c1 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fine tune configure and clean up header includesMichal Klocek2018-06-122-5/+4
| | | | | | | | | | | | | | | | | | | | | | Previously configure was generating two config headers qtwebengine-config.h and qtwebengine-config_p.h, however those headers were never installed or included as dependency in Makefiles. Moreover, due to the name clash all features were included into qt_lib_webengine_*.pri which is QtWebEngine QML module. Move configure to core so all features belong now to qt_lib_webenginecore*.pri. Fix global includes to include qtwebenginecore-config*.h. Drop all DEFINES and use QT_CONFIG instead. Cleanup all evil looking includes in headers for webengine and webenginewidgets. Change-Id: Iddbc8bf4487d9a5f0c19a71a9569535083507756 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-181-7/+7
|\ | | | | | | Change-Id: I4aae316c9826d8ded09e673a01935dc07f13cd64
| * Fix qmake recursive callMichal Klocek2018-01-161-7/+7
| | | | | | | | | | | | | | | | | | Change order of parsing buildtools.pro to avoid missing toolchain generated files. Change-Id: I40456cbf38573903c119313d036e4c2aea039b16 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGSMichal Klocek2017-11-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | Add a way to add pass extra compilation flags when using host toolchain. This is currently used by yocto to get correct lookup path for native headers. Task-number: QTBUG-63140 Change-Id: Ic8f3e394840635b2a0a26acf593888e1f79439f6 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* | Add 'webengine' prefix to configure features, tests, libraries, etcAlexandru Croitor2017-11-122-3/+3
| | | | | | | | | | | | | | | | This is done to make sure there are no conflicts with features in other modules, because they all share a global namespace. Change-Id: I95b3b7fadd8ffc2979ee3aad2234ee543d57c7d8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Change spellchecker-related private features into public onesAlexandru Croitor2017-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | This is done because qtConfig(spellchecker) is present in an example .pro file, and thus "spellchecker" should be a public feature. Change-Id: Idff977b8d0835b049c4c19dc42c1475d2c55c323 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Cleanup skipBuild codeMichal Klocek2017-09-192-8/+5
| | | | | | | | | | | | | | | | | | Move all skipBuild related checks to runConfigure() in configure.prf. Remove some unused functions. Move platform checks to separate prf file. Change-Id: Ia45c837c91c341ed1fbc2e32fc098329da989920 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-0/+7
|/ | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix host architecture detectionAllan Sandfeld Jensen2017-06-221-4/+5
| | | | | | | | | | | | | | | Read the correct QT_ARCH and QT_TARGET_ARCH variables from QMAKE. This fixes cases where toolchain arch does not match host arch (e.g. x86 tools on x64). Also removes unnecessary WEBENGINE_ARCH variable, and a mismatch in GN mips names. Task-number: QTBUG-61528 Change-Id: I11b050977ce6203c10d1776a15eb32efa4693290 Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Improve distcleanAllan Sandfeld Jensen2017-05-081-0/+2
| | | | | | | | Remove our manually generated configuration files on make distclean. Task-number: QTBUG-60235 Change-Id: I8b851fa80e1c17ea6ede9efb6ba0d2f108026db8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Clean "system" calls to build&run gn and ninjaMichal Klocek2017-04-282-47/+35
| | | | | | | | | | There was a time when gn build was called during make step, however this was not working with recursive qmake calls. Clean up leftovers and fix path and warnings like "Conditional must expand to exactly one word." during builds. Change-Id: I8546520345a5f89ee829558fa0fd9183587848b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make python2 usage more robustJoerg Bornemann2017-04-272-2/+2
| | | | | | | | | | | | | | | | | | | | After configuring Qt there will be an error message if a suitable python version could not be found. Add python2 configure test that - first looks for python2 in PATH - then looks for python in PATH - checks the Python version - stores the result in QMAKE_PYTHON2 Use $$QMAKE_PYTHON2 everywhere where we call python. Pass $$QMAKE_PYTHON2 to gn for its exec_script feature. Task-number: QTBUG-60164 Change-Id: I33de1273cbd20a787b3c8889d35280784dbcd5ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Set gn use_gold based on qmake's use_gold_linkerAllan Sandfeld Jensen2017-04-102-0/+11
| | | | | | | | Avoids adding --use-ld=gold on the link command line when gold linker has been deselected in Qt. Change-Id: I2d34cd3043aa24dca1f5f1604c97d8beccb70093 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Create v8_snapshot gn toolchain from one pro fileAllan Sandfeld Jensen2017-03-252-14/+14
| | | | | | | | | | Merge the generation of the v8_snapshot toolchain back to being made in configure_host.pro. This is a lot cleaner and safer against errors, to make it work however we need to cache the target archicture so that it is still available with option(host_build) enabled. Change-Id: Iefed9c97528f8ce338e7a0d4fe5c6884fb4ef4bd Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove gyp handlingAllan Sandfeld Jensen2017-03-221-8/+4
| | | | | | | Remove now dead GYP related code. Change-Id: I7d5b8f28f8925e553211dc88acd571b605ffe80d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use matching bitwidth for x86 targetSamuli Piippo2017-03-211-1/+1
| | | | | | | | | Extends the matching bitwidth check for v8snaphost builds to include x86 targets as well. Task-number: QTBUG-59504 Change-Id: Ieea917b8a2ed92e157d4cdb4cc272c1bd7a5f74d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Build v8snapshot with host of matching bitwidthAllan Sandfeld Jensen2017-03-192-12/+16
| | | | | | | | | | | Use the separate GN toolchain for v8snapshot to match bitwidth of host and target for that tool. Task-number: QTBUG-59504 Change-Id: Ic01675a4d4daf4be0327c516195fe87ac16720f2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Support cross-builds and alternative compilers with GNAllan Sandfeld Jensen2017-03-014-0/+93
| | | | | | | | Adds GN versions of the gyp_configure targets, to create custom toolchains we can use to override compilers used by GN. Change-Id: Ic3a9cb7e83f845180396faff632f72f9c24f3365 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Refactor release and debug handlingMichal Klocek2017-02-063-0/+75
Fix release and debug builds. Refactor ninja and gn builds as a sub projects, these are only build as release. Call core_generator and gn_run separately for debug and release builds. Change-Id: I638023214cdc98a5101d190486452cc4a1229486 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>