| { |
| "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", |
| "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-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" }, |
| "qtlibinfix-plugins": { "type": "boolean", "name": "qt_libinfix_plugins" }, |
| "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", |
| "test": { |
| "qmake": [ |
| "TARGET = objcopytest", |
| "load(resolve_target)", |
| "QMAKE_POST_LINK += \\", |
| " $$QMAKE_OBJCOPY --only-keep-debug $$QMAKE_RESOLVED_TARGET objcopytest.debug && \\", |
| " $$QMAKE_OBJCOPY --strip-debug $$QMAKE_RESOLVED_TARGET && \\", |
| " $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopytest.debug $$QMAKE_RESOLVED_TARGET" |
| ] |
| } |
| }, |
| "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 || 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", |
| "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": "features.developer-build", |
| "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.winrt && !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", |
| "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", |
| "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 && !config.winrt", |
| "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" ] |
| }, |
| "qt_libinfix_plugins": { |
| "label": "Use QT_LIBINFIX for Plugins", |
| "autoDetect": false, |
| "enable": "input.qt_libinfix != '' && input.qt_libinfix_plugins == 'yes'", |
| "output": [ "privateConfig" ] |
| }, |
| "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": "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." |
| }, |
| { |
| "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.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", |
| "libudev", |
| "system-zlib", |
| "zstd" |
| ] |
| } |
| ] |
| |
| } |