summaryrefslogtreecommitdiffstats
path: root/src/buildtools
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-06-29 09:27:09 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-06-29 09:27:09 +0200
commitbdeb49e55617ce42fd7d93075badec5f147bedf8 (patch)
treedb1089078d3b15495d041c2ab3dddc9f81d30d44 /src/buildtools
parent4bdccc8abcd7ab3a80c0d84fd005452d5ffceb6b (diff)
parent1a26c0ace958c3604c8a751134429dd38168a1a1 (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.pri45
-rw-r--r--src/buildtools/config/ios.pri66
-rw-r--r--src/buildtools/config/linux.pri51
-rw-r--r--src/buildtools/config/mac_osx.pri6
-rw-r--r--src/buildtools/config/pdf.pri36
-rw-r--r--src/buildtools/config/support.pri217
-rw-r--r--src/buildtools/config/windows.pri11
-rw-r--r--src/buildtools/configure.json81
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",