summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-05-20 17:31:21 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-05-28 11:06:51 +0200
commit551a519c00f26fcafc5d3615d55b2fe205ffbbf3 (patch)
treee9f158ec8d2719c0ed7e6473134c4b7541265c61
parentf79694b899c425395146f85be02344ba50a2fd8b (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.prf22
-rw-r--r--src/buildtools/config/common.pri45
-rw-r--r--src/buildtools/config/linux.pri46
-rw-r--r--src/buildtools/config/mac_osx.pri6
-rw-r--r--src/buildtools/config/pdf.pri36
-rw-r--r--src/buildtools/config/windows.pri7
-rw-r--r--src/core/config/common.pri44
-rw-r--r--src/core/config/linux.pri51
-rw-r--r--src/core/config/mac_osx.pri8
-rw-r--r--src/core/config/windows.pri8
-rw-r--r--src/core/gn_run.pro2
-rw-r--r--src/pdf/config/common.pri38
-rw-r--r--src/pdf/config/ios.pri (renamed from src/buildtools/config/ios.pri)0
-rw-r--r--src/pdf/gn_run.pro4
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\""