summaryrefslogtreecommitdiffstats
path: root/configure.json
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2019-08-14 12:05:50 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-09-07 19:53:17 +0000
commit8684373c08a774a7ed23682a358de991b8775ddd (patch)
tree2ac9cd772a77e949b629f11447ed8b332ddf3417 /configure.json
parentf7032b40a28f844e4a94633bbc077b1953ef0ed4 (diff)
Move main configure and move some tests from core to buildtools
Processing configuration for gn when building qpdfcore module will require optional libraries resolved. Some libs are not needed, but this requires extra patching of gn build configs; so to keep things simple, just detect all the libs beforehand. Unfortunately using this for main configure goes bonkers. The issue here is that main configure resets features in global scope, which can break features coming from qtbase and results in bogus configurations in certain cases. Therefore move current configuration to buildtools and make everything else depend on this. Task-number: QTBUG-75840 Task-number: QTBUG-76606 Change-Id: Id87f5ba017541a2d5a2836510c6cabc5a19f92c6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'configure.json')
-rw-r--r--configure.json347
1 files changed, 1 insertions, 346 deletions
diff --git a/configure.json b/configure.json
index 4b9288bbb..8caad24f0 100644
--- a/configure.json
+++ b/configure.json
@@ -1,353 +1,8 @@
{
- "files": {
- "privatePro": "src/qtwebengine-main-config.pri"
- },
-
"subconfigs": [
+ "src/buildtools",
"src/core",
"src/webengine",
"src/webenginewidgets"
- ],
- "commandline": {
- "options": {
- "webengine-core": "boolean",
- "webengine-jumbo-build": { "type": "optionalString", "name": "merge_limit"}
- }
- },
- "libraries": {
- "webengine-dbus": {
- "label": "d-bus",
- "sources": [
- { "type": "pkgConfig", "args": "dbus-1" }
- ]
- },
- "webengine-fontconfig": {
- "label": "fontconfig",
- "sources": [
- { "type": "pkgConfig", "args": "fontconfig" }
- ]
- },
- "webengine-libdrm": {
- "label": "libdrm",
- "sources": [
- { "type": "pkgConfig", "args": "libdrm" }
- ]
- },
- "webengine-xcomposite": {
- "label": "xcomposite",
- "sources": [
- { "type": "pkgConfig", "args": "xcomposite" }
- ]
- },
- "webengine-xcursor": {
- "label": "xcursor",
- "sources": [
- { "type": "pkgConfig", "args": "xcursor" }
- ]
- },
- "webengine-xi": {
- "label": "xi",
- "sources": [
- { "type": "pkgConfig", "args": "xi" }
- ]
- },
- "webengine-xtst": {
- "label": "xtst",
- "sources": [
- { "type": "pkgConfig", "args": "xtst" }
- ]
- },
- "webengine-nss": {
- "label": "nss >= 3.26",
- "sources": [
- { "type": "pkgConfig", "args": "nss >= 3.26" }
- ]
- },
- "webengine-x11" : {
- "label" : "x11",
- "sources": [
- { "type": "pkgConfig", "args": "x11" }
- ]
- }
- },
-
- "testDir": "config.tests",
- "tests" : {
- "webengine-bison": {
- "label": "bison",
- "type": "detectBison"
- },
- "webengine-flex": {
- "label": "flex",
- "type": "detectFlex"
- },
- "webengine-gn": {
- "label": "system gn",
- "type": "detectGn"
- },
- "webengine-glibc": {
- "label": "glibc > 2.26",
- "type": "compile",
- "test": {
- "include": "features.h",
- "tail": [
- "#if __GLIBC__ < 2 || __GLIBC_MINOR__ < 27",
- "#error glibc versions below 2.27 are not supported",
- "#endif"
- ]
- }
- },
- "webengine-gperf": {
- "label": "gperf",
- "type": "detectGperf"
- },
- "webengine-khr": {
- "label": "khr",
- "type": "compile",
- "test": {
- "include": "KHR/khrplatform.h",
- "qmake" : [
- "!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL",
- "!isEmpty(QMAKE_INCDIR_OPENGL): INCLUDEPATH += $$QMAKE_INCDIR_OPENGL"
- ]
- }
- },
- "webengine-ninja": {
- "label": "system ninja",
- "type": "detectNinja"
- },
- "webengine-python2": {
- "label": "python2",
- "type": "detectPython2",
- "log": "location"
- },
- "webengine-winversion": {
- "label": "winversion",
- "type": "compile",
- "test": {
- "head" : [
- "#if !defined(__clang__) && _MSC_FULL_VER < 191426428",
- "#error unsupported Visual Studio version",
- "#endif"
- ]
- }
- },
- "webengine-host-pkg-config": {
- "label": "host pkg-config",
- "type": "detectHostPkgConfig",
- "log": "path"
- },
- "webengine-xcb": {
- "label": "qtbase xcb",
- "type": "detectXcb"
- },
- "webengine-jumbo-build": {
- "label": "jumbo build merge limit",
- "type": "detectJumboBuild",
- "log": "merge_limit"
- }
- },
- "features": {
- "webengine-core": {
- "label": "Support Qt WebEngine Core",
- "purpose": "Provides WebEngine Core support.",
- "condition": "module.gui
- && features.webengine-python2
- && features.webengine-gperf
- && features.webengine-bison
- && features.webengine-flex
- && (!tests.webengine-xcb || features.webengine-ozone-x11)",
- "output": [ "privateFeature" ]
- },
- "webengine-python2": {
- "label": "python2",
- "condition": "tests.webengine-python2",
- "output": [
- "privateFeature",
- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" }
- ]
- },
- "webengine-gperf": {
- "label": "gperf",
- "condition": "tests.webengine-gperf",
- "output": [ "privateFeature" ]
- },
- "webengine-bison": {
- "label": "bison",
- "condition": "tests.webengine-bison",
- "output": [ "privateFeature" ]
- },
- "webengine-flex": {
- "label": "flex",
- "condition": "tests.webengine-flex",
- "output": [ "privateFeature" ]
- },
- "webengine-system-ninja": {
- "label": "Use System Ninja",
- "condition": "tests.webengine-ninja",
- "output": [ "privateFeature" ]
- },
- "webengine-system-fontconfig": {
- "label": "fontconfig",
- "condition": "libs.webengine-fontconfig",
- "output": [ "privateFeature" ]
- },
- "webengine-system-dbus": {
- "label": "dbus",
- "condition": "libs.webengine-dbus",
- "output": [ "privateFeature" ]
- },
- "webengine-system-libdrm": {
- "label": "libdrm",
- "condition": "libs.webengine-libdrm",
- "output": [ "privateFeature" ]
- },
- "webengine-system-xcomposite": {
- "label": "xcomposite",
- "condition": "libs.webengine-xcomposite",
- "output": [ "privateFeature" ]
- },
- "webengine-system-xcursor": {
- "label": "xcursor",
- "condition": "libs.webengine-xcursor",
- "output": [ "privateFeature" ]
- },
- "webengine-system-xi": {
- "label": "xi",
- "condition": "libs.webengine-xi",
- "output": [ "privateFeature" ]
- },
- "webengine-system-xtst": {
- "label": "xtst",
- "condition": "libs.webengine-xtst",
- "output": [ "privateFeature" ]
- },
- "webengine-system-gn": {
- "label": "Use System Gn",
- "autoDetect": "false",
- "condition": "tests.webengine-gn",
- "output": [ "privateFeature" ]
- },
- "webengine-system-khr" : {
- "label": "khr",
- "condition": "config.unix && tests.webengine-khr",
- "output": [ "privateFeature" ]
- },
- "webengine-system-nss": {
- "label": "nss",
- "condition": "config.unix && !config.darwin && libs.webengine-nss",
- "output": [ "privateFeature" ]
- },
- "webengine-system-glibc": {
- "label": "glibc",
- "condition": "config.linux && tests.webengine-glibc",
- "output": [ "privateFeature" ]
- },
- "webengine-system-x11" : {
- "label": "x11",
- "condition": "config.unix && libs.webengine-x11",
- "output": [ "privateFeature" ]
- },
- "webengine-host-pkg-config": {
- "label": "host-pkg-config",
- "condition": "config.unix && tests.webengine-host-pkg-config",
- "output": [
- "privateFeature",
- { "type": "varAssign", "name": "QMAKE_PKG_CONFIG_HOST", "value": "tests.webengine-host-pkg-config.path" }
- ]
- },
- "webengine-ozone-x11" : {
- "label": "Support qpa-xcb",
- "condition": "config.unix
- && tests.webengine-xcb
- && features.webengine-system-x11
- && features.webengine-system-libdrm
- && features.webengine-system-xcomposite
- && features.webengine-system-xcursor
- && features.webengine-system-xi
- && features.webengine-system-xtst",
- "output": [ "privateFeature" ]
- },
- "webengine-winversion" : {
- "label": "winversion",
- "condition": "config.win32 && tests.webengine-winversion",
- "output": [ "privateFeature" ]
- },
- "webengine-jumbo-build": {
- "label": "jumbo build merge batch",
- "condition": "tests.webengine-jumbo-build",
- "output": [
- "privateFeature",
- { "type": "varAssign", "name": "QMAKE_JUMBO_MERGE_LIMIT", "value": "tests.webengine-jumbo-build.merge_limit" }
- ]
- }
- },
- "report": [
- {
- "type": "warning",
- "condition": "!module.gui",
- "message": "QtWebEngine requires QtGui."
- },
- {
- "type": "warning",
- "condition": "!features.webengine-python2",
- "message": "Python version 2 (2.7.5 or later) is required to build QtWebEngine."
- },
- {
- "type": "warning",
- "condition": "!features.webengine-gperf",
- "message": "gperf is required to build QtWebEngine."
- },
- {
- "type": "warning",
- "condition": "!features.webengine-bison",
- "message": "bison is required to build QtWebEngine."
- },
- {
- "type": "warning",
- "condition": "!features.webengine-flex",
- "message": "flex is required to build QtWebEngine."
- },
- {
- "type": "warning",
- "condition": "config.linux && !features.webengine-ozone-x11 && tests.webengine-xcb",
- "message": "Could not find all necessary libraries for qpa-xcb support."
- }
- ],
- "summary": [
- {
- "section": "Build Tools",
- "entries": [
- "webengine-system-ninja",
- "webengine-system-gn",
- {
- "message": "Jumbo Build Merge Limit",
- "type": "jumboBuild"
- }
- ]
- },
- {
- "section": "Required system libraries",
- "condition": "config.unix && !config.macos && features.webengine-core",
- "entries": [
- "webengine-system-fontconfig",
- "webengine-system-dbus",
- "webengine-system-nss",
- "webengine-system-khr",
- "webengine-system-glibc"
- ]
- },
- {
- "section": "Required system libraries for qpa-xcb",
- "condition": "config.unix && !config.macos && features.webengine-core",
- "entries": [
- "webengine-system-x11",
- "webengine-system-libdrm",
- "webengine-system-xcomposite",
- "webengine-system-xcursor",
- "webengine-system-xi",
- "webengine-system-xtst"
- ]
- }
]
}