diff --git a/configure.json b/configure.json index 5799dafa316bce95feaaa35b6677b3ea38e63524..fd89230b68d134c221ca2b49ac7d1005f5e5d215 100644 --- a/configure.json +++ b/configure.json @@ -9,6 +9,7 @@ "commandline": { "options": { "alsa": "boolean", + "embedded": "boolean", "pepper-plugins": "boolean", "printing-and-pdf": "boolean", "proprietary-codecs": "boolean", @@ -41,10 +42,21 @@ "gn": { "label": "system gn", "type": "detectGn" + }, + "embedded": { + "label": "embedded", + "type": "embedded" } }, "features": { + "embedded": { + "label": "Embedded build", + "condition": "config.unix", + "autoDetect": "tests.embedded", + "purpose": "Enables the embedded build configuration", + "output": [ "privateFeature" ] + }, "alsa": { "label": "ALSA", "condition": "config.unix && libs.alsa", @@ -58,14 +70,14 @@ }, "pepper-plugins": { "label": "Pepper Plugins", - "autoDetect": "!features.cross_compile", + "autoDetect": "!features.embedded", "purpose": "Enables use of Pepper Flash and Widevine plugins", "output": [ "privateFeature" ] }, "printing-and-pdf": { "label": "Printing and PDF", "condition": "module.printsupport && features.printer", - "autoDetect": "!features.cross_compile", + "autoDetect": "!features.embedded", "purpose": "Enables printing and output to PDF", "output": [ "privateFeature" ] }, @@ -97,6 +109,7 @@ { "section": "Qt WebEngine", "entries": [ + "embedded", "pepper-plugins", "printing-and-pdf", "proprietary-codecs", diff --git a/configure.pri b/configure.pri index b6693aecf1d3e020197b2f7ccf8ca3c25a0232e2..23f31686e8e88f61a2bf55acc4ac40707f5cf873 100644 --- a/configure.pri +++ b/configure.pri @@ -23,3 +23,12 @@ defineTest(qtConfTest_detectGn) { qtLog("Building own gn") return(false) } + +defineTest(qtConfTest_embedded) { + lessThan(QT_MINOR_VERSION, 9) { + cross_compile: return(true) + return(false) + } + $$qtConfEvaluate("features.cross_compile"): return(true) + return(false) +} diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro index c583845e9f0fa76448dcae29c248682c2d52d87b..fa8f73de4bea74400d0d8e5e3834be184e02bf80 100644 --- a/src/core/gyp_run.pro +++ b/src/core/gyp_run.pro @@ -9,7 +9,7 @@ isQtMinimum(5, 8) { TEMPLATE = aux -cross_compile { +contains(WEBENGINE_CONFIG, embedded_build) { GYP_ARGS = "-D qt_cross_compile=1" posix: GYP_ARGS += "-D os_posix=1" qnx: include(config/embedded_qnx.pri) diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index 759638877d02bc1ce4295394863af5e03ac9c2d4..c0eead57c070553a83f6311a114bae31b9e52c91 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -28,6 +28,11 @@ defineTest(runConfigure) { qtConfig(printing-and-pdf): WEBENGINE_CONFIG += use_printing use_pdf qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker + qtConfig(embedded): WEBENGINE_CONFIG += embedded_build + } else { + cross_compile: WEBENGINE_CONFIG += embedded_build + } + isQtMinimum(5, 9) { qtConfig(appstore-compliant): WEBENGINE_CONFIG += use_appstore_compliant_code } @@ -36,14 +41,14 @@ defineTest(runConfigure) { !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") REQUIRED_PACKAGES = dbus-1 fontconfig - !cross_compile: qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst + !contains(WEBENGINE_CONFIG, embedded_build): qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst qtConfig(pulseaudio): REQUIRED_PACKAGES += libpulse qtConfig(system-png): REQUIRED_PACKAGES += libpng qtConfig(system-harfbuzz) { packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz else: log("System harfbuzz is too old (min. version 1.2). Using Chromium's copy.$${EOL}") } - !cross_compile: REQUIRED_PACKAGES += libpci + !contains(WEBENGINE_CONFIG, embedded_build): REQUIRED_PACKAGES += libpci for(package, $$list($$REQUIRED_PACKAGES)) { !packagesExist($$package):skipBuild("Unmet dependency: $$package") @@ -84,7 +89,7 @@ defineTest(runConfigure) { WEBENGINE_CONFIG += use_bundled_snappy } - !cross_compile { + !contains(WEBENGINE_CONFIG, embedded_build) { packagesExist(nss): WEBENGINE_CONFIG += use_nss else: log("System NSS not found, BoringSSL will be used.$${EOL}") }