diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-11 16:49:15 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-17 15:22:28 +0100 |
commit | 1f7c5244e3adeccf42f0583358f0787498f2661b (patch) | |
tree | 4b8a03628682f3d6bd847c09d8cf415dce7c6c48 /src/buildtools | |
parent | 8412b9b3442345b17fe6618a56ed9ed08dfb7417 (diff) | |
parent | 6025803547477884fe1d027b7cb54a70429337c6 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Blacklists tst_Accessibility::focusChild() for now.
Conflicts:
src/core/api/core_api.pro
src/core/net/plugin_response_interceptor_url_loader_throttle.h
src/process/process.pro
Change-Id: I95821a3851120dc16673f4c760e802952eae5c41
Diffstat (limited to 'src/buildtools')
-rw-r--r-- | src/buildtools/config/common.pri | 37 | ||||
-rw-r--r-- | src/buildtools/config/ios.pri | 66 | ||||
-rw-r--r-- | src/buildtools/config/linux.pri | 23 | ||||
-rw-r--r-- | src/buildtools/config/mac_osx.pri | 2 | ||||
-rw-r--r-- | src/buildtools/config/pdf.pri | 36 | ||||
-rw-r--r-- | src/buildtools/config/support.pri | 26 | ||||
-rw-r--r-- | src/buildtools/config/windows.pri | 7 | ||||
-rw-r--r-- | src/buildtools/configure.json | 40 |
8 files changed, 192 insertions, 45 deletions
diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri index 97d39535c..f2b4a854e 100644 --- a/src/buildtools/config/common.pri +++ b/src/buildtools/config/common.pri @@ -8,6 +8,8 @@ gn_args += \ closure_compile=false \ is_component_build=false \ is_shared=true \ + enable_debugallocation=false \ + enable_media_remoting=false \ enable_message_center=false \ enable_nacl=false \ enable_remoting=false \ @@ -18,15 +20,15 @@ gn_args += \ enable_web_speech=false \ enable_widevine=true \ has_native_accessibility=false \ - enable_debugallocation=false \ + optimize_webui=false \ + safe_browsing_mode=0 \ + strip_absolute_paths_from_debug_symbols=false \ + toolkit_views=false \ + treat_warnings_as_errors=false \ use_allocator_shim=false \ use_allocator=\"none\" \ use_custom_libcxx=false \ v8_use_external_startup_data=false \ - toolkit_views=false \ - treat_warnings_as_errors=false \ - safe_browsing_mode=0 \ - optimize_webui=false \ forbid_non_component_debug_builds=false greaterThan(QMAKE_JUMBO_MERGE_LIMIT,0) { @@ -39,7 +41,7 @@ greaterThan(QMAKE_JUMBO_MERGE_LIMIT,0) { gn_args += jumbo_build_excluded="[\"browser\"]" } -qtConfig(webengine-printing-and-pdf) { +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 { @@ -47,27 +49,31 @@ qtConfig(webengine-printing-and-pdf) { gn_args += enable_pdf=false } -qtConfig(webengine-pepper-plugins) { +qtConfig(build-qtwebengine-core):qtConfig(webengine-pepper-plugins) { gn_args += enable_plugins=true } else { gn_args += enable_plugins=false } -qtConfig(webengine-spellchecker) { +qtConfig(build-qtwebengine-core):qtConfig(webengine-spellchecker) { gn_args += enable_spellcheck=true } else { gn_args += enable_spellcheck=false } -qtConfig(webengine-webrtc) { +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(webengine-proprietary-codecs): gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\" +qtConfig(build-qtwebengine-core):qtConfig(webengine-proprietary-codecs) { + gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\" +} else { + gn_args += proprietary_codecs=false +} -qtConfig(webengine-extensions) { +qtConfig(build-qtwebengine-core):qtConfig(webengine-extensions) { gn_args += enable_extensions=true } else { gn_args += enable_extensions=false @@ -122,13 +128,7 @@ optimize_size: gn_args += optimize_for_size=true sanitize_undefined: gn_args += is_ubsan=true is_ubsan_vptr=true } -qtConfig(webengine-v8-snapshot):qtConfig(webengine-v8-snapshot-support) { - gn_args += v8_use_snapshot=true -} else { - gn_args += v8_use_snapshot=false -} - -qtConfig(webengine-kerberos) { +qtConfig(build-qtwebengine-core):qtConfig(webengine-kerberos) { gn_args += use_kerberos=true } else { gn_args += use_kerberos=false @@ -139,3 +139,4 @@ ccache { } qtConfig(force_asserts): gn_args += dcheck_always_on=true + diff --git a/src/buildtools/config/ios.pri b/src/buildtools/config/ios.pri new file mode 100644 index 000000000..5dc7faf9d --- /dev/null +++ b/src/buildtools/config/ios.pri @@ -0,0 +1,66 @@ +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 f3c4fc953..2aa345c21 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri @@ -5,7 +5,7 @@ defineReplace(extractCFlag) { return($$qtwebengine_extractCFlag($$1)) } -QT_FOR_CONFIG += gui-private webenginecore-private +QT_FOR_CONFIG += gui-private webenginecore-private pdf-private gn_args += \ use_cups=false \ @@ -17,8 +17,6 @@ gn_args += \ use_sysroot=false \ enable_session_service=false \ is_cfi=false \ - strip_absolute_paths_from_debug_symbols=false \ - toolkit_views=false \ use_ozone=true \ ozone_auto_platforms=false \ ozone_platform_headless=false \ @@ -26,7 +24,7 @@ gn_args += \ ozone_platform=\"qt\" \ ozone_extra_path=\"$$QTWEBENGINE_ROOT/src/core/ozone/ozone_extra.gni\" -qtConfig(webengine-embedded-build) { +qtConfig(build-qtwebengine-core):qtConfig(webengine-embedded-build) { gn_args += is_desktop_linux=false } @@ -92,7 +90,7 @@ contains(QT_ARCH, "arm") { } } - qtConfig(webengine-arm-thumb) { + qtConfig(build-qtwebengine-core):qtConfig(webengine-arm-thumb) { gn_args += arm_use_thumb=true # this adds -mthumb } else { gn_args += arm_use_thumb=false @@ -158,11 +156,15 @@ host_build { qtConfig(webengine-system-zlib) { qtConfig(webengine-system-minizip): gn_args += use_system_zlib=true use_system_minizip=true - qtConfig(webengine-printing-and-pdf): gn_args += pdfium_use_system_zlib=true + qtConfig(build-qtpdf) || qtConfig(webengine-printing-and-pdf) { + gn_args += pdfium_use_system_zlib=true + } } qtConfig(webengine-system-png) { gn_args += use_system_libpng=true - qtConfig(webengine-printing-and-pdf): gn_args += pdfium_use_system_libpng=true + qtConfig(build-qtpdf) || qtConfig(webengine-printing-and-pdf) { + gn_args += pdfium_use_system_libpng=true + } } qtConfig(webengine-system-jpeg) { gn_args += use_system_libjpeg=true @@ -180,21 +182,22 @@ host_build { gn_args += use_system_harfbuzz=false } gn_args += use_glib=false - qtConfig(webengine-pulseaudio) { + qtConfig(build-qtwebengine-core):qtConfig(webengine-pulseaudio) { gn_args += use_pulseaudio=true } else { gn_args += use_pulseaudio=false } - qtConfig(webengine-alsa) { + 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(webengine-ozone-x11) { + qtConfig(build-qtwebengine-core):qtConfig(webengine-ozone-x11) { gn_args += ozone_platform_x11=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 diff --git a/src/buildtools/config/mac_osx.pri b/src/buildtools/config/mac_osx.pri index 3f2fe9c0a..a7ed61214 100644 --- a/src/buildtools/config/mac_osx.pri +++ b/src/buildtools/config/mac_osx.pri @@ -31,7 +31,7 @@ gn_args += \ mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\" \ use_external_popup_menu=false -qtConfig(webengine-spellchecker) { +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 { diff --git a/src/buildtools/config/pdf.pri b/src/buildtools/config/pdf.pri new file mode 100644 index 000000000..4a1cf08e0 --- /dev/null +++ b/src/buildtools/config/pdf.pri @@ -0,0 +1,36 @@ +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 5bdd808d4..8077b12ff 100644 --- a/src/buildtools/config/support.pri +++ b/src/buildtools/config/support.pri @@ -6,11 +6,6 @@ defineTest(qtwebengine_skipBuild) { defineReplace(qtwebengine_checkError) { - static { - qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") - return(false) - } - !qtHaveModule(gui) { qtwebengine_skipBuild("QtWebEngine requires QtGui.") return(false) @@ -67,7 +62,8 @@ defineReplace(qtwebengine_checkError) { } linux:!qtwebengine_checkErrorForLinux():return(false) - win:!qtwebengine_checkErrorForWindows():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.") @@ -77,8 +73,20 @@ defineReplace(qtwebengine_checkError) { return(true) } +defineTest(qtwebengine_checkErrorFoMacOS) { + static { + qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") + return(false) + } +} + defineTest(qtwebengine_checkErrorForLinux) { + static { + qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") + return(false) + } + !qtConfig(pkg-config) { qtwebengine_skipBuild("A pkg-config support is required to build QtWebEngine.") return(false) @@ -114,6 +122,12 @@ defineTest(qtwebengine_checkErrorForLinux) { } defineTest(qtwebengine_checkErrorForWindows) { + + static { + qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.") + return(false) + } + !qtConfig(webengine-win-compiler64) { qtwebengine_skipBuild("64-bit cross-building or native toolchain required to build QtWebEngine could not be found.") return(false) diff --git a/src/buildtools/config/windows.pri b/src/buildtools/config/windows.pri index 1a3d3d580..2e5ebb876 100644 --- a/src/buildtools/config/windows.pri +++ b/src/buildtools/config/windows.pri @@ -6,7 +6,8 @@ gn_args += \ ninja_use_custom_environment_files=false \ is_multi_dll_chrome=false \ win_linker_timing=true \ - com_init_check_hook_disabled=true + com_init_check_hook_disabled=true \ + heterogeneous_executables=true clang_cl { clang_full_path = $$system_path($$which($${QMAKE_CXX})) @@ -15,7 +16,7 @@ clang_cl { clang_prefix = $$join(clang_dir,,,"\..") gn_args += \ is_clang=true \ - use_ldd=true \ + use_lld=true \ clang_use_chrome_plugins=false \ clang_base_path=\"$$system_path($$clean_path($$clang_prefix))\" } else { @@ -88,7 +89,7 @@ msvc { error("Qt WebEngine for Windows can only be built with a Microsoft Visual Studio C++ compatible compiler") } -qtConfig(webengine-spellchecker) { +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 { diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json index 72405bd48..dd82abff1 100644 --- a/src/buildtools/configure.json +++ b/src/buildtools/configure.json @@ -5,9 +5,11 @@ "gui-private", "printsupport" ], + "condition": "module.gui", "commandline": { "options": { "build-qtwebengine-core": "boolean", + "build-qtpdf": "boolean", "webengine-jumbo-build": { "type": "optionalString", "name": "merge_limit"} } }, @@ -262,10 +264,11 @@ "main": [ "vpx_codec_cx_pkt pkt;", "pkt.data.frame.width[0] = 0u;", - "pkt.data.frame.height[0] = 0u;" + "pkt.data.frame.height[0] = 0u;", + "auto a = CONSTRAINED_FROM_ABOVE_DROP;" ] }, - "headers": "vpx/vpx_encoder.h", + "headers": [ "vpx/vpx_encoder.h", "vpx/vp8cx.h" ], "sources": [ { "type": "pkgConfig", "args": "vpx" }, "-lvpx" @@ -386,6 +389,23 @@ && !config.static && (!config.linux || features.pkg-config) && (!features.xcb || features.webengine-ozone-x11) + && (!config.win32 || features.webengine-winversion) + && !config.ios", + "output": [ "privateFeature" ] + }, + "webengine-qtpdf-support": { + "label": "Support Qt Pdf", + "condition": "module.gui + && features.webengine-python2 + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex + && features.webengine-submodule + && features.webengine-nowhitespace + && features.webengine-arch-support + && !features.webengine-no-platform-support + && (!config.static || config.ios) + && (!config.linux || features.pkg-config) && (!config.win32 || features.webengine-winversion)", "output": [ "privateFeature" ] }, @@ -684,7 +704,8 @@ "report": [ { "type": "skipBuildWarning", - "condition": "!features.webengine-core-support && (features.build-qtwebengine-core || features.build-qtpdf)", + "condition": "(!features.webengine-core-support && features.build-qtwebengine-core) || + (!features.webengine-qtpdf-support && features.build-qtpdf)", "message": "qtwebengine_confCheckError" }, { @@ -694,7 +715,7 @@ }, { "type": "note", - "condition": "features.webengine-core-support && !features.build-qtpdf", + "condition": "features.webengine-qtpdf-support && !features.build-qtpdf", "message": "QtPdf build is disabled by user." }, { @@ -704,8 +725,13 @@ }, { "type": "warning", - "condition": "!features.webengine-core-support && features.build-qtpdf", + "condition": "!features.webengine-qtpdf-support && features.build-qtpdf", "message": "QtPdf will not be built." + }, + { + "type": "warning", + "condition": "config.ios && config.simulator && config.device && features.build-qtpdf", + "message": "Building fat libray with device and simulator architectures will disable NEON." } ], "summary": [ @@ -714,14 +740,14 @@ "entries": [ "webengine-system-ninja", "webengine-system-gn", - { + { "message": "Jumbo Build Merge Limit", "type": "jumboBuild" }, "webengine-developer-build", { "section": "QtWebEngine required system libraries", - "condition": "config.unix && !config.macos", + "condition": "config.unix && !config.macos && !config.ios", "entries": [ "webengine-system-fontconfig", "webengine-system-dbus", |