ff1a44be33
The Android build for x86_64 fails with CMake. It should also fail with qmake builds but the current multi-ABI build is testing the feature for arm64-v8a only. In [1], it's stated that AVX and AVX2 are not supported on x86_64 ABI. [1] https://developer.android.com/ndk/guides/abis#86-64 Task-number: QTBUG-85982 Change-Id: I20c9366bdee2a13ca554ec67f5d0c041bd068b91 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
1647 lines
58 KiB
JSON
1647 lines
58 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/sql",
|
|
"src/xml",
|
|
"src/widgets",
|
|
"src/printsupport",
|
|
"src/plugins/sqldrivers",
|
|
"src/testlib"
|
|
],
|
|
|
|
"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",
|
|
"libdir": "string",
|
|
"libexecdir": "string",
|
|
"plugindir": "string",
|
|
"qmldir": "string",
|
|
"settingsdir": { "type": "string", "name": "sysconfdir" },
|
|
"sysconfdir": "string",
|
|
"testsdir": "string",
|
|
"translationdir": "string",
|
|
|
|
"android-arch": "string",
|
|
"android-abis": "string",
|
|
"android-ndk": "string",
|
|
"android-ndk-host": "string",
|
|
"android-ndk-platform": "string",
|
|
"android-sdk": "string",
|
|
|
|
"android-style-assets": "boolean",
|
|
"appstore-compliant": "boolean",
|
|
"avx": "boolean",
|
|
"avx2": "boolean",
|
|
"avx512": { "type": "boolean", "name": "avx512f" },
|
|
"c++std": "cxxstd",
|
|
"ccache": { "type": "boolean", "name": "ccache" },
|
|
"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" },
|
|
"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",
|
|
"gc-binaries": { "type": "boolean", "name": "gc_binaries" },
|
|
"gdb-index": { "type": "boolean", "name": "enable_gdb_index" },
|
|
"gcc-sysroot": "boolean",
|
|
"gcov": "boolean",
|
|
"gnumake": { "type": "boolean", "name": "GNUmake" },
|
|
"gui": "boolean",
|
|
"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",
|
|
"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",
|
|
"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_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" } },
|
|
"zstd": "boolean"
|
|
},
|
|
"prefix": {
|
|
"D": "defines",
|
|
"F": "fpaths",
|
|
"I": "includes",
|
|
"L": "lpaths",
|
|
"R": "rpaths",
|
|
"W": "wflags"
|
|
}
|
|
|
|
},
|
|
|
|
"libraries": {
|
|
"zlib": {
|
|
"label": "zlib",
|
|
"test": {
|
|
"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" },
|
|
{ "libs": "-lz", "condition": "!config.msvc" },
|
|
{ "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": {
|
|
"main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);"
|
|
},
|
|
"headers": "dbus/dbus.h",
|
|
"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": {
|
|
"main": "udev_unref(udev_new());"
|
|
},
|
|
"headers": "libudev.h",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libudev" },
|
|
"-ludev"
|
|
]
|
|
},
|
|
"libdl": {
|
|
"label": "dlopen()",
|
|
"test": {
|
|
"main": [
|
|
"dlclose(dlopen(0, 0));",
|
|
"dlsym(RTLD_DEFAULT, 0);",
|
|
"dlerror();"
|
|
]
|
|
},
|
|
"headers": "dlfcn.h",
|
|
"sources": [
|
|
"",
|
|
"-ldl"
|
|
]
|
|
}
|
|
},
|
|
|
|
"testTypeDependencies": {
|
|
"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" ],
|
|
"getPkgConfigVariable": [ "pkg-config" ]
|
|
},
|
|
|
|
"testTypeAliases": {
|
|
"compile": [ "library", "architecture", "x86Simd", "x86SimdAlways" ]
|
|
},
|
|
|
|
"tests": {
|
|
"machineTuple": {
|
|
"label": "machine tuple",
|
|
"type": "machineTuple"
|
|
},
|
|
"verifyspec": {
|
|
"label": "valid makespec",
|
|
"type": "verifySpec",
|
|
"test": "verifyspec"
|
|
},
|
|
"architecture": {
|
|
"label": "target architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"output": "arch",
|
|
"log": "arch"
|
|
},
|
|
"host_architecture": {
|
|
"label": "host architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"output": "arch_host",
|
|
"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": "stl"
|
|
},
|
|
"c99": {
|
|
"label": "C99 support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if __STDC_VERSION__ >= 199901L",
|
|
"// Compiler claims to support C99, trust it",
|
|
"#else",
|
|
"# error __STDC_VERSION__ must be >= 199901L",
|
|
"#endif"
|
|
],
|
|
"lang": "c",
|
|
"qmake": "CONFIG += c99"
|
|
}
|
|
},
|
|
"c11": {
|
|
"label": "C11 support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if __STDC_VERSION__ >= 201112L",
|
|
"// Compiler claims to support C11, trust it",
|
|
"#else",
|
|
"# error __STDC_VERSION__ must be >= 201112L",
|
|
"#endif"
|
|
],
|
|
"lang": "c",
|
|
"qmake": "CONFIG += c11"
|
|
}
|
|
},
|
|
"cxx14": {
|
|
"label": "C++14 support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if __cplusplus > 201103L",
|
|
"// Compiler claims to support C++14, trust it",
|
|
"#else",
|
|
"# error __cplusplus must be > 201103L (the value of C++11)",
|
|
"#endif"
|
|
],
|
|
"qmake": "CONFIG += c++11 c++14"
|
|
}
|
|
},
|
|
"cxx17": {
|
|
"label": "C++17 support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if __cplusplus > 201402L",
|
|
"// Compiler claims to support C++17, trust it",
|
|
"#else",
|
|
"# error __cplusplus must be > 201402L (the value for C++14)",
|
|
"#endif",
|
|
"#include <map> // https://bugs.llvm.org//show_bug.cgi?id=33117",
|
|
"#include <variant>"
|
|
],
|
|
"main": [
|
|
"std::variant<int> v(42);",
|
|
"int i = std::get<int>(v);",
|
|
"std::visit([](const auto &) { return 1; }, v);"
|
|
],
|
|
"qmake": "CONFIG += c++11 c++14 c++17"
|
|
}
|
|
},
|
|
"cxx2a": {
|
|
"label": "C++2a support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if __cplusplus > 201703L",
|
|
"// Compiler claims to support experimental C++2a, trust it",
|
|
"#else",
|
|
"# error __cplusplus must be > 201703L (the value for C++17)",
|
|
"#endif"
|
|
],
|
|
"qmake": "CONFIG += c++11 c++14 c++17 c++2a"
|
|
}
|
|
},
|
|
"precompile_header": {
|
|
"label": "precompiled header support",
|
|
"type": "compile",
|
|
"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",
|
|
"flag": "-Og"
|
|
},
|
|
"enable_new_dtags": {
|
|
"label": "new dtags support",
|
|
"type": "linkerSupportsFlag",
|
|
"flag": "--enable-new-dtags"
|
|
},
|
|
"gdb_index": {
|
|
"label": "gdb index support",
|
|
"type": "linkerSupportsFlag",
|
|
"flag": "--gdb-index"
|
|
},
|
|
"reduce_exports": {
|
|
"label": "symbol visibility support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if defined(__GNUC__)",
|
|
"__attribute((visibility(\"default\")))",
|
|
"#elif defined(__SUNPRO_CC)",
|
|
"__global",
|
|
"#else",
|
|
"# error GCC4+ or SunStudio 8+ are required to support ELF visibility",
|
|
"#endif"
|
|
],
|
|
"qmake": [
|
|
"TEMPLATE = lib",
|
|
"CONFIG += dll hide_symbols",
|
|
"isEmpty(QMAKE_CFLAGS_HIDESYMS): error(\"Nope\")"
|
|
]
|
|
}
|
|
},
|
|
"reduce_relocations": {
|
|
"label": "-Bsymbolic-functions support",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64))",
|
|
"# error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).",
|
|
"#endif"
|
|
],
|
|
"qmake": [
|
|
"TEMPLATE = lib",
|
|
"CONFIG += dll bsymbolic_functions",
|
|
"isEmpty(QMAKE_LFLAGS_BSYMBOLIC_FUNC): error(\"Nope\")"
|
|
]
|
|
}
|
|
},
|
|
"build_parts": {
|
|
"type": "buildParts"
|
|
},
|
|
"separate_debug_info": {
|
|
"label": "separate debug information support",
|
|
"type": "compile"
|
|
},
|
|
"gc_binaries": {
|
|
"label": "support for split sections and linker garbage collection",
|
|
"type": "compile",
|
|
"test": {
|
|
"qmake": [
|
|
"isEmpty(QMAKE_CFLAGS_SPLIT_SECTIONS): error(\"Nope\")",
|
|
"isEmpty(QMAKE_CXXFLAGS_SPLIT_SECTIONS): error(\"Nope\")",
|
|
"isEmpty(QMAKE_LFLAGS_GCSECTIONS): error(\"Nope\")"
|
|
]
|
|
}
|
|
},
|
|
"signaling_nan": {
|
|
"label": "Signaling NaN for doubles",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [ "#include <limits>" ],
|
|
"main": [
|
|
"using B = std::numeric_limits<double>;",
|
|
"static_assert(B::has_signaling_NaN, \"System lacks signaling NaN\");"
|
|
]
|
|
}
|
|
},
|
|
"sse2": {
|
|
"label": "SSE2 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"sse3": {
|
|
"label": "SSE3 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"ssse3": {
|
|
"label": "SSSE3 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"sse4_1": {
|
|
"label": "SSE4.1 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"sse4_2": {
|
|
"label": "SSE4.2 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"aesni": {
|
|
"label": "AES new instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"f16c": {
|
|
"label": "F16C instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"rdrnd": {
|
|
"label": "RDRAND instruction",
|
|
"type": "x86Simd"
|
|
},
|
|
"rdseed": {
|
|
"label": "RDSEED instruction",
|
|
"type": "x86Simd"
|
|
},
|
|
"shani": {
|
|
"label": "SHA new instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx": {
|
|
"label": "AVX instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx2": {
|
|
"label": "AVX2 instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512f": {
|
|
"label": "AVX512 F instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512er": {
|
|
"label": "AVX512 ER instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512cd": {
|
|
"label": "AVX512 CD instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512pf": {
|
|
"label": "AVX512 PF instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512dq": {
|
|
"label": "AVX512 DQ instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512bw": {
|
|
"label": "AVX512 BW instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512vl": {
|
|
"label": "AVX512 VL instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512ifma": {
|
|
"label": "AVX512 IFMA instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"avx512vbmi": {
|
|
"label": "AVX512 VBMI instructions",
|
|
"type": "x86Simd"
|
|
},
|
|
"x86SimdAlways": {
|
|
"label": "Intrinsics without -mXXX argument",
|
|
"type": "x86SimdAlways",
|
|
"test": "x86_simd"
|
|
},
|
|
"posix_fallocate": {
|
|
"label": "POSIX fallocate()",
|
|
"type": "compile",
|
|
"test": {
|
|
"include": [ "fcntl.h", "unistd.h" ],
|
|
"main": "(void) posix_fallocate(0, 0, 0);"
|
|
}
|
|
},
|
|
"alloca_stdlib_h": {
|
|
"label": "alloca() in stdlib.h",
|
|
"type": "compile",
|
|
"test": {
|
|
"include": "stdlib.h",
|
|
"main": "alloca(1);"
|
|
}
|
|
},
|
|
"alloca_h": {
|
|
"label": "alloca() in alloca.h",
|
|
"type": "compile",
|
|
"test": {
|
|
"include": "alloca.h",
|
|
"tail": [
|
|
"#ifdef __QNXNTO__",
|
|
"// extra include needed in QNX7 to define NULL for the alloca() macro",
|
|
"# include <stddef.h>",
|
|
"#endif"
|
|
],
|
|
"main": "alloca(1);"
|
|
}
|
|
},
|
|
"alloca_malloc_h": {
|
|
"label": "alloca() in malloc.h",
|
|
"type": "compile",
|
|
"test": {
|
|
"include": "malloc.h",
|
|
"main": "alloca(1);"
|
|
}
|
|
},
|
|
"stack_protector": {
|
|
"label": "stack protection",
|
|
"type": "compile",
|
|
"test": {
|
|
"head": [
|
|
"#ifdef __QNXNTO__",
|
|
"# include <sys/neutrino.h>",
|
|
"# if _NTO_VERSION < 700",
|
|
"# error stack-protector not used (by default) before QNX 7.0.0.",
|
|
"# endif",
|
|
"#endif"
|
|
],
|
|
"qmake": "QMAKE_CXXFLAGS += -fstack-protector-strong"
|
|
}
|
|
},
|
|
"incredibuild_xge": {
|
|
"label": "IncrediBuild",
|
|
"type": "files",
|
|
"files": [ "BuildConsole.exe", "xgConsole.exe" ]
|
|
},
|
|
"ccache": {
|
|
"label": "ccache",
|
|
"type": "files",
|
|
"files": [ "ccache" ]
|
|
},
|
|
"intelcet": {
|
|
"label": "Support for Intel Control-flow Enforcement Technology",
|
|
"type": "compile",
|
|
"test": {
|
|
"main": [
|
|
"#if !defined(__CET__)",
|
|
"# error Intel CET not available",
|
|
"#endif"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
|
|
"features": {
|
|
"prepare": {
|
|
"condition": "features.gcc-sysroot || true",
|
|
"output": [ "prepareSpec", "prepareOptions", "preparePaths", "reloadSpec" ]
|
|
},
|
|
"machineTuple": {
|
|
"condition": "config.linux && !config.android && tests.machineTuple",
|
|
"output": [ "machineTuple" ]
|
|
},
|
|
"commit": {
|
|
"condition": "features.machineTuple || true",
|
|
"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 && !config.wasm && !config.rtems",
|
|
"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" ]
|
|
},
|
|
"gc_binaries": {
|
|
"condition": "!features.shared && tests.gc_binaries",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"gcc-sysroot": {
|
|
"output": [ "gccSysroot" ],
|
|
"condition": "input.sysroot != ''"
|
|
},
|
|
"qmakeargs": {
|
|
"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": "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 && !config.rtems && 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",
|
|
"autoDetect": "!features.developer-build",
|
|
"condition": "!config.msvc && !config.clang && (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.gcc) || config.darwin"
|
|
},
|
|
"debug_and_release": {
|
|
"label": "Compile libs in debug and release mode",
|
|
"autoDetect": "input.debug == '' && !(config.win32 && config.gcc)",
|
|
"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",
|
|
"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",
|
|
"condition": "!config.android",
|
|
"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": false,
|
|
"condition": "!config.wasm",
|
|
"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.rtems",
|
|
"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_fuzzer_no_link": {
|
|
"label": "Fuzzer (instrumentation only)",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ],
|
|
"purpose": "Adds instrumentation for fuzzing to the binaries but links to the usual main function instead of a fuzzer's."
|
|
},
|
|
"sanitize_undefined": {
|
|
"label": "Undefined",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitizer": {
|
|
"label": "Sanitizers",
|
|
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_fuzzer_no_link || features.sanitize_undefined",
|
|
"output": [ "sanitizer", "publicConfig" ]
|
|
},
|
|
"coverage_trace_pc_guard": {
|
|
"label": "trace-pc-guard",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"coverage_source_based": {
|
|
"label": "source-based",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"coverage": {
|
|
"label": "Code Coverage Instrumentation",
|
|
"condition": "features.coverage_trace_pc_guard || features.coverage_source_based",
|
|
"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.cxx14",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++17": {
|
|
"label": "C++17",
|
|
"condition": "features.c++14 && tests.cxx17",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++1z": {
|
|
"label": "C++17",
|
|
"condition": "features.c++17",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++2a": {
|
|
"label": "C++2a",
|
|
"autoDetect": false,
|
|
"condition": "features.c++17 && tests.cxx2a",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c89": {
|
|
"label": "C89"
|
|
},
|
|
"c99": {
|
|
"label": "C99",
|
|
"condition": "tests.c99",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"c11": {
|
|
"label": "C11",
|
|
"condition": "features.c99 && tests.c11",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"precompile_header": {
|
|
"label": "Using precompiled headers",
|
|
"condition": "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" ]
|
|
},
|
|
"enable_gdb_index": {
|
|
"label": "Generating GDB index",
|
|
"autoDetect": "features.developer-build",
|
|
"condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release) && tests.gdb_index",
|
|
"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" }
|
|
]
|
|
},
|
|
"signaling_nan": {
|
|
"label": "Signaling NaN",
|
|
"condition": "tests.signaling_nan",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"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 && (!config.android || !arch.x86_64)",
|
|
"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 && (!config.android || !arch.x86_64)",
|
|
"output": [
|
|
"privateConfig",
|
|
"privateFeature",
|
|
{ "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 }
|
|
]
|
|
},
|
|
"aesni": {
|
|
"label": "AES",
|
|
"condition": "features.sse2 && tests.aesni",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AES", "value": 1 }
|
|
]
|
|
},
|
|
"rdrnd": {
|
|
"label": "RDRAND",
|
|
"condition": "tests.rdrnd",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_RDRND", "value": 1 }
|
|
]
|
|
},
|
|
"rdseed": {
|
|
"label": "RDSEED",
|
|
"condition": "tests.rdseed",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_RDSEED", "value": 1 }
|
|
]
|
|
},
|
|
"shani": {
|
|
"label": "SHA",
|
|
"condition": "features.sse2 && tests.shani",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SHA", "value": 1 }
|
|
]
|
|
},
|
|
"x86SimdAlways": {
|
|
"label": "Intrinsics without -mXXX option",
|
|
"condition": "(arch.i386 || arch.x86_64) && tests.x86SimdAlways",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SIMD_ALWAYS", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dsp": {
|
|
"label": "DSP",
|
|
"condition": "arch.mips && subarch.dsp",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dspr2": {
|
|
"label": "DSPr2",
|
|
"condition": "arch.mips && subarch.dspr2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 }
|
|
]
|
|
},
|
|
"neon": {
|
|
"label": "NEON",
|
|
"condition": "(arch.arm || arch.arm64) && subarch.neon",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 }
|
|
]
|
|
},
|
|
"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" ]
|
|
},
|
|
"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": {
|
|
"label": "QFuture",
|
|
"purpose": "Provides QFuture and related classes.",
|
|
"section": "Kernel",
|
|
"condition": "features.thread",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"concurrent": {
|
|
"label": "Qt Concurrent",
|
|
"purpose": "Provides a high-level multi-threading API.",
|
|
"section": "Kernel",
|
|
"condition": "features.future",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"dbus": {
|
|
"label": "Qt D-Bus",
|
|
"autoDetect": "!config.uikit && !config.android",
|
|
"condition": "features.thread",
|
|
"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",
|
|
"condition": "features.thread",
|
|
"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" ]
|
|
},
|
|
"compile_examples": {
|
|
"label": "Compile examples",
|
|
"autoDetect": "!config.wasm",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"incredibuild_xge": {
|
|
"label": "IncrediBuild",
|
|
"emitIf": "var.QMAKE_HOST.os == 'Windows'",
|
|
"condition": "tests.incredibuild_xge",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"ccache": {
|
|
"label": "Using ccache",
|
|
"autoDetect": false,
|
|
"condition": "tests.ccache",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"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" ]
|
|
},
|
|
"dlopen": {
|
|
"label": "dlopen()",
|
|
"condition": "config.unix && libs.libdl",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"relocatable": {
|
|
"label": "Relocatable",
|
|
"purpose": "Enable the Qt installation to be relocated.",
|
|
"autoDetect": "features.shared",
|
|
"condition": "features.dlopen || config.win32 || !features.shared",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"intelcet": {
|
|
"label": "Using Intel CET",
|
|
"condition": "tests.intelcet",
|
|
"output": [ "privateFeature" ]
|
|
}
|
|
},
|
|
|
|
"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"
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "features.coverage && !config.clang",
|
|
"message": "Command line option -coverage is only supported with clang compilers."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "features.sanitize_fuzzer_no_link && !config.clang",
|
|
"message": "Command line option -sanitize fuzzer-no-link is only supported with clang compilers."
|
|
}
|
|
],
|
|
|
|
"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": "error",
|
|
"condition": "!features.stl",
|
|
"message": "Qt requires a compliant STL library."
|
|
},
|
|
{
|
|
"type": "emccVersion",
|
|
"condition": "config.wasm"
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "config.ios && features.debug && !features.debug_and_release",
|
|
"message": "Debug build wihtout Release build is not currently supported on ios see QTBUG-71990. Use -debug-and-release."
|
|
}
|
|
],
|
|
|
|
"summary": [
|
|
{
|
|
"type": "buildTypeAndConfig"
|
|
},
|
|
{
|
|
"section": "Build options",
|
|
"entries": [
|
|
{
|
|
"message": "Mode",
|
|
"type": "buildMode"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "optimize_debug",
|
|
"condition": "!config.msvc && !config.clang && (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": "c11 c99 c89"
|
|
},
|
|
{
|
|
"message": "Using C++ standard",
|
|
"type": "firstAvailableFeature",
|
|
"args": "c++2a c++17 c++14 c++11"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "ccache",
|
|
"condition": "config.unix"
|
|
},
|
|
{
|
|
"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",
|
|
"condition": "config.linux"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "enable_gdb_index",
|
|
"condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release)"
|
|
},
|
|
"relocatable",
|
|
"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",
|
|
"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)"
|
|
},
|
|
{
|
|
"message": "Other x86",
|
|
"type": "featureList",
|
|
"args": "aesni f16c rdrnd shani",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "x86SimdAlways",
|
|
"condition": "(arch.i386 || arch.x86_64) && !config.msvc"
|
|
},
|
|
{
|
|
"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_fuzzer_no_link",
|
|
"sanitize_undefined"
|
|
]
|
|
},
|
|
{
|
|
"message": "Code Coverage Instrumentation",
|
|
"type": "firstAvailableFeature",
|
|
"args": "coverage_trace_pc_guard coverage_source_based",
|
|
"condition": "features.coverage"
|
|
},
|
|
{
|
|
"message": "Build parts",
|
|
"type": "buildParts"
|
|
},
|
|
{
|
|
"type": "feature",
|
|
"args": "appstore-compliant",
|
|
"condition": "config.darwin || config.android || 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",
|
|
"libudev",
|
|
"system-zlib",
|
|
"zstd"
|
|
]
|
|
}
|
|
]
|
|
|
|
}
|