diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-06-29 09:27:09 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-06-29 09:27:09 +0200 |
commit | bdeb49e55617ce42fd7d93075badec5f147bedf8 (patch) | |
tree | db1089078d3b15495d041c2ab3dddc9f81d30d44 /src/buildtools | |
parent | 4bdccc8abcd7ab3a80c0d84fd005452d5ffceb6b (diff) | |
parent | 1a26c0ace958c3604c8a751134429dd38168a1a1 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/src.pro
Change-Id: I03c260ba676296f93d8137e79b46f3978f5f41ef
Diffstat (limited to 'src/buildtools')
-rw-r--r-- | src/buildtools/config/common.pri | 45 | ||||
-rw-r--r-- | src/buildtools/config/ios.pri | 66 | ||||
-rw-r--r-- | src/buildtools/config/linux.pri | 51 | ||||
-rw-r--r-- | src/buildtools/config/mac_osx.pri | 6 | ||||
-rw-r--r-- | src/buildtools/config/pdf.pri | 36 | ||||
-rw-r--r-- | src/buildtools/config/support.pri | 217 | ||||
-rw-r--r-- | src/buildtools/config/windows.pri | 11 | ||||
-rw-r--r-- | src/buildtools/configure.json | 81 |
8 files changed, 226 insertions, 287 deletions
diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri index 9824897f0..8aeeb3894 100644 --- a/src/buildtools/config/common.pri +++ b/src/buildtools/config/common.pri @@ -42,44 +42,6 @@ greaterThan(QMAKE_JUMBO_MERGE_LIMIT,0) { gn_args += jumbo_build_excluded="[\"browser\"]" } -qtConfig(build-qtwebengine-core):qtConfig(webengine-printing-and-pdf) { - gn_args += enable_basic_printing=true enable_print_preview=true - gn_args += enable_pdf=true -} else { - gn_args += enable_basic_printing=false enable_print_preview=false - gn_args += enable_pdf=false -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-pepper-plugins) { - gn_args += enable_plugins=true -} else { - gn_args += enable_plugins=false -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-spellchecker) { - gn_args += enable_spellcheck=true -} else { - gn_args += enable_spellcheck=false -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-webrtc) { - gn_args += enable_webrtc=true -} else { - gn_args += enable_webrtc=false audio_processing_in_audio_service_supported=false -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-proprietary-codecs) { - gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\" -} else { - gn_args += proprietary_codecs=false -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-extensions) { - gn_args += enable_extensions=true -} else { - gn_args += enable_extensions=false -} - precompile_header { gn_args += enable_precompiled_headers=true } else { @@ -129,15 +91,8 @@ optimize_size: gn_args += optimize_for_size=true sanitize_undefined: gn_args += is_ubsan=true is_ubsan_vptr=true } -qtConfig(build-qtwebengine-core):qtConfig(webengine-kerberos) { - gn_args += use_kerberos=true -} else { - gn_args += use_kerberos=false -} - ccache { gn_args += cc_wrapper=\"ccache\" } qtConfig(force_asserts): gn_args += dcheck_always_on=true - diff --git a/src/buildtools/config/ios.pri b/src/buildtools/config/ios.pri deleted file mode 100644 index 5dc7faf9d..000000000 --- a/src/buildtools/config/ios.pri +++ /dev/null @@ -1,66 +0,0 @@ -load(functions) - -include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri) -include($$QTWEBENGINE_OUT_ROOT/src/pdf/qtpdf-config.pri) -QT_FOR_CONFIG += buildtools-private pdf-private - -clang_dir = $$which($${QMAKE_CXX}) -clang_dir = $$clean_path("$$dirname(clang_dir)/../") - -gn_args += \ -use_qt=true \ -closure_compile=false \ -is_component_build=false \ -is_shared=true \ -is_debug=true \ -enable_message_center=false \ -enable_nacl=false \ -enable_remoting=false \ -enable_reporting=false \ -enable_resource_whitelist_generation=false \ -enable_swiftshader=false \ -enable_web_speech=false \ -has_native_accessibility=false \ -enable_debugallocation=false \ -use_allocator_shim=false \ -use_allocator=\"none\" \ -use_custom_libcxx=false \ -v8_use_external_startup_data=false \ -v8_use_snapshot=false \ -toolkit_views=false \ -treat_warnings_as_errors=false \ -safe_browsing_mode=0 \ -optimize_webui=false \ -forbid_non_component_debug_builds=false \ -clang_use_chrome_plugins=false \ -use_xcode_clang=true \ -clang_base_path=\"$${clang_dir}\" \ -ios_enable_code_signing=false \ -target_os=\"ios\" \ -ios_deployment_target=\"$${QMAKE_IOS_DEPLOYMENT_TARGET}\" \ -enable_ios_bitcode=true \ -use_jumbo_build=false - -device:simulator { - # we do fat libray - gn_args+= \ - target_cpu=\"$${QMAKE_APPLE_DEVICE_ARCHS}\" \ - use_qt_fat_lib=true \ - arm_use_neon=false\ - # note this adds one arch of simulator at the moment, see also additional_target_cpus - target_sysroot=\"$$xcodeSDKInfo(Path, $$device.sdk)\" \ - additional_target_sysroot=[\"$$xcodeSDKInfo(Path, $$simulator.sdk)\"] -} else { - simulator { - equals(QMAKE_APPLE_SIMULATOR_ARCHS,"x86_64") { - gn_args+=target_cpu=\"x64\" - } else { - gn_args+=target_cpu=\"$${QMAKE_APPLE_SIMULATOR_ARCHS}\" - } - gn_args+=target_sysroot=\"$$xcodeSDKInfo(Path, $$simulator.sdk)\" - } - device { - gn_args+=target_cpu=\"$${QMAKE_APPLE_DEVICE_ARCHS}\" - gn_args+=target_sysroot=\"$$xcodeSDKInfo(Path, $$device.sdk)\" - } -} diff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri index 455a2e3c6..56c18bdb5 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri @@ -24,10 +24,6 @@ gn_args += \ ozone_platform=\"qt\" \ ozone_extra_path=\"$$QTWEBENGINE_ROOT/src/core/ozone/ozone_extra.gni\" -qtConfig(build-qtwebengine-core):qtConfig(webengine-embedded-build) { - gn_args += is_desktop_linux=false -} - use_gold_linker: gn_args += use_gold=true else: gn_args += use_gold=false @@ -90,7 +86,7 @@ contains(QT_ARCH, "arm") { } } - qtConfig(build-qtwebengine-core):qtConfig(webengine-arm-thumb) { + qtConfig(webengine-arm-thumb) { gn_args += arm_use_thumb=true # this adds -mthumb } else { gn_args += arm_use_thumb=false @@ -156,16 +152,13 @@ host_build { qtConfig(webengine-system-zlib) { qtConfig(webengine-system-minizip): gn_args += use_system_zlib=true use_system_minizip=true - qtConfig(build-qtpdf) || qtConfig(webengine-printing-and-pdf) { - gn_args += pdfium_use_system_zlib=true - } + gn_args += pdfium_use_system_zlib=true } + qtConfig(webengine-system-png) { - gn_args += use_system_libpng=true - qtConfig(build-qtpdf) || qtConfig(webengine-printing-and-pdf) { - gn_args += pdfium_use_system_libpng=true - } + gn_args += use_system_libpng=true pdfium_use_system_libpng=true } + qtConfig(webengine-system-jpeg) { gn_args += use_system_libjpeg=true } else { @@ -182,38 +175,4 @@ host_build { gn_args += use_system_harfbuzz=false } gn_args += use_glib=false - qtConfig(build-qtwebengine-core):qtConfig(webengine-pulseaudio) { - gn_args += use_pulseaudio=true - } else { - gn_args += use_pulseaudio=false - } - qtConfig(build-qtwebengine-core):qtConfig(webengine-alsa) { - gn_args += use_alsa=true - } else { - gn_args += use_alsa=false - } - !packagesExist(libpci): gn_args += use_libpci=false - - qtConfig(build-qtwebengine-core):qtConfig(webengine-ozone-x11) { - gn_args += ozone_platform_x11=true - gn_args += use_xkbcommon=true - packagesExist(xscrnsaver): gn_args += use_xscrnsaver=true - qtConfig(webengine-webrtc): gn_args += rtc_use_x11=true - } - - qtConfig(webengine-system-libevent): gn_args += use_system_libevent=true - qtConfig(webengine-system-libwebp): gn_args += use_system_libwebp=true - qtConfig(webengine-system-libxml2): gn_args += use_system_libxml=true use_system_libxslt=true - qtConfig(webengine-system-opus): gn_args += use_system_opus=true - qtConfig(webengine-system-snappy): gn_args += use_system_snappy=true - qtConfig(webengine-system-libvpx): gn_args += use_system_libvpx=true - qtConfig(webengine-system-icu): gn_args += use_system_icu=true icu_use_data_file=false - qtConfig(webengine-system-ffmpeg): gn_args += use_system_ffmpeg=true - qtConfig(webengine-system-re2): gn_args += use_system_re2=true - qtConfig(webengine-system-lcms2): gn_args += use_system_lcms2=true - - # FIXME: - #qtConfig(webengine-system-protobuf): gn_args += use_system_protobuf=true - #qtConfig(webengine-system-jsoncpp): gn_args += use_system_jsoncpp=true - #qtConfig(webengine-system-libsrtp: gn_args += use_system_libsrtp=true } diff --git a/src/buildtools/config/mac_osx.pri b/src/buildtools/config/mac_osx.pri index 9373928de..b53f91706 100644 --- a/src/buildtools/config/mac_osx.pri +++ b/src/buildtools/config/mac_osx.pri @@ -36,9 +36,3 @@ gn_args += \ use_external_popup_menu=false \ angle_enable_vulkan=false -qtConfig(build-qtwebengine-core):qtConfig(webengine-spellchecker) { - qtConfig(webengine-native-spellchecker): gn_args += use_browser_spellchecker=true - else: gn_args += use_browser_spellchecker=false -} else { - gn_args += use_browser_spellchecker=false -} diff --git a/src/buildtools/config/pdf.pri b/src/buildtools/config/pdf.pri deleted file mode 100644 index 4a1cf08e0..000000000 --- a/src/buildtools/config/pdf.pri +++ /dev/null @@ -1,36 +0,0 @@ -include($$QTWEBENGINE_OUT_ROOT/src/pdf/qtpdf-config.pri) -QT_FOR_CONFIG += pdf-private - -qtConfig(build-qtpdf) { - qtConfig(pdf-v8) { - gn_args += pdf_enable_v8=true - } else { - gn_args += pdf_enable_v8=false - } - qtConfig(pdf-xfa) { - gn_args += pdf_enable_xfa=true - } else { - gn_args += pdf_enable_xfa=false - } - qtConfig(pdf-xfa-bmp) { - gn_args += pdf_enable_xfa_bmp=true - } else { - gn_args += pdf_enable_xfa_bmp=false - } - qtConfig(pdf-xfa-gif) { - gn_args += pdf_enable_xfa_gif=true - } else { - gn_args += pdf_enable_xfa_gif=false - } - qtConfig(pdf-xfa-png) { - gn_args += pdf_enable_xfa_png=true - } else { - gn_args += pdf_enable_xfa_png=false - } - qtConfig(pdf-xfa-tiff) { - gn_args += pdf_enable_xfa_tiff=true - } else { - gn_args += pdf_enable_xfa_tiff=false - } -} - diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri index 8077b12ff..80f291500 100644 --- a/src/buildtools/config/support.pri +++ b/src/buildtools/config/support.pri @@ -1,147 +1,250 @@ defineTest(qtwebengine_skipBuild) { - isEmpty(skipBuildReason): skipBuildReason = $$1 - else: skipBuildReason = "$$skipBuildReason $${EOL}$$1" + skipBuildReason = $$1 export(skipBuildReason) } -defineReplace(qtwebengine_checkError) { +# this should match webengine-core-support +defineReplace(qtwebengine_checkWebEngineCoreError) { + !qtwebengine_checkForBuildSupport(QtWebEngine):return(false) + static { + qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") + return(false) + } + !qtwebengine_checkForGui(QtWebEngine):return(false) + !qtwebengine_checkForSubmodule(QtWebEngine):return(false) + !qtwebengine_checkForWhiteSpace(QtWebEngine):return(false) + !qtwebengine_checkForPlatform(QtWebEngine):return(false) + !qtwebengine_checkForArch(QtWebEngine):return(false) + !qtwebengine_checkForGperf(QtWebEngine):return(false) + !qtwebengine_checkForBison(QtWebEngine):return(false) + !qtwebengine_checkForFlex(QtWebEngine):return(false) + !qtwebengine_checkForPython2(QtWebengine):return(false) + !qtwebengine_checkForSanitizer(QtWebEngine):return(false) + linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtWebEngine):return(false) + linux:!qtwebengine_checkForGlibc(QtWebEngine):return(false) + linux:!qtwebengine_checkForKhronos(QtWebEngine):return(false) + linux:!qtwebengine_checkForPackage(QtWebEngine,nss):return(false) + linux:!qtwebengine_checkForPackage(QtWebEngine,dbus):return(false) + linux:!qtwebengine_checkForPackage(QtWebEngine,fontconfig):return(false) + linux:!qtwebengine_checkForQpaXcb(QtWebEngine):return(false) + win32:!qtwebengine_checkForCompiler64(QtWebEngine):return(false) + win32:!qtwebengine_checkForWinVersion(QtWebEngine):return(false) + return(true) +} +# this shuold match webengine-qtpdf-support +defineReplace(qtwebengine_checkPdfError) { + !qtwebengine_checkForBuildSupport(QtPdf):return(false) + !qtwebengine_checkForGui(QtPdf):return(false) + !qtwebengine_checkForSubmodule(QtPdf):return(false) + !qtwebengine_checkForWhiteSpace(QtPdf):return(false) + !qtwebengine_checkForPlatform(QtPdf):return(false) + !qtwebengine_checkForArch(QtPdf):return(false) + !qtwebengine_checkForGperf(QtPdf):return(false) + !qtwebengine_checkForBison(QtPdf):return(false) + !qtwebengine_checkForFlex(QtPdf):return(false) + !qtwebengine_checkForPython2(QtPdf):return(false) + !qtwebengine_checkForSanitizer(QtPdf):return(false) + linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) + win32:!qtwebengine_checkForWinVersion(QtPdf):return(false) + return(true) +} + +defineTest(qtwebengine_checkForBuildSupport) { + module = $$1 + !linux:!win32:!macos { + qtwebengine_skipBuild("$${module} can be build only on Linux, Windows or macOS.") + return(false) + } + return(true) +} + +defineTest(qtwebengine_checkForGui) { + module = $$1 !qtHaveModule(gui) { - qtwebengine_skipBuild("QtWebEngine requires QtGui.") + qtwebengine_skipBuild("$${module} requires QtGui.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForSubmodule) { + module = $$1 !qtConfig(webengine-submodule) { - qtwebengine_skipBuild("QtWebEngine required submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'.") + qtwebengine_skipBuild("$${module} required submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForWhiteSpace) { + module = $$1 !qtConfig(webengine-nowhitespace) { - qtwebengine_skipBuild("QtWebEngine cannot be built in a path that contains whitespace characters.") + qtwebengine_skipBuild("$${module} cannot be built in a path that contains whitespace characters.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForPlatform) { + module = $$1 qtConfig(webengine-no-platform-support) { !isEmpty(platformError) { - qtwebengine_skipBuild($$platformError) + qtwebengine_skipBuild("$${module} $${platformError}") return(false) } !isEmpty(QTWEBENGINE_OUT_ROOT) { include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri) QT_FOR_CONFIG += buildtools-private - qtwebengine_skipBuild($$PLATFORM_ERROR) - return(false) + !isEmpty(PLATFORM_ERROR) { + qtwebengine_skipBuild("$${module} $${PLATFORM_ERROR}") + return(false) + } } - qtwebengine_skipBuild("QtWebEngine will not be built. Platform unsupported.") # re-run of configure when topLevel build + qtwebengine_skipBuild("$${module} will not be built. Platform unsupported.") return(false): } + return(true) +} +defineTest(qtwebengine_checkForArch) { + module = $$1 !qtConfig(webengine-arch-support) { - qtwebengine_skipBuild("QtWebEngine can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.") + qtwebengine_skipBuild("$${module} can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForGperf) { + module = $$1 !qtConfig(webengine-gperf) { - qtwebengine_skipBuild("Tool gperf is required to build QtWebEngine.") + qtwebengine_skipBuild("Tool gperf is required to build $${module}.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForBison) { + module = $$1 !qtConfig(webengine-bison) { - qtwebengine_skipBuild("Tool bison is required to build QtWebEngine.") + qtwebengine_skipBuild("Tool bison is required to build $${module}.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForFlex) { + module = $$1 !qtConfig(webengine-flex) { - qtwebengine_skipBuild("Tool flex is required to build QtWebEngine.") + qtwebengine_skipBuild("Tool flex is required to build $${module}.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForPython2) { + module = $$1 !qtConfig(webengine-python2) { - qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build QtWebEngine.") + qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.") return(false) } - - linux:!qtwebengine_checkErrorForLinux():return(false) - win32:!qtwebengine_checkErrorForWindows():return(false) - macos:!qtwebengine_checkErrorForMacOS():return(false) - - sanitizer: !qtConfig(webengine-sanitizer) { - qtwebengine_skipBuild("Chosen sanitizer configuration is not supported for QtWebEngine. Check config.log for details or use -feature-webengine-sanitizer to force build with the chosen sanitizer configuration.") - return(false); - } - return(true) } -defineTest(qtwebengine_checkErrorFoMacOS) { - static { - qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") - return(false) +defineTest(qtwebengine_checkForSanitizer) { + module = $$1 + sanitizer:!qtConfig(webengine-sanitizer) { + qtwebengine_skipBuild("Chosen sanitizer configuration is not supported for $${module}." \ + "Check config.log for details or use -feature-webengine-sanitizer to force build with the chosen sanitizer configuration.") + return(false); } + return(true) } -defineTest(qtwebengine_checkErrorForLinux) { - - static { - qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") - return(false) - } - +defineTest(qtwebengine_checkForPkgCfg) { + module = $$1 !qtConfig(pkg-config) { - qtwebengine_skipBuild("A pkg-config support is required to build QtWebEngine.") + qtwebengine_skipBuild("A pkg-config support is required to build $${module}.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForHostPkgCfg) { + module = $$1 !qtConfig(webengine-host-pkg-config) { - qtwebengine_skipBuild("Host pkg-config is required to build QtWebEngine.") + qtwebengine_skipBuild("Host pkg-config is required to build $${module}.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForGlibc) { + module = $$1 !qtConfig(webengine-system-glibc) { - qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build QtWebEngine could not be found.") + qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build $${module} could not be found.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForKhronos) { + module = $$1 !qtConfig(webengine-system-khr) { - qtwebengine_skipBuild("Khronos development headers required to build QtWebEngine are missing (see mesa/libegl1-mesa-dev)") + qtwebengine_skipBuild("Khronos development headers required to build $${module} are missing (see mesa/libegl1-mesa-dev)") return(false) } + return(true) +} - for(package, $$list("nss dbus fontconfig")) { - !qtConfig(webengine-system-$$package) { - qtwebengine_skipBuild("A suitable version of $$package required to build QtWebEngine could not be found.") - return(false) - } +defineTest(qtwebengine_checkForPackage) { + module = $$1 + package = $$2 + !qtConfig(webengine-system-$$package) { + qtwebengine_skipBuild("A suitable version of $$package required to build QtWebEngine could not be found.") + return(false) } + return(true) +} +defineTest(qtwebengine_checkForQpaXcb) { + module = $$1 qtConfig(pkg-config):qtConfig(xcb):!qtConfig(webengine-ozone-x11) { - qtwebengine_skipBuild("Could not find all necessary libraries for qpa-xcb support in QtWebEngine.") + qtwebengine_skipBuild("Could not find all necessary libraries for qpa-xcb support in $${module}.") return(false) } return(true) } -defineTest(qtwebengine_checkErrorForWindows) { - - static { - qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") - return(false) - } - +defineTest(qtwebengine_checkForCompiler64) { + module = $$1 !qtConfig(webengine-win-compiler64) { - qtwebengine_skipBuild("64-bit cross-building or native toolchain required to build QtWebEngine could not be found.") + qtwebengine_skipBuild("64-bit cross-building or native toolchain required to build $${module} could not be found.") return(false) } + return(true) +} +defineTest(qtwebengine_checkForWinVersion) { + module = $$1 !qtConfig(webengine-winversion) { - qtwebengine_skipBuild("QtWebEngine needs Visual Studio 2017 or higher.") + qtwebengine_skipBuild("$${module} requires Visual Studio 2017 or higher.") return(false) } return(true) } -defineTest(qtwebengine_makeCheckError) { +defineTest(qtwebengine_makeCheckWebEngineCoreError) { + include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri) + QT_FOR_CONFIG += buildtools-private gui-private + return($$qtwebengine_checkWebEngineCoreError()) +} + +defineTest(qtwebengine_makeCheckPdfError) { include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri) QT_FOR_CONFIG += buildtools-private gui-private - return($$qtwebengine_checkError()) + return($$qtwebengine_checkPdfError()) } diff --git a/src/buildtools/config/windows.pri b/src/buildtools/config/windows.pri index a910e3e31..c36534d19 100644 --- a/src/buildtools/config/windows.pri +++ b/src/buildtools/config/windows.pri @@ -78,7 +78,7 @@ msvc { } else: equals(MSVC_VER, 16.0) { MSVS_VERSION = 2019 } else { - error("Visual Studio compiler version \"$$MSVC_VER\" is not supported by Qt WebEngine") + error("Visual Studio compiler version \"$$MSVC_VER\" is not supported by gn.") } gn_args += visual_studio_version=$$MSVS_VERSION @@ -91,12 +91,5 @@ msvc { GN_TARGET_CPU = $$gnArch($$QT_ARCH) gn_args += target_cpu=\"$$GN_TARGET_CPU\" } else { - error("Qt WebEngine for Windows can only be built with a Microsoft Visual Studio C++ compatible compiler") -} - -qtConfig(build-qtwebengine-core):qtConfig(webengine-spellchecker) { - qtConfig(webengine-native-spellchecker): gn_args += use_browser_spellchecker=true - else: gn_args += use_browser_spellchecker=false -} else { - gn_args += use_browser_spellchecker=false + error("Microsoft Visual Studio C++ compatible compiler is required by gn.") } diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json index f02ab8070..772159add 100644 --- a/src/buildtools/configure.json +++ b/src/buildtools/configure.json @@ -345,40 +345,58 @@ "webengine-nowhitespace" : { "label": "build path without whitespace", "type": "detectNoWhitespace" + }, + "webengine-arm-thumb" : { + "label": "thumb instruction set", + "type": "hasThumbFlag" + }, + "webengine-sanitizer": { + "label" : "sanitizer support", + "type": "isSanitizerSupported" } }, "features": { "webengine-core-support": { "label": "Support Qt WebEngine Core", - "condition": "module.gui - && features.webengine-python2 - && features.webengine-gperf - && features.webengine-bison - && features.webengine-flex + "condition": "(config.linux || config.win32 || config.macos) + && !config.static + && module.gui && features.webengine-submodule && features.webengine-nowhitespace - && features.webengine-arch-support && !features.webengine-no-platform-support - && !config.static + && features.webengine-arch-support + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex + && features.webengine-python2 + && (!config.sanitizer || features.webengine-sanitizer) && (!config.linux || features.pkg-config) - && (!features.xcb || features.webengine-ozone-x11) - && (!config.win32 || features.webengine-winversion) - && !config.ios", + && (!config.linux || features.webengine-host-pkg-config) + && (!config.linux || features.webengine-system-glibc) + && (!config.linux || features.webengine-system-khr) + && (!config.linux || features.webengine-system-nss) + && (!config.linux || features.webengine-system-dbus) + && (!config.linux || features.webengine-system-fontconfig) + && (!config.linux || !features.pkg-config || !features.xcb || features.webengine-ozone-x11) + && (!config.win32 || features.webengine-win-compiler64) + && (!config.win32 || features.webengine-winversion)", "output": [ "privateFeature" ] }, "webengine-qtpdf-support": { "label": "Support Qt Pdf", - "condition": "module.gui - && features.webengine-python2 - && features.webengine-gperf - && features.webengine-bison - && features.webengine-flex + "condition": "(config.linux || config.win32 || config.macos) + && module.gui && features.webengine-submodule && features.webengine-nowhitespace - && features.webengine-arch-support && !features.webengine-no-platform-support - && (!config.static || config.ios) + && features.webengine-arch-support + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex + && features.webengine-python2 + && (!config.sanitizer || features.webengine-sanitizer) && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) && (!config.win32 || features.webengine-winversion)", "output": [ "privateFeature" ] }, @@ -499,7 +517,6 @@ ] }, "webengine-ozone-x11" : { - "label": "Support qpa-xcb", "condition": "config.unix && features.xcb && features.webengine-system-x11 @@ -647,14 +664,29 @@ "privateFeature", { "type": "varAssign", "name": "PLATFORM_ERROR", "value": "tests.webengine-platform-support.platformSupport" } ] + }, + "webengine-arm-thumb": { + "label": "Thumb instruction set", + "condition": "config.linux && arch.arm && tests.webengine-arm-thumb", + "output": [ "privateFeature" ] + }, + "webengine-sanitizer" : { + "label": "Sanitizer", + "autoDetect": "config.sanitizer && tests.webengine-sanitizer", + "condition": "config.sanitizer", + "output": [ "privateFeature" ] } }, "report": [ { "type": "skipBuildWarning", - "condition": "(!features.webengine-core-support && features.build-qtwebengine-core) || - (!features.webengine-qtpdf-support && features.build-qtpdf)", - "message": "qtwebengine_confCheckError" + "condition": "!features.webengine-core-support && features.build-qtwebengine-core", + "message": "qtwebengine_confCheckWebEngineCoreError" + }, + { + "type": "skipBuildWarning", + "condition": "!features.webengine-qtpdf-support && features.build-qtpdf", + "message": "qtwebengine_confCheckPdfError" }, { "type": "note", @@ -694,6 +726,11 @@ }, "webengine-developer-build", { + "type": "feature", + "args": "webengine-sanitizer", + "condition": "!config.sanitizer" + }, + { "section": "QtWebEngine required system libraries", "condition": "config.unix && !config.macos && !config.ios", "entries": [ @@ -715,7 +752,7 @@ "webengine-system-xi", "webengine-system-xtst" ] - }, + }, { "section": "Optional system libraries used", "condition": "config.unix", |