ed07bdcb5f
our binary packages come without many sql drivers, because they have proprietary dependencies we cannot ship. not every user wants to build all of qt from scratch, so it makes sense to make it possible to "enrich" the existing installation by compiling just the drivers. to enable this, the drivers' configuration must be independent. but note that it's still not possible to configure a single driver - the entire sqldrivers directory is configured at once. a side effect of this is that the availability of the sql plugins cannot be made known with publicFeatures any more, because there is no associated module pri file to put that information into. that should be made inconsequential by making qtHaveModule() work for plugins. Task-number: QTBUG-58372 Change-Id: Ibdebe3199688a57f93cea82dc15623081d1280f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
1219 lines
42 KiB
JSON
1219 lines
42 KiB
JSON
{
|
|
"files": {
|
|
"qconfigSource": "src/corelib/global/qconfig.cpp",
|
|
"publicHeader": "src/corelib/global/qconfig.h",
|
|
"privateHeader": "src/corelib/global/qconfig_p.h",
|
|
"publicPro": "mkspecs/qconfig.pri",
|
|
"privatePro": "mkspecs/qmodule.pri"
|
|
},
|
|
|
|
"subconfigs": [
|
|
"src/corelib",
|
|
"src/network",
|
|
"src/gui",
|
|
"src/xml",
|
|
"src/widgets",
|
|
"src/printsupport",
|
|
"src/plugins/sqldrivers"
|
|
],
|
|
|
|
"commandline": {
|
|
"assignments": {
|
|
"DBUS_HOST_PATH": "host_dbus.prefix",
|
|
"DBUS_PATH": "dbus.prefix"
|
|
},
|
|
"custom": "qmakeArgs",
|
|
"options": {
|
|
"prefix": "string",
|
|
"hostprefix": "optionalString",
|
|
"extprefix": "string",
|
|
|
|
"archdatadir": "string",
|
|
"bindir": "string",
|
|
"datadir": "string",
|
|
"docdir": "string",
|
|
"examplesdir": "string",
|
|
"external-hostbindir": "string",
|
|
"headerdir": "string",
|
|
"hostbindir": "string",
|
|
"hostdatadir": "string",
|
|
"hostlibdir": "string",
|
|
"importdir": "string",
|
|
"libdir": "string",
|
|
"libexecdir": "string",
|
|
"plugindir": "string",
|
|
"qmldir": "string",
|
|
"settingsdir": { "type": "string", "name": "sysconfdir" },
|
|
"sysconfdir": "string",
|
|
"testsdir": "string",
|
|
"translationdir": "string",
|
|
|
|
"android-arch": "string",
|
|
"android-ndk": "string",
|
|
"android-ndk-host": "string",
|
|
"android-ndk-platform": "string",
|
|
"android-sdk": "string",
|
|
"android-toolchain-version": "string",
|
|
|
|
"android-style-assets": "boolean",
|
|
"appstore-compliant": "boolean",
|
|
"avx": "boolean",
|
|
"avx2": "boolean",
|
|
"avx512": { "type": "boolean", "name": "avx512f" },
|
|
"c++std": "cxxstd",
|
|
"commercial": "void",
|
|
"compile-examples": { "type": "boolean", "name": "compile_examples" },
|
|
"confirm-license": "void",
|
|
"dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
|
|
"dbus-linked": { "type": "void", "name": "dbus", "value": "linked" },
|
|
"dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" },
|
|
"debug": "void",
|
|
"debug-and-release": { "type": "boolean", "name": "debug_and_release" },
|
|
"developer-build": "void",
|
|
"device": "string",
|
|
"device-option": "addString",
|
|
"f16c": "boolean",
|
|
"force-asserts": { "type": "boolean", "name": "force_asserts" },
|
|
"force-debug-info": { "type": "boolean", "name": "force_debug_info" },
|
|
"force-pkg-config": { "type": "void", "name": "pkg-config" },
|
|
"framework": "boolean",
|
|
"gcc-sysroot": "boolean",
|
|
"gcov": "boolean",
|
|
"gnumake": { "type": "boolean", "name": "GNUmake" },
|
|
"gui": "boolean",
|
|
"headersclean": "boolean",
|
|
"incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" },
|
|
"libudev": "boolean",
|
|
"ltcg": "boolean",
|
|
"make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] },
|
|
"make-tool": "string",
|
|
"mips_dsp": "boolean",
|
|
"mips_dspr2": "boolean",
|
|
"mp": { "type": "boolean", "name": "msvc_mp" },
|
|
"nomake": { "type": "addString", "values": [ "examples", "tests", "tools" ] },
|
|
"opensource": { "type": "void", "name": "commercial", "value": "no" },
|
|
"optimize-debug": { "type": "boolean", "name": "optimize_debug" },
|
|
"optimize-size": { "type": "boolean", "name": "optimize_size" },
|
|
"optimized-qmake": { "type": "boolean", "name": "release_tools" },
|
|
"optimized-tools": { "type": "boolean", "name": "release_tools" },
|
|
"pch": { "type": "boolean", "name": "precompile_header" },
|
|
"pkg-config": "boolean",
|
|
"platform": "string",
|
|
"plugin-manifests": "boolean",
|
|
"profile": "boolean",
|
|
"qml-debug": "boolean",
|
|
"qreal": "string",
|
|
"qtlibinfix": { "type": "string", "name": "qt_libinfix" },
|
|
"qtnamespace": { "type": "string", "name": "qt_namespace" },
|
|
"reduce-exports": { "type": "boolean", "name": "reduce_exports" },
|
|
"reduce-relocations": { "type": "boolean", "name": "reduce_relocations" },
|
|
"release": { "type": "enum", "name": "debug", "values": { "yes": "no", "no": "yes" } },
|
|
"rpath": "boolean",
|
|
"sanitize": "sanitize",
|
|
"sdk": "string",
|
|
"separate-debug-info": { "type": "boolean", "name": "separate_debug_info" },
|
|
"shared": "boolean",
|
|
"silent": "void",
|
|
"qdbus": { "type": "boolean", "name": "dbus" },
|
|
"sse2": "boolean",
|
|
"sse3": "boolean",
|
|
"sse4.1": { "type": "boolean", "name": "sse4_1" },
|
|
"sse4.2": { "type": "boolean", "name": "sse4_2" },
|
|
"ssse3": "boolean",
|
|
"static": { "type": "enum", "name": "shared", "values": { "yes": "no", "no": "yes" } },
|
|
"static-runtime": { "type": "boolean", "name": "static_runtime" },
|
|
"strip": "boolean",
|
|
"syncqt": "boolean",
|
|
"sysroot": "string",
|
|
"testcocoon": "boolean",
|
|
"use-gold-linker": { "type": "boolean", "name": "use_gold_linker" },
|
|
"warnings-are-errors": { "type": "boolean", "name": "warnings_are_errors" },
|
|
"Werror": { "type": "boolean", "name": "warnings_are_errors" },
|
|
"widgets": "boolean",
|
|
"xplatform": "string",
|
|
"zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } }
|
|
},
|
|
"prefix": {
|
|
"D": "defines",
|
|
"F": "fpaths",
|
|
"I": "includes",
|
|
"L": "lpaths",
|
|
"R": "rpaths",
|
|
"W": "wflags"
|
|
}
|
|
|
|
},
|
|
|
|
"libraries": {
|
|
"zlib": {
|
|
"label": "zlib",
|
|
"test": "unix/zlib",
|
|
"sources": [
|
|
{ "libs": "-lzdll", "condition": "config.msvc" },
|
|
{ "libs": "-lz", "condition": "!config.msvc" }
|
|
]
|
|
},
|
|
"dbus": {
|
|
"label": "D-Bus >= 1.2",
|
|
"test": "unix/dbus",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "dbus-1 >= 1.2" },
|
|
{
|
|
"libs": "",
|
|
"builds": {
|
|
"debug": "-ldbus-1d",
|
|
"release": "-ldbus-1"
|
|
},
|
|
"condition": "config.win32"
|
|
},
|
|
{ "libs": "-ldbus-1", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"host_dbus": {
|
|
"label": "D-Bus >= 1.2 (host)",
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "host": true, "args": "dbus-1 >= 1.2" },
|
|
{ "libs": "", "comment": "placeholder for DBUS_HOST_PATH" }
|
|
]
|
|
},
|
|
"libudev": {
|
|
"label": "udev",
|
|
"test": "unix/libudev",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libudev" },
|
|
"-ludev"
|
|
]
|
|
}
|
|
},
|
|
|
|
"testTypeDependencies": {
|
|
"linkerSupportsFlag": [ "use_gold_linker" ],
|
|
"verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "gcc-sysroot", "qmakeargs", "commit" ],
|
|
"compile": [ "verifyspec" ],
|
|
"detectPkgConfig": [ "cross_compile", "machineTuple" ],
|
|
"library": [ "pkg-config" ],
|
|
"getPkgConfigVariable": [ "pkg-config" ],
|
|
"subarch": [ "architecture" ]
|
|
},
|
|
|
|
"testTypeAliases": {
|
|
"compile": [ "library", "architecture" ]
|
|
},
|
|
|
|
"tests": {
|
|
"machineTuple": {
|
|
"label": "machine tuple",
|
|
"type": "machineTuple"
|
|
},
|
|
"verifyspec": {
|
|
"label": "valid makespec",
|
|
"type": "verifySpec",
|
|
"test": "common/verifyspec"
|
|
},
|
|
"architecture": {
|
|
"label": "target architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"log": "arch"
|
|
},
|
|
"host_architecture": {
|
|
"label": "host architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"host": true,
|
|
"pro": "arch_host.pro",
|
|
"log": "arch"
|
|
},
|
|
"GNUmake": {
|
|
"label": "GNU make",
|
|
"type": "gnumake"
|
|
},
|
|
"pkg-config": {
|
|
"label": "pkg-config",
|
|
"type": "detectPkgConfig"
|
|
},
|
|
"stl": {
|
|
"label": "STL compatibility",
|
|
"type": "compile",
|
|
"test": "unix/stl"
|
|
},
|
|
"c++14": {
|
|
"label": "C++14 support",
|
|
"type": "compile",
|
|
"test": "common/c++14"
|
|
},
|
|
"c++1z": {
|
|
"label": "C++1z support",
|
|
"type": "compile",
|
|
"test": "common/c++1z"
|
|
},
|
|
"precompile_header": {
|
|
"label": "precompiled header support",
|
|
"type": "compile",
|
|
"test": "common/pch"
|
|
},
|
|
"use_gold_linker": {
|
|
"label": "gold linker",
|
|
"type": "compilerSupportsFlag",
|
|
"flag": "-fuse-ld=gold"
|
|
},
|
|
"optimize_debug": {
|
|
"label": "-Og support",
|
|
"type": "compilerSupportsFlag",
|
|
"flag": "-Og"
|
|
},
|
|
"enable_new_dtags": {
|
|
"label": "new dtags support",
|
|
"type": "linkerSupportsFlag",
|
|
"flag": "--enable-new-dtags"
|
|
},
|
|
"reduce_exports": {
|
|
"label": "symbol visibility support",
|
|
"type": "compile",
|
|
"test": "unix/reduce_exports"
|
|
},
|
|
"reduce_relocations": {
|
|
"label": "-Bsymbolic-functions support",
|
|
"type": "compile",
|
|
"test": "unix/reduce_relocs"
|
|
},
|
|
"build_parts": {
|
|
"type": "buildParts"
|
|
},
|
|
"separate_debug_info": {
|
|
"label": "separate debug information support",
|
|
"type": "compile",
|
|
"test": "unix/objcopy"
|
|
},
|
|
"sse2": {
|
|
"label": "SSE2 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse2"
|
|
},
|
|
"sse3": {
|
|
"label": "SSE3 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse3"
|
|
},
|
|
"ssse3": {
|
|
"label": "SSSE3 instructions",
|
|
"type": "compile",
|
|
"test": "common/ssse3"
|
|
},
|
|
"sse4_1": {
|
|
"label": "SSE4.1 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse4_1"
|
|
},
|
|
"sse4_2": {
|
|
"label": "SSE4.2 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse4_2"
|
|
},
|
|
"f16c": {
|
|
"label": "F16C instructions",
|
|
"type": "compile",
|
|
"test": "common/f16c"
|
|
},
|
|
"avx": {
|
|
"label": "AVX instructions",
|
|
"type": "compile",
|
|
"test": "common/avx"
|
|
},
|
|
"avx2": {
|
|
"label": "AVX2 instructions",
|
|
"type": "compile",
|
|
"test": "common/avx2"
|
|
},
|
|
"avx512f": {
|
|
"label": "AVX512 F instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=F"
|
|
},
|
|
"avx512er": {
|
|
"label": "AVX512 ER instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=ER"
|
|
},
|
|
"avx512cd": {
|
|
"label": "AVX512 CD instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=CD"
|
|
},
|
|
"avx512pf": {
|
|
"label": "AVX512 PF instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=PF"
|
|
},
|
|
"avx512dq": {
|
|
"label": "AVX512 DQ instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=DQ"
|
|
},
|
|
"avx512bw": {
|
|
"label": "AVX512 BW instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=BW"
|
|
},
|
|
"avx512vl": {
|
|
"label": "AVX512 VL instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=VL"
|
|
},
|
|
"avx512ifma": {
|
|
"label": "AVX512 IFMA instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=IFMA"
|
|
},
|
|
"avx512vbmi": {
|
|
"label": "AVX512 VBMI instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=VBMI"
|
|
},
|
|
"mips_dsp": {
|
|
"label": "MIPS DSP instructions",
|
|
"type": "subarch",
|
|
"subarch": "dsp"
|
|
},
|
|
"mips_dspr2": {
|
|
"label": "MIPS DSPr2 instructions",
|
|
"type": "subarch",
|
|
"subarch": "dspr2"
|
|
},
|
|
"neon": {
|
|
"label": "NEON instructions",
|
|
"type": "subarch",
|
|
"subarch": "neon"
|
|
},
|
|
|
|
"mremap": {
|
|
"label": "mremap()",
|
|
"type": "compile",
|
|
"test": "unix/mremap"
|
|
},
|
|
"posix_fallocate": {
|
|
"label": "POSIX fallocate()",
|
|
"type": "compile",
|
|
"test": "unix/posix_fallocate"
|
|
},
|
|
"alloca_stdlib_h": {
|
|
"label": "alloca() in stdlib.h",
|
|
"type": "compile",
|
|
"test": "common/alloca"
|
|
},
|
|
"alloca_h": {
|
|
"label": "alloca() in alloca.h",
|
|
"type": "compile",
|
|
"test": "common/alloca",
|
|
"args": "DEFINES+=USE_ALLOCA_H"
|
|
},
|
|
"alloca_malloc_h": {
|
|
"label": "alloca() in malloc.h",
|
|
"type": "compile",
|
|
"test": "common/alloca",
|
|
"args": "DEFINES+=USE_MALLOC_H"
|
|
},
|
|
"stack_protector": {
|
|
"label": "stack protection",
|
|
"type": "compile",
|
|
"test": "unix/stack-protector"
|
|
},
|
|
"incredibuild_xge": {
|
|
"label": "IncrediBuild",
|
|
"type": "files",
|
|
"files": [ "BuildConsole.exe", "xgConsole.exe" ]
|
|
}
|
|
},
|
|
|
|
"features": {
|
|
"prepare": {
|
|
"output": [ "prepareSpec", "prepareOptions", "preparePaths", "reloadSpec" ]
|
|
},
|
|
"machineTuple": {
|
|
"condition": "!config.linux || config.android || tests.machineTuple",
|
|
"output": [ "machineTuple" ]
|
|
},
|
|
"commit": {
|
|
"condition": "features.machineTuple",
|
|
"output": [ "commitOptions" ]
|
|
},
|
|
"android-style-assets": {
|
|
"label": "Android Style Assets",
|
|
"condition": "config.android",
|
|
"output": [ "privateFeature" ],
|
|
"comment": "This belongs into gui, but the license check needs it here already."
|
|
},
|
|
"shared": {
|
|
"label": "Building shared libraries",
|
|
"autoDetect": "!config.uikit",
|
|
"condition": "!config.integrity",
|
|
"output": [
|
|
"shared",
|
|
"publicFeature",
|
|
"publicQtConfig",
|
|
"publicConfig"
|
|
]
|
|
},
|
|
"static": {
|
|
"condition": "!features.shared",
|
|
"output": [
|
|
"publicFeature",
|
|
"publicQtConfig",
|
|
"publicConfig"
|
|
]
|
|
},
|
|
"cross_compile": {
|
|
"label": "Cross compiling",
|
|
"condition": "call.crossCompile",
|
|
"output": [ "publicConfig", "privateConfig", "publicFeature", "crossCompile" ]
|
|
},
|
|
"compiler-flags": {
|
|
"output": [ "compilerFlags" ]
|
|
},
|
|
"gcc-sysroot": {
|
|
"output": [ "gccSysroot" ],
|
|
"condition": "input.sysroot != ''"
|
|
},
|
|
"qmakeargs": {
|
|
"output": [ "qmakeArgs" ],
|
|
"condition": "input.qmakeArgs != ''"
|
|
},
|
|
"use_gold_linker": {
|
|
"label": "Using gold linker",
|
|
"condition": "!config.win32 && !config.integrity && tests.use_gold_linker",
|
|
"output": [ "privateConfig", "useGoldLinker" ]
|
|
},
|
|
"optimize_debug": {
|
|
"label": "Optimize debug build",
|
|
"condition": "!config.msvc && (features.debug || features.debug_and_release) && tests.optimize_debug",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"optimize_size": {
|
|
"label": "Optimize release build for size",
|
|
"autoDetect": false,
|
|
"condition": "!features.debug || features.debug_and_release",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"architecture": {
|
|
"label": "Architecture",
|
|
"output": [ "architecture" ]
|
|
},
|
|
"pkg-config": {
|
|
"label": "Using pkg-config",
|
|
"autoDetect": "!config.darwin && !config.win32",
|
|
"condition": "tests.pkg-config",
|
|
"output": [
|
|
"publicFeature",
|
|
{ "type": "publicQtConfig", "negative": true },
|
|
"pkgConfig"
|
|
]
|
|
},
|
|
"verifyspec": {
|
|
"label": "Have valid makespec",
|
|
"condition": "tests.verifyspec"
|
|
},
|
|
"developer-build": {
|
|
"label": "Developer build",
|
|
"autoDetect": false,
|
|
"output": [
|
|
{ "type": "define", "name": "QT_BUILD_INTERNAL" },
|
|
{ "type": "privateFeature", "name": "private_tests" },
|
|
{ "type": "publicQtConfig", "name": "private_tests" }
|
|
]
|
|
},
|
|
"debug": {
|
|
"label": "Build for debugging",
|
|
"autoDetect": "features.developer-build || config.win32 || config.darwin"
|
|
},
|
|
"debug_and_release": {
|
|
"label": "Compile libs in debug and release mode",
|
|
"autoDetect": "input.debug == ''",
|
|
"condition": "config.darwin || config.win32",
|
|
"output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ]
|
|
},
|
|
"force_debug_info": {
|
|
"label": "Add debug info in release mode",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"separate_debug_info": {
|
|
"label": "Split off debug information",
|
|
"autoDetect": false,
|
|
"condition": [
|
|
"features.shared",
|
|
"features.debug || features.debug_and_release || features.force_debug_info",
|
|
"config.darwin || tests.separate_debug_info"
|
|
],
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"release_tools": {
|
|
"label": "Compile tools in release mode",
|
|
"autoDetect": "features.debug",
|
|
"output": [ "privateFeature", "publicQtConfig" ]
|
|
},
|
|
"appstore-compliant": {
|
|
"label": "App store compliance",
|
|
"purpose": "Disables code that is not allowed in platform app stores",
|
|
"autoDetect": "config.uikit || config.android || config.winrt",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"simulator_and_device": {
|
|
"label": "Build for both simulator and device",
|
|
"condition": "config.uikit && input.sdk == ''",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"build_all": {
|
|
"condition": "features.debug_and_release || features.simulator_and_device",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"rpath": {
|
|
"label": "Build with RPATH",
|
|
"autoDetect": "var.QMAKE_LFLAGS_RPATH != '' && features.shared",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"rpath_dir": {
|
|
"label": "RPATH directory",
|
|
"enable": "input.rpaths != ''",
|
|
"autoDetect": false,
|
|
"output": [ { "type": "varAppend", "name": "EXTRA_RPATHS", "value": "input.rpaths" } ]
|
|
},
|
|
"force_asserts": {
|
|
"label": "Force assertions",
|
|
"autoDetect": false,
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"warnings_are_errors": {
|
|
"label": "WError",
|
|
"autoDetect": "features.developer-build",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"headersclean": {
|
|
"label": "Check for clean headers",
|
|
"autoDetect": "features.developer-build",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"framework": {
|
|
"label": "Build Apple Frameworks",
|
|
"condition": "config.darwin && features.shared",
|
|
"output": [
|
|
{ "type": "define", "name": "QT_MAC_FRAMEWORK_BUILD" },
|
|
"publicFeature",
|
|
{ "type": "publicQtConfig", "name": "qt_framework"},
|
|
{ "type": "publicConfig", "name": "qt_framework"}
|
|
]
|
|
},
|
|
"largefile": {
|
|
"label": "Large file support",
|
|
"condition": "!config.android && !config.integrity && !config.winrt",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_LARGEFILE_SUPPORT", "value": 64 }
|
|
]
|
|
},
|
|
"testcocoon": {
|
|
"label": "Testcocoon support",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"gcov": {
|
|
"label": "gcov support",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"silent": {
|
|
"label": "Silent build",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"sanitize_address": {
|
|
"label": "Addresses",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_thread": {
|
|
"label": "Threads",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_memory": {
|
|
"label": "Memory",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_undefined": {
|
|
"label": "Undefined",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitizer": {
|
|
"label": "Sanitizers",
|
|
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_undefined",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"GNUmake": {
|
|
"label": "GNU make",
|
|
"autoDetect": false,
|
|
"condition": "tests.GNUmake",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"plugin-manifests": {
|
|
"label": "Embed manifests in plugins",
|
|
"emitIf": "config.win32",
|
|
"autoDetect": false,
|
|
"output": [ { "type": "publicConfig", "negative": true, "name": "no_plugin_manifest" } ]
|
|
},
|
|
"profile": {
|
|
"label": "GNU profiling support",
|
|
"autoDetect": false,
|
|
"output": [
|
|
{ "type": "varAppend", "name": "QMAKE_CFLAGS", "value": "'-pg'" },
|
|
{ "type": "varAppend", "name": "QMAKE_CXXFLAGS", "value": "'-pg'" },
|
|
{ "type": "varAppend", "name": "QMAKE_LFLAGS", "value": "'-pg'" }
|
|
]
|
|
},
|
|
"strip": {
|
|
"label": "Strip binaries",
|
|
"condition": "!features.profile",
|
|
"output": [ { "type": "privateConfig", "negative": true, "name": "nostrip" } ]
|
|
},
|
|
"stl": {
|
|
"label": "STL compatibility",
|
|
"condition": "tests.stl",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"c++11": {
|
|
"label": "C++11",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++14": {
|
|
"label": "C++14",
|
|
"condition": "features.c++11 && tests.c++14",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++1z": {
|
|
"label": "C++1z",
|
|
"condition": "features.c++14 && tests.c++1z",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"precompile_header": {
|
|
"label": "Using precompiled headers",
|
|
"condition": "config.msvc || tests.precompile_header",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "varRemove", "negative": true, "name": "CONFIG", "value": "'precompile_header'" }
|
|
]
|
|
},
|
|
"ltcg": {
|
|
"label": "Using LTCG",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"enable_new_dtags": {
|
|
"label": "Using new DTAGS",
|
|
"condition": "config.linux && tests.enable_new_dtags",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"reduce_exports": {
|
|
"label": "Reduce amount of exported symbols",
|
|
"condition": "!config.win32 && tests.reduce_exports",
|
|
"output": [
|
|
"privateFeature",
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_VISIBILITY_AVAILABLE" }
|
|
]
|
|
},
|
|
"reduce_relocations": {
|
|
"label": "Reduce amount of relocations",
|
|
"condition": "!config.win32 && tests.reduce_relocations",
|
|
"output": [
|
|
"privateFeature",
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_REDUCE_RELOCATIONS" }
|
|
]
|
|
},
|
|
"sse2": {
|
|
"label": "SSE2",
|
|
"condition": "(arch.i386 || arch.x86_64) && tests.sse2",
|
|
"output": [
|
|
"privateConfig",
|
|
"privateFeature",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE2", "value": 1 }
|
|
]
|
|
},
|
|
"sse3": {
|
|
"label": "SSE3",
|
|
"condition": "features.sse2 && tests.sse3",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE3", "value": 1 }
|
|
]
|
|
},
|
|
"ssse3": {
|
|
"label": "SSSE3",
|
|
"condition": "features.sse3 && tests.ssse3",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSSE3", "value": 1 }
|
|
]
|
|
},
|
|
"sse4_1": {
|
|
"label": "SSE4.1",
|
|
"condition": "features.ssse3 && tests.sse4_1",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_1", "value": 1 }
|
|
]
|
|
},
|
|
"sse4_2": {
|
|
"label": "SSE4.2",
|
|
"condition": "features.sse4_1 && tests.sse4_2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_2", "value": 1 }
|
|
]
|
|
},
|
|
"avx": {
|
|
"label": "AVX",
|
|
"condition": "features.sse4_2 && tests.avx",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 }
|
|
]
|
|
},
|
|
"f16c": {
|
|
"label": "F16C",
|
|
"condition": "features.avx && tests.f16c",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_F16C", "value": 1 }
|
|
]
|
|
},
|
|
"avx2": {
|
|
"label": "AVX2",
|
|
"condition": "features.avx && tests.avx2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX2", "value": 1 }
|
|
]
|
|
},
|
|
"avx512f": {
|
|
"label": "F",
|
|
"condition": "features.avx2 && tests.avx512f",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512F", "value": 1 }
|
|
]
|
|
},
|
|
"avx512er": {
|
|
"label": "ER",
|
|
"condition": "features.avx512f && tests.avx512er",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512ER", "value": 1 }
|
|
]
|
|
},
|
|
"avx512cd": {
|
|
"label": "CD",
|
|
"condition": "features.avx512f && tests.avx512cd",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512CD", "value": 1 }
|
|
]
|
|
},
|
|
"avx512pf": {
|
|
"label": "PF",
|
|
"condition": "features.avx512f && tests.avx512pf",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512PF", "value": 1 }
|
|
]
|
|
},
|
|
"avx512dq": {
|
|
"label": "DQ",
|
|
"condition": "features.avx512f && tests.avx512dq",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512DQ", "value": 1 }
|
|
]
|
|
},
|
|
"avx512bw": {
|
|
"label": "BW",
|
|
"condition": "features.avx512f && tests.avx512bw",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512BW", "value": 1 }
|
|
]
|
|
},
|
|
"avx512vl": {
|
|
"label": "VL",
|
|
"condition": "features.avx512f && tests.avx512vl",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VL", "value": 1 }
|
|
]
|
|
},
|
|
"avx512ifma": {
|
|
"label": "IFMA",
|
|
"condition": "features.avx512f && tests.avx512ifma",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512IFMA", "value": 1 }
|
|
]
|
|
},
|
|
"avx512vbmi": {
|
|
"label": "VBMI",
|
|
"condition": "features.avx512f && tests.avx512vbmi",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VBMI", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dsp": {
|
|
"label": "DSP",
|
|
"condition": "arch.mips && tests.mips_dsp",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dspr2": {
|
|
"label": "DSPr2",
|
|
"condition": "arch.mips && tests.mips_dspr2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 }
|
|
]
|
|
},
|
|
"neon": {
|
|
"label": "NEON",
|
|
"condition": "(arch.arm || arch.arm64) && tests.neon",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 }
|
|
]
|
|
},
|
|
"mremap": {
|
|
"label": "mremap()",
|
|
"condition": "tests.mremap",
|
|
"output": [ "feature" ]
|
|
},
|
|
"posix_fallocate": {
|
|
"label": "POSIX fallocate()",
|
|
"condition": "tests.posix_fallocate",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"alloca_h": {
|
|
"label": "alloca.h",
|
|
"condition": "tests.alloca_h",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"alloca_malloc_h": {
|
|
"label": "alloca() in malloc.h",
|
|
"condition": "!features.alloca_h && tests.alloca_malloc_h",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"alloca": {
|
|
"label": "alloca()",
|
|
"condition": "features.alloca_h || features.alloca_malloc_h || tests.alloca_stdlib_h",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"stack-protector-strong": {
|
|
"label": "stack protection",
|
|
"condition": "config.qnx && tests.stack_protector",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"system-zlib": {
|
|
"label": "Using system zlib",
|
|
"condition": "libs.zlib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"concurrent": {
|
|
"label": "Qt Concurrent",
|
|
"purpose": "Provides a high-level multi-threading API.",
|
|
"section": "Kernel",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"dbus": {
|
|
"label": "Qt D-Bus",
|
|
"autoDetect": "!config.uikit && !config.android && !config.winrt",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"dbus-linked": {
|
|
"label": "Qt D-Bus directly linked to libdbus",
|
|
"enable": "input.dbus == 'linked'",
|
|
"disable": "input.dbus == 'runtime'",
|
|
"condition": "features.dbus && libs.dbus",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"host-dbus": {
|
|
"label": "Qt D-Bus (Host)",
|
|
"autoDetect": "!config.android",
|
|
"condition": "libs.host_dbus",
|
|
"output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "libs.host_dbus.cflags", "eval": "true" } ]
|
|
},
|
|
"build_parts": {
|
|
"output": [ { "type": "varAppend", "name": "QT_BUILD_PARTS", "value": "tests.build_parts.value" } ]
|
|
},
|
|
"qreal": {
|
|
"label": "Type for qreal",
|
|
"output": [ "qreal" ]
|
|
},
|
|
"gui": {
|
|
"label": "Qt Gui",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
]
|
|
},
|
|
"network": {
|
|
"label": "Qt Network",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"sql": {
|
|
"label": "Qt Sql",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"testlib": {
|
|
"label": "Qt Testlib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"widgets": {
|
|
"label": "Qt Widgets",
|
|
"autoDetect": "!config.tvos && !config.watchos",
|
|
"condition": "features.gui",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "negative": true, "name": "QT_NO_WIDGETS" },
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
]
|
|
},
|
|
"xml": {
|
|
"label": "Qt Xml",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"libudev": {
|
|
"label": "udev",
|
|
"condition": "libs.libudev",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"qml-debug": {
|
|
"label": "QML debugging",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
]
|
|
},
|
|
"compile_examples": {
|
|
"label": "Compile examples",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"incredibuild_xge": {
|
|
"label": "IncrediBuild",
|
|
"emitIf": "var.QMAKE_HOST.os == 'Windows'",
|
|
"condition": "tests.incredibuild_xge",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"msvc_mp": {
|
|
"label": "Use multiple processors when compiling with MSVC",
|
|
"emitIf": "config.msvc",
|
|
"autoDetect": "false",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"static_runtime": {
|
|
"label": "Statically link the C/C++ runtime library",
|
|
"emitIf": "config.win32",
|
|
"autoDetect": false,
|
|
"condition": "!features.shared",
|
|
"output": [ "publicConfig", "publicQtConfig" ]
|
|
}
|
|
},
|
|
|
|
"earlyReport": [
|
|
{
|
|
"type": "fatal",
|
|
"condition": "input.xplatform != '' && input.device != ''",
|
|
"message": "Cannot specify both -xplatform and -device."
|
|
},
|
|
{
|
|
"condition": "!features.prepare",
|
|
"comment": "This is not an actual report - instead, it activates the early setup."
|
|
},
|
|
{
|
|
"type": "fatal",
|
|
"condition": "!call.licenseCheck",
|
|
"message": "You are not licensed to use this software."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "input.debug_and_release == 'yes' && !config.darwin && !config.win32",
|
|
"message": "-debug-and-release is only supported on Darwin and Windows platforms.
|
|
Qt can be built in release mode with separate debug information, so
|
|
-debug-and-release is no longer necessary."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "features.framework && features.debug && !features.debug_and_release",
|
|
"message": "debug-only framework builds are not supported. Configure with -no-framework if you want a pure debug build."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "(features.rpath || features.rpath_dir) && !features.shared",
|
|
"message": "Static builds don't support RPATH"
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "(features.rpath || features.rpath_dir) && var.QMAKE_LFLAGS_RPATH == ''",
|
|
"message": "This platform does not support RPATH"
|
|
}
|
|
],
|
|
|
|
"report": [
|
|
{
|
|
"type": "note",
|
|
"condition": "!features.shared",
|
|
"message": "Using static linking will disable the use of dynamically
|
|
loaded plugins. Make sure to import all needed static plugins,
|
|
or compile needed modules into the library."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "features.release_tools && !features.debug",
|
|
"message": "-optimized-tools is not useful in -release mode."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "input.qreal == 'double' && arch.arm",
|
|
"message": "Qt is using double for qreal on this system. This is binary-incompatible against Qt 5.1.
|
|
Configure with '-qreal float' to create a build that is binary-compatible with 5.1."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "!features.stl",
|
|
"message": "Qt requires a compliant STL library."
|
|
}
|
|
],
|
|
|
|
"summary": [
|
|
{
|
|
"type": "buildTypeAndConfig"
|
|
},
|
|
{
|
|
"section": "Build options",
|
|
"entries": [
|
|
{
|
|
"message": "Mode",
|
|
"type": "buildMode"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "optimize_debug",
|
|
"condition": "!config.msvc && (features.debug || features.debug_and_release)"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "optimize_size",
|
|
"condition": "!features.debug || features.debug_and_release"
|
|
},
|
|
"shared",
|
|
{
|
|
"message": "Using C++ standard",
|
|
"type": "firstAvailableFeature",
|
|
"args": "c++1z c++14 c++11"
|
|
},
|
|
"use_gold_linker",
|
|
{
|
|
"type": "feature",
|
|
"args": "enable_new_dtags",
|
|
"condition": "config.linux"
|
|
},
|
|
"precompile_header",
|
|
"ltcg",
|
|
{
|
|
"section": "Target compiler supports",
|
|
"entries": [
|
|
{
|
|
"message": "SSE",
|
|
"type": "featureList",
|
|
"args": "sse2 sse3 ssse3 sse4_1 sse4_2",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"message": "AVX",
|
|
"type": "featureList",
|
|
"args": "avx avx2 f16c",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"message": "AVX512",
|
|
"type": "featureList",
|
|
"args": "avx512f avx512er avx512cd avx512pf avx512dq avx512bw avx512vl avx512ifma avx512vbmi",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "neon",
|
|
"condition": "arch.arm || arch.arm64"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "mips_dsp",
|
|
"condition": "arch.mips"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "mips_dspr2",
|
|
"condition": "arch.mips"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"section": "Sanitizers",
|
|
"condition": "features.sanitizer",
|
|
"entries": [ "sanitize_address", "sanitize_thread", "sanitize_memory", "sanitize_undefined" ]
|
|
},
|
|
{
|
|
"message": "Build parts",
|
|
"type": "buildParts"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "appstore-compliant",
|
|
"condition": "config.darwin || config.android || config.winrt || config.win32"
|
|
}
|
|
]
|
|
}, {
|
|
"section": "Qt modules and options",
|
|
"entries": [
|
|
"concurrent",
|
|
"dbus",
|
|
"dbus-linked",
|
|
"gui",
|
|
"network",
|
|
"sql",
|
|
"testlib",
|
|
"widgets",
|
|
"xml"
|
|
]
|
|
}, {
|
|
"section": "Support enabled for",
|
|
"entries": [
|
|
"pkg-config",
|
|
"qml-debug",
|
|
"libudev",
|
|
"system-zlib"
|
|
]
|
|
}
|
|
]
|
|
|
|
}
|