summaryrefslogtreecommitdiffstats
path: root/configure.json
diff options
context:
space:
mode:
Diffstat (limited to 'configure.json')
-rw-r--r--configure.json125
1 files changed, 112 insertions, 13 deletions
diff --git a/configure.json b/configure.json
index 5201fd5ce9..731806f7aa 100644
--- a/configure.json
+++ b/configure.json
@@ -67,6 +67,7 @@
"commercial": "void",
"compile-examples": { "type": "boolean", "name": "compile_examples" },
"confirm-license": "void",
+ "coverage": "coverage",
"dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
"dbus-linked": { "type": "void", "name": "dbus", "value": "linked" },
"dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" },
@@ -89,6 +90,7 @@
"headersclean": "boolean",
"incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" },
"libudev": "boolean",
+ "linker": { "type": "optionalString", "values": [ "bfd", "gold", "lld" ] },
"ltcg": "boolean",
"make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] },
"make-tool": "string",
@@ -130,12 +132,13 @@
"syncqt": "boolean",
"sysroot": "string",
"testcocoon": "boolean",
- "use-gold-linker": { "type": "boolean", "name": "use_gold_linker" },
+ "use-gold-linker": { "type": "boolean", "name": "use_gold_linker_alias" },
"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" } }
+ "zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } },
+ "zstd": "boolean"
},
"prefix": {
"D": "defines",
@@ -152,13 +155,13 @@
"zlib": {
"label": "zlib",
"test": {
- "include": "zlib.h",
"main": [
"z_streamp stream = 0;",
"(void) zlibVersion();",
"(void) compress2(0, 0, 0, 0, 1); // compress2 was added in zlib version 1.0.8"
]
},
+ "headers": "zlib.h",
"sources": [
{ "libs": "-lzdll", "condition": "config.msvc" },
{ "libs": "-lzlib", "condition": "config.msvc" },
@@ -166,12 +169,27 @@
{ "libs": "-s USE_ZLIB=1", "condition": "config.wasm" }
]
},
+ "zstd": {
+ "label": "Zstandard",
+ "test": {
+ "include": "zstd.h",
+ "main": [
+ "(void) ZSTD_compress(NULL, 0, NULL, 0, 1);",
+ "unsigned long long n = ZSTD_getFrameContentSize(NULL, 0);",
+ "(void) ZSTD_decompress(NULL, 0, NULL, n);"
+ ]
+ },
+ "sources": [
+ { "type": "pkgConfig", "args": "libzstd >= 1.3" },
+ "-lzstd"
+ ]
+ },
"dbus": {
"label": "D-Bus >= 1.2",
"test": {
- "include": "dbus/dbus.h",
"main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);"
},
+ "headers": "dbus/dbus.h",
"sources": [
{ "type": "pkgConfig", "args": "dbus-1 >= 1.2" },
{
@@ -196,9 +214,9 @@
"libudev": {
"label": "udev",
"test": {
- "include": "libudev.h",
"main": "udev_unref(udev_new());"
},
+ "headers": "libudev.h",
"sources": [
{ "type": "pkgConfig", "args": "libudev" },
"-ludev"
@@ -207,11 +225,11 @@
},
"testTypeDependencies": {
- "linkerSupportsFlag": [ "use_gold_linker" ],
- "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "qmakeargs", "commit" ],
+ "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
+ "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
"compile": [ "verifyspec" ],
"detectPkgConfig": [ "cross_compile", "machineTuple" ],
- "library": [ "pkg-config" ],
+ "library": [ "pkg-config", "compiler-flags" ],
"getPkgConfigVariable": [ "pkg-config" ]
},
@@ -324,13 +342,37 @@
"precompile_header": {
"label": "precompiled header support",
"type": "compile",
- "test": "common/pch"
+ "test": {
+ "files": {
+ "header.h": "#define HEADER_H"
+ },
+ "tail": [
+ "#ifndef HEADER_H",
+ "#error no go",
+ "#endif"
+ ],
+ "qmake": [
+ "CONFIG += precompile_header",
+ "PRECOMPILED_DIR = .pch",
+ "PRECOMPILED_HEADER = header.h"
+ ]
+ }
+ },
+ "use_bfd_linker": {
+ "label": "bfd linker",
+ "type": "compilerSupportsFlag",
+ "flag": "-fuse-ld=bfd"
},
"use_gold_linker": {
"label": "gold linker",
"type": "compilerSupportsFlag",
"flag": "-fuse-ld=gold"
},
+ "use_lld_linker" : {
+ "label": "lld linker",
+ "type": "compilerSupportsFlag",
+ "flag": "-fuse-ld=lld"
+ },
"optimize_debug": {
"label": "-Og support",
"type": "compilerSupportsFlag",
@@ -582,7 +624,7 @@
"shared": {
"label": "Building shared libraries",
"autoDetect": "!config.uikit",
- "condition": "!config.integrity",
+ "condition": "!config.integrity && !config.wasm",
"output": [
"shared",
"publicFeature",
@@ -618,11 +660,34 @@
"output": [ "qmakeArgs" ],
"condition": "input.qmakeArgs != ''"
},
+ "use_bfd_linker": {
+ "label": "bfd",
+ "autoDetect": "false",
+ "enable" : "input.linker == 'bfd'",
+ "disable" : "input.linker == 'gold' || input.linker == 'lld'",
+ "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_bfd_linker",
+ "output": [ "privateConfig", "useBFDLinker" ]
+ },
+ "use_gold_linker_alias": {
+ "autoDetect": "false",
+ "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_gold_linker"
+ },
"use_gold_linker": {
- "label": "Using gold linker",
+ "label": "gold",
+ "autoDetect": "false",
+ "enable" : "input.linker == 'gold' || features.use_gold_linker_alias" ,
+ "disable" : "input.linker == 'bfd' || input.linker == 'lld'",
"condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_gold_linker",
"output": [ "privateConfig", "useGoldLinker" ]
},
+ "use_lld_linker": {
+ "label": "lld",
+ "autoDetect": "false",
+ "enable" : "input.linker == 'lld'",
+ "disable" : "input.linker == 'bfd' || input.linker == 'gold'",
+ "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_lld_linker",
+ "output": [ "privateConfig", "useLLDLinker" ]
+ },
"optimize_debug": {
"label": "Optimize debug build",
"condition": "!config.msvc && !config.clang && (features.debug || features.debug_and_release) && tests.optimize_debug",
@@ -791,6 +856,16 @@
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_undefined",
"output": [ "sanitizer", "publicConfig" ]
},
+ "coverage_trace_pc_guard": {
+ "label": "trace-pc-guard",
+ "autoDetect": false,
+ "output": [ "publicConfig" ]
+ },
+ "coverage": {
+ "label": "Code Coverage Instrumentation",
+ "condition": "features.coverage_trace_pc_guard",
+ "output": [ "publicConfig" ]
+ },
"GNUmake": {
"label": "GNU make",
"autoDetect": false,
@@ -1115,10 +1190,16 @@
"condition": "libs.zlib",
"output": [ "privateFeature" ]
},
+ "zstd": {
+ "label": "Zstandard support",
+ "condition": "libs.zstd",
+ "output": [ "privateFeature" ]
+ },
"thread": {
"label": "Thread support",
"purpose": "Provides QThread and related classes.",
"section": "Kernel",
+ "autoDetect": "!config.wasm",
"output": [ "publicFeature" ]
},
"future": {
@@ -1202,6 +1283,7 @@
},
"compile_examples": {
"label": "Compile examples",
+ "autoDetect": "!config.wasm",
"output": [ "privateConfig" ]
},
"incredibuild_xge": {
@@ -1265,6 +1347,11 @@
"type": "error",
"condition": "(features.rpath || features.rpath_dir) && var.QMAKE_LFLAGS_RPATH == ''",
"message": "This platform does not support RPATH"
+ },
+ {
+ "type": "error",
+ "condition": "features.coverage && !config.clang",
+ "message": "Command line option -coverage is only supported with clang compilers."
}
],
@@ -1328,7 +1415,12 @@
"args": "ccache",
"condition": "config.unix"
},
- "use_gold_linker",
+ {
+ "message": "Linker",
+ "type": "firstAvailableFeature",
+ "args": "use_bfd_linker use_gold_linker use_lld_linker",
+ "condition": "features.use_bfd_linker || features.use_gold_linker || features.use_lld_linker"
+ },
{
"type": "feature",
"args": "enable_new_dtags",
@@ -1396,6 +1488,12 @@
"entries": [ "sanitize_address", "sanitize_thread", "sanitize_memory", "sanitize_undefined" ]
},
{
+ "message": "Code Coverage Instrumentation",
+ "type": "firstAvailableFeature",
+ "args": "coverage_trace_pc_guard",
+ "condition": "features.coverage"
+ },
+ {
"message": "Build parts",
"type": "buildParts"
},
@@ -1423,7 +1521,8 @@
"entries": [
"pkg-config",
"libudev",
- "system-zlib"
+ "system-zlib",
+ "zstd"
]
}
]