diff options
Diffstat (limited to 'configure.json')
-rw-r--r-- | configure.json | 99 |
1 files changed, 91 insertions, 8 deletions
diff --git a/configure.json b/configure.json index 9fce6d039e..f7449ec068 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", @@ -166,6 +169,21 @@ { "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": { @@ -207,8 +225,8 @@ }, "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", "compiler-flags" ], @@ -340,11 +358,21 @@ ] } }, + "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", @@ -632,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", @@ -805,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, @@ -1129,11 +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", - "condition": "!config.wasm", + "autoDetect": "!config.wasm", "output": [ "publicFeature" ] }, "future": { @@ -1283,6 +1349,11 @@ Qt can be built in release mode with separate debug information, so "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." } ], @@ -1349,7 +1420,12 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5 "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", @@ -1417,6 +1493,12 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5 "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" }, @@ -1444,7 +1526,8 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5 "entries": [ "pkg-config", "libudev", - "system-zlib" + "system-zlib", + "zstd" ] } ] |