diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-05-20 17:31:21 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-05-28 11:06:51 +0200 |
commit | 551a519c00f26fcafc5d3615d55b2fe205ffbbf3 (patch) | |
tree | e9f158ec8d2719c0ed7e6473134c4b7541265c61 | |
parent | f79694b899c425395146f85be02344ba50a2fd8b (diff) |
Split gn args for pdf and webengine
Currently we run gn with same sets of arguments for pdf
and webengine. Split those so we can make fine grain
configuration and drop some requirements.
Change-Id: I40890b5475dddadd0798ea091ca5e7143fd952b3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | mkspecs/features/functions.prf | 22 | ||||
-rw-r--r-- | src/buildtools/config/common.pri | 45 | ||||
-rw-r--r-- | src/buildtools/config/linux.pri | 46 | ||||
-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/windows.pri | 7 | ||||
-rw-r--r-- | src/core/config/common.pri | 44 | ||||
-rw-r--r-- | src/core/config/linux.pri | 51 | ||||
-rw-r--r-- | src/core/config/mac_osx.pri | 8 | ||||
-rw-r--r-- | src/core/config/windows.pri | 8 | ||||
-rw-r--r-- | src/core/gn_run.pro | 2 | ||||
-rw-r--r-- | src/pdf/config/common.pri | 38 | ||||
-rw-r--r-- | src/pdf/config/ios.pri (renamed from src/buildtools/config/ios.pri) | 0 | ||||
-rw-r--r-- | src/pdf/gn_run.pro | 4 |
14 files changed, 171 insertions, 146 deletions
diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf index db0b072a7..d3ceb4c5e 100644 --- a/mkspecs/features/functions.prf +++ b/mkspecs/features/functions.prf @@ -71,11 +71,29 @@ defineReplace(gnPath) { return($$out) } -defineReplace(gnArgs) { +defineReplace(gnWebEngineArgs) { + linux { + include($$QTWEBENGINE_ROOT/src/buildtools/config/linux.pri) + include($$QTWEBENGINE_ROOT/src/core/config/linux.pri) + } + macos { + include($$QTWEBENGINE_ROOT/src/buildtools/config/mac_osx.pri) + include($$QTWEBENGINE_ROOT/src/core/config/mac_osx.pri) + } + win32 { + include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri) + include($$QTWEBENGINE_ROOT/src/core/config/windows.pri) + } + isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.) + return($$gn_args) +} + +defineReplace(gnPdfArgs) { linux: include($$QTWEBENGINE_ROOT/src/buildtools/config/linux.pri) macos: include($$QTWEBENGINE_ROOT/src/buildtools/config/mac_osx.pri) - ios: include($$QTWEBENGINE_ROOT/src/buildtools/config/ios.pri) + ios: include($$QTWEBENGINE_ROOT/src/pdf/config/ios.pri) win32: include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri) + include($$QTWEBENGINE_ROOT/src/pdf/config/common.pri) isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.) return($$gn_args) } 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/linux.pri b/src/buildtools/config/linux.pri index 455a2e3c6..0438dc988 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri @@ -154,18 +154,6 @@ host_build { gn_args += host_pkg_config=\"$$PKG_CONFIG_HOST\" } - 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 - } - } - 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 - } - } qtConfig(webengine-system-jpeg) { gn_args += use_system_libjpeg=true } else { @@ -182,38 +170,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/windows.pri b/src/buildtools/config/windows.pri index a910e3e31..73f287bdc 100644 --- a/src/buildtools/config/windows.pri +++ b/src/buildtools/config/windows.pri @@ -93,10 +93,3 @@ msvc { } 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 -} diff --git a/src/core/config/common.pri b/src/core/config/common.pri new file mode 100644 index 000000000..12a46c5f8 --- /dev/null +++ b/src/core/config/common.pri @@ -0,0 +1,44 @@ + +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(webengine-pepper-plugins) { + gn_args += enable_plugins=true +} else { + gn_args += enable_plugins=false +} + +qtConfig(webengine-spellchecker) { + gn_args += enable_spellcheck=true +} else { + gn_args += enable_spellcheck=false +} + +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\" +} else { + gn_args += proprietary_codecs=false +} + +qtConfig(webengine-extensions) { + gn_args += enable_extensions=true +} else { + gn_args += enable_extensions=false +} + +qtConfig(webengine-kerberos) { + gn_args += use_kerberos=true +} else { + gn_args += use_kerberos=false +} diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri new file mode 100644 index 000000000..adde8c775 --- /dev/null +++ b/src/core/config/linux.pri @@ -0,0 +1,51 @@ +include(common.pri) + +!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(webengine-system-png) { + gn_args += use_system_libpng=true + qtConfig(webengine-printing-and-pdf): gn_args += pdfium_use_system_libpng=true + } + + qtConfig(webengine-pulseaudio) { + gn_args += use_pulseaudio=true + } else { + gn_args += use_pulseaudio=false + } + + 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) { + 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/core/config/mac_osx.pri b/src/core/config/mac_osx.pri new file mode 100644 index 000000000..9543daf90 --- /dev/null +++ b/src/core/config/mac_osx.pri @@ -0,0 +1,8 @@ +include(common.pri) + +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/core/config/windows.pri b/src/core/config/windows.pri new file mode 100644 index 000000000..9543daf90 --- /dev/null +++ b/src/core/config/windows.pri @@ -0,0 +1,8 @@ +include(common.pri) + +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/core/gn_run.pro b/src/core/gn_run.pro index f3d57dad1..3d6fda80e 100644 --- a/src/core/gn_run.pro +++ b/src/core/gn_run.pro @@ -29,7 +29,7 @@ build_pass|!debug_and_release { runninja.target = run_ninja - gn_args = $$gnArgs() + gn_args = $$gnWebEngineArgs() gn_args += "qtwebengine_target=\"$$system_path($$OUT_PWD/$$getConfigDir()):QtWebEngineCore\"" diff --git a/src/pdf/config/common.pri b/src/pdf/config/common.pri new file mode 100644 index 000000000..dd5bfa293 --- /dev/null +++ b/src/pdf/config/common.pri @@ -0,0 +1,38 @@ +include($$QTWEBENGINE_OUT_ROOT/src/pdf/qtpdf-config.pri) +QT_FOR_CONFIG += pdf-private + +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/ios.pri b/src/pdf/config/ios.pri index 5dc7faf9d..5dc7faf9d 100644 --- a/src/buildtools/config/ios.pri +++ b/src/pdf/config/ios.pri diff --git a/src/pdf/gn_run.pro b/src/pdf/gn_run.pro index 87070fd81..70ee582a9 100644 --- a/src/pdf/gn_run.pro +++ b/src/pdf/gn_run.pro @@ -29,9 +29,7 @@ build_pass|!debug_and_release { runninja.target = run_ninja # fixme: refine args - gn_args = $$gnArgs() - - include($$QTWEBENGINE_ROOT/src/buildtools/config/pdf.pri) + gn_args = $$gnPdfArgs() # fixme: qtwebengine_target gn_args += "qtwebengine_target=\"$$system_path($$OUT_PWD/$$getConfigDir()):QtPdf\"" |