1{ 2 "files": { 3 "qconfigSource": "src/corelib/global/qconfig.cpp", 4 "publicHeader": "src/corelib/global/qconfig.h", 5 "privateHeader": "src/corelib/global/qconfig_p.h", 6 "publicPro": "mkspecs/qconfig.pri", 7 "privatePro": "mkspecs/qmodule.pri" 8 }, 9 10 "subconfigs": [ 11 "src/corelib", 12 "src/network", 13 "src/gui", 14 "src/sql", 15 "src/xml", 16 "src/widgets", 17 "src/printsupport", 18 "src/plugins/sqldrivers", 19 "src/testlib" 20 ], 21 22 "commandline": { 23 "assignments": { 24 "DBUS_HOST_PATH": "host_dbus.prefix", 25 "DBUS_PATH": "dbus.prefix" 26 }, 27 "custom": "qmakeArgs", 28 "options": { 29 "prefix": "string", 30 "hostprefix": "optionalString", 31 "extprefix": "string", 32 33 "archdatadir": "string", 34 "bindir": "string", 35 "datadir": "string", 36 "docdir": "string", 37 "examplesdir": "string", 38 "external-hostbindir": "string", 39 "headerdir": "string", 40 "hostbindir": "string", 41 "hostdatadir": "string", 42 "hostlibdir": "string", 43 "importdir": "string", 44 "libdir": "string", 45 "libexecdir": "string", 46 "plugindir": "string", 47 "qmldir": "string", 48 "settingsdir": { "type": "string", "name": "sysconfdir" }, 49 "sysconfdir": "string", 50 "testsdir": "string", 51 "translationdir": "string", 52 53 "android-arch": "string", 54 "android-abis": "string", 55 "android-ndk": "string", 56 "android-ndk-host": "string", 57 "android-ndk-platform": "string", 58 "android-sdk": "string", 59 "android-javac-target": "string", 60 "android-javac-source": "string", 61 62 "android-style-assets": "boolean", 63 "appstore-compliant": "boolean", 64 "avx": "boolean", 65 "avx2": "boolean", 66 "avx512": { "type": "boolean", "name": "avx512f" }, 67 "c++std": "cxxstd", 68 "ccache": { "type": "boolean", "name": "ccache" }, 69 "commercial": "void", 70 "compile-examples": { "type": "boolean", "name": "compile_examples" }, 71 "confirm-license": "void", 72 "coverage": "coverage", 73 "dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] }, 74 "dbus-linked": { "type": "void", "name": "dbus", "value": "linked" }, 75 "dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" }, 76 "debug": "void", 77 "debug-and-release": { "type": "boolean", "name": "debug_and_release" }, 78 "developer-build": "void", 79 "device": "string", 80 "device-option": "addString", 81 "f16c": "boolean", 82 "force-asserts": { "type": "boolean", "name": "force_asserts" }, 83 "force-debug-info": { "type": "boolean", "name": "force_debug_info" }, 84 "force-pkg-config": { "type": "void", "name": "pkg-config" }, 85 "framework": "boolean", 86 "gc-binaries": { "type": "boolean", "name": "gc_binaries" }, 87 "gdb-index": { "type": "boolean", "name": "enable_gdb_index" }, 88 "gcc-sysroot": "boolean", 89 "gcov": "boolean", 90 "gnumake": { "type": "boolean", "name": "GNUmake" }, 91 "gui": "boolean", 92 "headersclean": "boolean", 93 "incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" }, 94 "libudev": "boolean", 95 "linker": { "type": "optionalString", "values": [ "bfd", "gold", "lld" ] }, 96 "ltcg": "boolean", 97 "make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] }, 98 "make-tool": "string", 99 "mips_dsp": "boolean", 100 "mips_dspr2": "boolean", 101 "mp": { "type": "boolean", "name": "msvc_mp" }, 102 "nomake": { "type": "addString", "values": [ "examples", "tests", "tools" ] }, 103 "opensource": { "type": "void", "name": "commercial", "value": "no" }, 104 "optimize-debug": { "type": "boolean", "name": "optimize_debug" }, 105 "optimize-size": { "type": "boolean", "name": "optimize_size" }, 106 "optimized-qmake": { "type": "boolean", "name": "release_tools" }, 107 "optimized-tools": { "type": "boolean", "name": "release_tools" }, 108 "pch": { "type": "boolean", "name": "precompile_header" }, 109 "pkg-config": "boolean", 110 "platform": "string", 111 "plugin-manifests": "boolean", 112 "profile": "boolean", 113 "qreal": "string", 114 "qtlibinfix": { "type": "string", "name": "qt_libinfix" }, 115 "qtlibinfix-plugins": { "type": "boolean", "name": "qt_libinfix_plugins" }, 116 "qtnamespace": { "type": "string", "name": "qt_namespace" }, 117 "reduce-exports": { "type": "boolean", "name": "reduce_exports" }, 118 "reduce-relocations": { "type": "boolean", "name": "reduce_relocations" }, 119 "release": { "type": "enum", "name": "debug", "values": { "yes": "no", "no": "yes" } }, 120 "rpath": "boolean", 121 "sanitize": "sanitize", 122 "sdk": "string", 123 "separate-debug-info": { "type": "boolean", "name": "separate_debug_info" }, 124 "shared": "boolean", 125 "silent": "void", 126 "qdbus": { "type": "boolean", "name": "dbus" }, 127 "sse2": "boolean", 128 "sse3": "boolean", 129 "sse4.1": { "type": "boolean", "name": "sse4_1" }, 130 "sse4.2": { "type": "boolean", "name": "sse4_2" }, 131 "ssse3": "boolean", 132 "static": { "type": "enum", "name": "shared", "values": { "yes": "no", "no": "yes" } }, 133 "static-runtime": { "type": "boolean", "name": "static_runtime" }, 134 "strip": "boolean", 135 "syncqt": "boolean", 136 "sysroot": "string", 137 "testcocoon": "boolean", 138 "use-gold-linker": { "type": "boolean", "name": "use_gold_linker_alias" }, 139 "warnings-are-errors": { "type": "boolean", "name": "warnings_are_errors" }, 140 "Werror": { "type": "boolean", "name": "warnings_are_errors" }, 141 "widgets": "boolean", 142 "xplatform": "string", 143 "zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } }, 144 "zstd": "boolean" 145 }, 146 "prefix": { 147 "D": "defines", 148 "F": "fpaths", 149 "I": "includes", 150 "L": "lpaths", 151 "R": "rpaths", 152 "W": "wflags" 153 } 154 155 }, 156 157 "libraries": { 158 "zlib": { 159 "label": "zlib", 160 "test": { 161 "main": [ 162 "z_streamp stream = 0;", 163 "(void) zlibVersion();", 164 "(void) compress2(0, 0, 0, 0, 1); // compress2 was added in zlib version 1.0.8" 165 ] 166 }, 167 "headers": "zlib.h", 168 "sources": [ 169 { "libs": "-lzdll", "condition": "config.msvc" }, 170 { "libs": "-lzlib", "condition": "config.msvc" }, 171 { "libs": "-lz", "condition": "!config.msvc" }, 172 { "libs": "-s USE_ZLIB=1", "condition": "config.wasm" } 173 ] 174 }, 175 "zstd": { 176 "label": "Zstandard", 177 "test": { 178 "include": "zstd.h", 179 "main": [ 180 "(void) ZSTD_compress(NULL, 0, NULL, 0, 1);", 181 "unsigned long long n = ZSTD_getFrameContentSize(NULL, 0);", 182 "(void) ZSTD_decompress(NULL, 0, NULL, n);" 183 ] 184 }, 185 "sources": [ 186 { "type": "pkgConfig", "args": "libzstd >= 1.3" }, 187 "-lzstd" 188 ] 189 }, 190 "dbus": { 191 "label": "D-Bus >= 1.2", 192 "test": { 193 "main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);" 194 }, 195 "headers": "dbus/dbus.h", 196 "sources": [ 197 { "type": "pkgConfig", "args": "dbus-1 >= 1.2" }, 198 { 199 "libs": "", 200 "builds": { 201 "debug": "-ldbus-1d", 202 "release": "-ldbus-1" 203 }, 204 "condition": "config.win32" 205 }, 206 { "libs": "-ldbus-1", "condition": "!config.win32" } 207 ] 208 }, 209 "host_dbus": { 210 "label": "D-Bus >= 1.2 (host)", 211 "export": "", 212 "sources": [ 213 { "type": "pkgConfig", "host": true, "args": "dbus-1 >= 1.2" }, 214 { "libs": "", "comment": "placeholder for DBUS_HOST_PATH" } 215 ] 216 }, 217 "libudev": { 218 "label": "udev", 219 "test": { 220 "main": "udev_unref(udev_new());" 221 }, 222 "headers": "libudev.h", 223 "sources": [ 224 { "type": "pkgConfig", "args": "libudev" }, 225 "-ludev" 226 ] 227 }, 228 "libdl": { 229 "label": "dlopen()", 230 "test": { 231 "main": [ 232 "dlclose(dlopen(0, 0));", 233 "dlsym(RTLD_DEFAULT, 0);", 234 "dlerror();" 235 ] 236 }, 237 "headers": "dlfcn.h", 238 "sources": [ 239 "", 240 "-ldl" 241 ] 242 } 243 }, 244 245 "testTypeDependencies": { 246 "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ], 247 "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ], 248 "compile": [ "verifyspec" ], 249 "detectPkgConfig": [ "cross_compile", "machineTuple" ], 250 "library": [ "pkg-config", "compiler-flags" ], 251 "getPkgConfigVariable": [ "pkg-config" ] 252 }, 253 254 "testTypeAliases": { 255 "compile": [ "library", "architecture", "x86Simd", "x86SimdAlways" ] 256 }, 257 258 "tests": { 259 "machineTuple": { 260 "label": "machine tuple", 261 "type": "machineTuple" 262 }, 263 "verifyspec": { 264 "label": "valid makespec", 265 "type": "verifySpec", 266 "test": "verifyspec" 267 }, 268 "architecture": { 269 "label": "target architecture", 270 "type": "architecture", 271 "test": "arch", 272 "output": "arch", 273 "log": "arch" 274 }, 275 "host_architecture": { 276 "label": "host architecture", 277 "type": "architecture", 278 "test": "arch", 279 "output": "arch_host", 280 "host": true, 281 "pro": "arch_host.pro", 282 "log": "arch" 283 }, 284 "GNUmake": { 285 "label": "GNU make", 286 "type": "gnumake" 287 }, 288 "pkg-config": { 289 "label": "pkg-config", 290 "type": "detectPkgConfig" 291 }, 292 "stl": { 293 "label": "STL compatibility", 294 "type": "compile", 295 "test": "stl" 296 }, 297 "c99": { 298 "label": "C99 support", 299 "type": "compile", 300 "test": { 301 "head": [ 302 "#if __STDC_VERSION__ >= 199901L", 303 "// Compiler claims to support C99, trust it", 304 "#else", 305 "# error __STDC_VERSION__ must be >= 199901L", 306 "#endif" 307 ], 308 "lang": "c", 309 "qmake": "CONFIG += c99" 310 } 311 }, 312 "c11": { 313 "label": "C11 support", 314 "type": "compile", 315 "test": { 316 "head": [ 317 "#if __STDC_VERSION__ >= 201112L", 318 "// Compiler claims to support C11, trust it", 319 "#else", 320 "# error __STDC_VERSION__ must be >= 201112L", 321 "#endif" 322 ], 323 "lang": "c", 324 "qmake": "CONFIG += c11" 325 } 326 }, 327 "cxx14": { 328 "label": "C++14 support", 329 "type": "compile", 330 "test": { 331 "head": [ 332 "#if __cplusplus > 201103L", 333 "// Compiler claims to support C++14, trust it", 334 "#else", 335 "# error __cplusplus must be > 201103L (the value of C++11)", 336 "#endif" 337 ], 338 "qmake": "CONFIG += c++11 c++14" 339 } 340 }, 341 "cxx17": { 342 "label": "C++17 support", 343 "type": "compile", 344 "test": { 345 "head": [ 346 "#if __cplusplus > 201402L", 347 "// Compiler claims to support C++17, trust it", 348 "#else", 349 "# error __cplusplus must be > 201402L (the value for C++14)", 350 "#endif", 351 "#include <map> // https://bugs.llvm.org//show_bug.cgi?id=33117", 352 "#include <variant>" 353 ], 354 "main": [ 355 "std::variant<int> v(42);", 356 "int i = std::get<int>(v);", 357 "std::visit([](const auto &) { return 1; }, v);" 358 ], 359 "qmake": "CONFIG += c++11 c++14 c++17" 360 } 361 }, 362 "cxx2a": { 363 "label": "C++2a support", 364 "type": "compile", 365 "test": { 366 "head": [ 367 "#if __cplusplus > 201703L", 368 "// Compiler claims to support experimental C++2a, trust it", 369 "#else", 370 "# error __cplusplus must be > 201703L (the value for C++17)", 371 "#endif" 372 ], 373 "qmake": "CONFIG += c++11 c++14 c++17 c++2a" 374 } 375 }, 376 "precompile_header": { 377 "label": "precompiled header support", 378 "type": "compile", 379 "test": { 380 "files": { 381 "header.h": "#define HEADER_H" 382 }, 383 "tail": [ 384 "#ifndef HEADER_H", 385 "#error no go", 386 "#endif" 387 ], 388 "qmake": [ 389 "CONFIG += precompile_header", 390 "PRECOMPILED_DIR = .pch", 391 "PRECOMPILED_HEADER = header.h" 392 ] 393 } 394 }, 395 "use_bfd_linker": { 396 "label": "bfd linker", 397 "type": "compilerSupportsFlag", 398 "flag": "-fuse-ld=bfd" 399 }, 400 "use_gold_linker": { 401 "label": "gold linker", 402 "type": "compilerSupportsFlag", 403 "flag": "-fuse-ld=gold" 404 }, 405 "use_lld_linker" : { 406 "label": "lld linker", 407 "type": "compilerSupportsFlag", 408 "flag": "-fuse-ld=lld" 409 }, 410 "optimize_debug": { 411 "label": "-Og support", 412 "type": "compilerSupportsFlag", 413 "flag": "-Og" 414 }, 415 "enable_new_dtags": { 416 "label": "new dtags support", 417 "type": "linkerSupportsFlag", 418 "flag": "--enable-new-dtags" 419 }, 420 "gdb_index": { 421 "label": "gdb index support", 422 "type": "linkerSupportsFlag", 423 "flag": "--gdb-index" 424 }, 425 "reduce_exports": { 426 "label": "symbol visibility support", 427 "type": "compile", 428 "test": { 429 "head": [ 430 "#if defined(__GNUC__)", 431 "__attribute((visibility(\"default\")))", 432 "#elif defined(__SUNPRO_CC)", 433 "__global", 434 "#else", 435 "# error GCC4+ or SunStudio 8+ are required to support ELF visibility", 436 "#endif" 437 ], 438 "qmake": [ 439 "TEMPLATE = lib", 440 "CONFIG += dll hide_symbols", 441 "isEmpty(QMAKE_CFLAGS_HIDESYMS): error(\"Nope\")" 442 ] 443 } 444 }, 445 "reduce_relocations": { 446 "label": "-Bsymbolic-functions support", 447 "type": "compile", 448 "test": { 449 "head": [ 450 "#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64))", 451 "# error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).", 452 "#endif" 453 ], 454 "qmake": [ 455 "TEMPLATE = lib", 456 "CONFIG += dll bsymbolic_functions", 457 "isEmpty(QMAKE_LFLAGS_BSYMBOLIC_FUNC): error(\"Nope\")" 458 ] 459 } 460 }, 461 "build_parts": { 462 "type": "buildParts" 463 }, 464 "separate_debug_info": { 465 "label": "separate debug information support", 466 "type": "compile", 467 "test": { 468 "qmake": [ 469 "TARGET = objcopytest", 470 "load(resolve_target)", 471 "QMAKE_POST_LINK += \\", 472 " $$QMAKE_OBJCOPY --only-keep-debug $$QMAKE_RESOLVED_TARGET objcopytest.debug && \\", 473 " $$QMAKE_OBJCOPY --strip-debug $$QMAKE_RESOLVED_TARGET && \\", 474 " $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopytest.debug $$QMAKE_RESOLVED_TARGET" 475 ] 476 } 477 }, 478 "gc_binaries": { 479 "label": "support for split sections and linker garbage collection", 480 "type": "compile", 481 "test": { 482 "qmake": [ 483 "isEmpty(QMAKE_CFLAGS_SPLIT_SECTIONS): error(\"Nope\")", 484 "isEmpty(QMAKE_CXXFLAGS_SPLIT_SECTIONS): error(\"Nope\")", 485 "isEmpty(QMAKE_LFLAGS_GCSECTIONS): error(\"Nope\")" 486 ] 487 } 488 }, 489 "signaling_nan": { 490 "label": "Signaling NaN for doubles", 491 "type": "compile", 492 "test": { 493 "head": [ "#include <limits>" ], 494 "main": [ 495 "using B = std::numeric_limits<double>;", 496 "static_assert(B::has_signaling_NaN, \"System lacks signaling NaN\");" 497 ] 498 } 499 }, 500 "sse2": { 501 "label": "SSE2 instructions", 502 "type": "x86Simd" 503 }, 504 "sse3": { 505 "label": "SSE3 instructions", 506 "type": "x86Simd" 507 }, 508 "ssse3": { 509 "label": "SSSE3 instructions", 510 "type": "x86Simd" 511 }, 512 "sse4_1": { 513 "label": "SSE4.1 instructions", 514 "type": "x86Simd" 515 }, 516 "sse4_2": { 517 "label": "SSE4.2 instructions", 518 "type": "x86Simd" 519 }, 520 "aesni": { 521 "label": "AES new instructions", 522 "type": "x86Simd" 523 }, 524 "f16c": { 525 "label": "F16C instructions", 526 "type": "x86Simd" 527 }, 528 "rdrnd": { 529 "label": "RDRAND instruction", 530 "type": "x86Simd" 531 }, 532 "rdseed": { 533 "label": "RDSEED instruction", 534 "type": "x86Simd" 535 }, 536 "shani": { 537 "label": "SHA new instructions", 538 "type": "x86Simd" 539 }, 540 "avx": { 541 "label": "AVX instructions", 542 "type": "x86Simd" 543 }, 544 "avx2": { 545 "label": "AVX2 instructions", 546 "type": "x86Simd" 547 }, 548 "avx512f": { 549 "label": "AVX512 F instructions", 550 "type": "x86Simd" 551 }, 552 "avx512er": { 553 "label": "AVX512 ER instructions", 554 "type": "x86Simd" 555 }, 556 "avx512cd": { 557 "label": "AVX512 CD instructions", 558 "type": "x86Simd" 559 }, 560 "avx512pf": { 561 "label": "AVX512 PF instructions", 562 "type": "x86Simd" 563 }, 564 "avx512dq": { 565 "label": "AVX512 DQ instructions", 566 "type": "x86Simd" 567 }, 568 "avx512bw": { 569 "label": "AVX512 BW instructions", 570 "type": "x86Simd" 571 }, 572 "avx512vl": { 573 "label": "AVX512 VL instructions", 574 "type": "x86Simd" 575 }, 576 "avx512ifma": { 577 "label": "AVX512 IFMA instructions", 578 "type": "x86Simd" 579 }, 580 "avx512vbmi": { 581 "label": "AVX512 VBMI instructions", 582 "type": "x86Simd" 583 }, 584 "x86SimdAlways": { 585 "label": "Intrinsics without -mXXX argument", 586 "type": "x86SimdAlways", 587 "test": "x86_simd" 588 }, 589 "posix_fallocate": { 590 "label": "POSIX fallocate()", 591 "type": "compile", 592 "test": { 593 "include": [ "fcntl.h", "unistd.h" ], 594 "main": "(void) posix_fallocate(0, 0, 0);" 595 } 596 }, 597 "alloca_stdlib_h": { 598 "label": "alloca() in stdlib.h", 599 "type": "compile", 600 "test": { 601 "include": "stdlib.h", 602 "main": "alloca(1);" 603 } 604 }, 605 "alloca_h": { 606 "label": "alloca() in alloca.h", 607 "type": "compile", 608 "test": { 609 "include": "alloca.h", 610 "tail": [ 611 "#ifdef __QNXNTO__", 612 "// extra include needed in QNX7 to define NULL for the alloca() macro", 613 "# include <stddef.h>", 614 "#endif" 615 ], 616 "main": "alloca(1);" 617 } 618 }, 619 "alloca_malloc_h": { 620 "label": "alloca() in malloc.h", 621 "type": "compile", 622 "test": { 623 "include": "malloc.h", 624 "main": "alloca(1);" 625 } 626 }, 627 "stack_protector": { 628 "label": "stack protection", 629 "type": "compile", 630 "test": { 631 "head": [ 632 "#ifdef __QNXNTO__", 633 "# include <sys/neutrino.h>", 634 "# if _NTO_VERSION < 700", 635 "# error stack-protector not used (by default) before QNX 7.0.0.", 636 "# endif", 637 "#endif" 638 ], 639 "qmake": "QMAKE_CXXFLAGS += -fstack-protector-strong" 640 } 641 }, 642 "incredibuild_xge": { 643 "label": "IncrediBuild", 644 "type": "files", 645 "files": [ "BuildConsole.exe", "xgConsole.exe" ] 646 }, 647 "ccache": { 648 "label": "ccache", 649 "type": "files", 650 "files": [ "ccache" ] 651 }, 652 "intelcet": { 653 "label": "Support for Intel Control-flow Enforcement Technology", 654 "type": "compile", 655 "test": { 656 "main": [ 657 "#if !defined(__CET__)", 658 "# error Intel CET not available", 659 "#endif" 660 ] 661 } 662 } 663 }, 664 665 "features": { 666 "prepare": { 667 "condition": "features.gcc-sysroot || true", 668 "output": [ "prepareSpec", "prepareOptions", "preparePaths", "reloadSpec" ] 669 }, 670 "machineTuple": { 671 "condition": "config.linux && !config.android && tests.machineTuple", 672 "output": [ "machineTuple" ] 673 }, 674 "commit": { 675 "condition": "features.machineTuple || true", 676 "output": [ "commitOptions" ] 677 }, 678 "android-style-assets": { 679 "label": "Android Style Assets", 680 "condition": "config.android", 681 "output": [ "privateFeature" ], 682 "comment": "This belongs into gui, but the license check needs it here already." 683 }, 684 "shared": { 685 "label": "Building shared libraries", 686 "autoDetect": "!config.uikit", 687 "condition": "!config.integrity && !config.wasm && !config.rtems", 688 "output": [ 689 "shared", 690 "publicFeature", 691 "publicQtConfig", 692 "publicConfig" 693 ] 694 }, 695 "static": { 696 "condition": "!features.shared", 697 "output": [ 698 "publicFeature", 699 "publicQtConfig", 700 "publicConfig" 701 ] 702 }, 703 "cross_compile": { 704 "label": "Cross compiling", 705 "condition": "call.crossCompile", 706 "output": [ "publicConfig", "privateConfig", "publicFeature", "crossCompile" ] 707 }, 708 "compiler-flags": { 709 "output": [ "compilerFlags" ] 710 }, 711 "gc_binaries": { 712 "condition": "!features.shared && tests.gc_binaries", 713 "output": [ "privateFeature" ] 714 }, 715 "gcc-sysroot": { 716 "output": [ "gccSysroot" ], 717 "condition": "input.sysroot != ''" 718 }, 719 "qmakeargs": { 720 "output": [ "qmakeArgs" ], 721 "condition": "input.qmakeArgs != ''" 722 }, 723 "use_bfd_linker": { 724 "label": "bfd", 725 "autoDetect": "false", 726 "enable" : "input.linker == 'bfd'", 727 "disable" : "input.linker == 'gold' || input.linker == 'lld'", 728 "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_bfd_linker", 729 "output": [ "privateConfig", "useBFDLinker" ] 730 }, 731 "use_gold_linker_alias": { 732 "autoDetect": "false", 733 "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_gold_linker" 734 }, 735 "use_gold_linker": { 736 "label": "gold", 737 "autoDetect": "false", 738 "enable" : "input.linker == 'gold' || features.use_gold_linker_alias" , 739 "disable" : "input.linker == 'bfd' || input.linker == 'lld'", 740 "condition": "!config.win32 && !config.integrity && !config.wasm && !config.rtems && tests.use_gold_linker", 741 "output": [ "privateConfig", "useGoldLinker" ] 742 }, 743 "use_lld_linker": { 744 "label": "lld", 745 "autoDetect": "false", 746 "enable" : "input.linker == 'lld'", 747 "disable" : "input.linker == 'bfd' || input.linker == 'gold'", 748 "condition": "!config.win32 && !config.integrity && !config.wasm && tests.use_lld_linker", 749 "output": [ "privateConfig", "useLLDLinker" ] 750 }, 751 "optimize_debug": { 752 "label": "Optimize debug build", 753 "autoDetect": "!features.developer-build", 754 "condition": "!config.msvc && !config.clang && (features.debug || features.debug_and_release) && tests.optimize_debug", 755 "output": [ "privateConfig" ] 756 }, 757 "optimize_size": { 758 "label": "Optimize release build for size", 759 "autoDetect": false, 760 "condition": "!features.debug || features.debug_and_release", 761 "output": [ "privateConfig" ] 762 }, 763 "architecture": { 764 "label": "Architecture", 765 "output": [ "architecture" ] 766 }, 767 "pkg-config": { 768 "label": "Using pkg-config", 769 "autoDetect": "!config.darwin && !config.win32", 770 "condition": "tests.pkg-config", 771 "output": [ 772 "publicFeature", 773 { "type": "publicQtConfig", "negative": true }, 774 "pkgConfig" 775 ] 776 }, 777 "verifyspec": { 778 "label": "Have valid makespec", 779 "condition": "tests.verifyspec" 780 }, 781 "developer-build": { 782 "label": "Developer build", 783 "autoDetect": false, 784 "output": [ 785 { "type": "define", "name": "QT_BUILD_INTERNAL" }, 786 { "type": "privateFeature", "name": "private_tests" }, 787 { "type": "publicQtConfig", "name": "private_tests" } 788 ] 789 }, 790 "debug": { 791 "label": "Build for debugging", 792 "autoDetect": "features.developer-build || (config.win32 && !config.gcc) || config.darwin" 793 }, 794 "debug_and_release": { 795 "label": "Compile libs in debug and release mode", 796 "autoDetect": "input.debug == '' && !(config.win32 && config.gcc)", 797 "condition": "config.darwin || config.win32", 798 "output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ] 799 }, 800 "force_debug_info": { 801 "label": "Add debug info in release mode", 802 "autoDetect": false, 803 "output": [ "privateConfig" ] 804 }, 805 "separate_debug_info": { 806 "label": "Split off debug information", 807 "autoDetect": false, 808 "condition": [ 809 "features.shared", 810 "features.debug || features.debug_and_release || features.force_debug_info", 811 "config.darwin || tests.separate_debug_info" 812 ], 813 "output": [ "publicFeature", "publicQtConfig" ] 814 }, 815 "release_tools": { 816 "label": "Compile tools in release mode", 817 "autoDetect": "features.debug", 818 "output": [ "privateFeature", "publicQtConfig" ] 819 }, 820 "appstore-compliant": { 821 "label": "App store compliance", 822 "purpose": "Disables code that is not allowed in platform app stores", 823 "autoDetect": "config.uikit || config.android || config.winrt", 824 "output": [ "publicFeature" ] 825 }, 826 "simulator_and_device": { 827 "label": "Build for both simulator and device", 828 "condition": "config.uikit && input.sdk == ''", 829 "output": [ "publicFeature", "publicQtConfig" ] 830 }, 831 "build_all": { 832 "condition": "features.debug_and_release || features.simulator_and_device", 833 "output": [ "publicFeature", "publicQtConfig" ] 834 }, 835 "rpath": { 836 "label": "Build with RPATH", 837 "autoDetect": "var.QMAKE_LFLAGS_RPATH != '' && features.shared", 838 "condition": "!config.android", 839 "output": [ "publicFeature", "publicQtConfig" ] 840 }, 841 "rpath_dir": { 842 "label": "RPATH directory", 843 "enable": "input.rpaths != ''", 844 "autoDetect": false, 845 "output": [ { "type": "varAppend", "name": "EXTRA_RPATHS", "value": "input.rpaths" } ] 846 }, 847 "force_asserts": { 848 "label": "Force assertions", 849 "autoDetect": false, 850 "output": [ "publicFeature" ] 851 }, 852 "warnings_are_errors": { 853 "label": "WError", 854 "autoDetect": "features.developer-build", 855 "output": [ "privateConfig" ] 856 }, 857 "headersclean": { 858 "label": "Check for clean headers", 859 "autoDetect": "features.developer-build", 860 "condition": "!config.wasm", 861 "output": [ "privateConfig" ] 862 }, 863 "framework": { 864 "label": "Build Apple Frameworks", 865 "condition": "config.darwin && features.shared", 866 "output": [ 867 { "type": "define", "name": "QT_MAC_FRAMEWORK_BUILD" }, 868 "publicFeature", 869 { "type": "publicQtConfig", "name": "qt_framework"}, 870 { "type": "publicConfig", "name": "qt_framework"} 871 ] 872 }, 873 "largefile": { 874 "label": "Large file support", 875 "condition": "!config.android && !config.integrity && !config.winrt && !config.rtems", 876 "output": [ 877 "privateConfig", 878 { "type": "define", "name": "QT_LARGEFILE_SUPPORT", "value": 64 } 879 ] 880 }, 881 "testcocoon": { 882 "label": "Testcocoon support", 883 "autoDetect": false, 884 "output": [ "publicConfig" ] 885 }, 886 "gcov": { 887 "label": "gcov support", 888 "autoDetect": false, 889 "output": [ "publicConfig" ] 890 }, 891 "silent": { 892 "label": "Silent build", 893 "autoDetect": false, 894 "output": [ "privateConfig" ] 895 }, 896 "sanitize_address": { 897 "label": "Addresses", 898 "autoDetect": false, 899 "output": [ "publicConfig" ] 900 }, 901 "sanitize_thread": { 902 "label": "Threads", 903 "autoDetect": false, 904 "output": [ "publicConfig" ] 905 }, 906 "sanitize_memory": { 907 "label": "Memory", 908 "autoDetect": false, 909 "output": [ "publicConfig" ] 910 }, 911 "sanitize_fuzzer_no_link": { 912 "label": "Fuzzer (instrumentation only)", 913 "autoDetect": false, 914 "output": [ "publicConfig" ], 915 "purpose": [ "Adds instrumentation for fuzzing to the binaries but links to the usual main function instead of a fuzzer's." ] 916 }, 917 "sanitize_undefined": { 918 "label": "Undefined", 919 "autoDetect": false, 920 "output": [ "publicConfig" ] 921 }, 922 "sanitizer": { 923 "label": "Sanitizers", 924 "condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_fuzzer_no_link || features.sanitize_undefined", 925 "output": [ "sanitizer", "publicConfig" ] 926 }, 927 "coverage_trace_pc_guard": { 928 "label": "trace-pc-guard", 929 "autoDetect": false, 930 "output": [ "publicConfig" ] 931 }, 932 "coverage_source_based": { 933 "label": "source-based", 934 "autoDetect": false, 935 "output": [ "publicConfig" ] 936 }, 937 "coverage": { 938 "label": "Code Coverage Instrumentation", 939 "condition": "features.coverage_trace_pc_guard || features.coverage_source_based", 940 "output": [ "publicConfig" ] 941 }, 942 "GNUmake": { 943 "label": "GNU make", 944 "autoDetect": false, 945 "condition": "tests.GNUmake", 946 "output": [ "privateConfig" ] 947 }, 948 "plugin-manifests": { 949 "label": "Embed manifests in plugins", 950 "emitIf": "config.win32", 951 "autoDetect": false, 952 "output": [ { "type": "publicConfig", "negative": true, "name": "no_plugin_manifest" } ] 953 }, 954 "profile": { 955 "label": "GNU profiling support", 956 "autoDetect": false, 957 "output": [ 958 { "type": "varAppend", "name": "QMAKE_CFLAGS", "value": "'-pg'" }, 959 { "type": "varAppend", "name": "QMAKE_CXXFLAGS", "value": "'-pg'" }, 960 { "type": "varAppend", "name": "QMAKE_LFLAGS", "value": "'-pg'" } 961 ] 962 }, 963 "strip": { 964 "label": "Strip binaries", 965 "condition": "!features.profile", 966 "output": [ { "type": "privateConfig", "negative": true, "name": "nostrip" } ] 967 }, 968 "stl": { 969 "label": "STL compatibility", 970 "condition": "tests.stl", 971 "output": [ "publicQtConfig" ] 972 }, 973 "c++11": { 974 "label": "C++11", 975 "output": [ "publicFeature", "publicQtConfig" ] 976 }, 977 "c++14": { 978 "label": "C++14", 979 "condition": "features.c++11 && tests.cxx14", 980 "output": [ "publicFeature", "publicQtConfig" ] 981 }, 982 "c++17": { 983 "label": "C++17", 984 "condition": "features.c++14 && tests.cxx17", 985 "output": [ "publicFeature", "publicQtConfig" ] 986 }, 987 "c++1z": { 988 "label": "C++17", 989 "condition": "features.c++17", 990 "output": [ "publicFeature", "publicQtConfig" ] 991 }, 992 "c++2a": { 993 "label": "C++2a", 994 "autoDetect": false, 995 "condition": "features.c++17 && tests.cxx2a", 996 "output": [ "publicFeature", "publicQtConfig" ] 997 }, 998 "c89": { 999 "label": "C89" 1000 }, 1001 "c99": { 1002 "label": "C99", 1003 "condition": "tests.c99", 1004 "output": [ "publicFeature" ] 1005 }, 1006 "c11": { 1007 "label": "C11", 1008 "condition": "features.c99 && tests.c11", 1009 "output": [ "publicFeature" ] 1010 }, 1011 "precompile_header": { 1012 "label": "Using precompiled headers", 1013 "condition": "tests.precompile_header", 1014 "output": [ 1015 "privateConfig", 1016 { "type": "varRemove", "negative": true, "name": "CONFIG", "value": "'precompile_header'" } 1017 ] 1018 }, 1019 "ltcg": { 1020 "label": "Using LTCG", 1021 "autoDetect": false, 1022 "output": [ "privateConfig" ] 1023 }, 1024 "enable_new_dtags": { 1025 "label": "Using new DTAGS", 1026 "condition": "config.linux && tests.enable_new_dtags", 1027 "output": [ "privateConfig" ] 1028 }, 1029 "enable_gdb_index": { 1030 "label": "Generating GDB index", 1031 "autoDetect": "features.developer-build", 1032 "condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release) && tests.gdb_index", 1033 "output": [ "privateConfig" ] 1034 }, 1035 "reduce_exports": { 1036 "label": "Reduce amount of exported symbols", 1037 "condition": "!config.win32 && tests.reduce_exports", 1038 "output": [ 1039 "privateFeature", 1040 "publicQtConfig", 1041 { "type": "define", "name": "QT_VISIBILITY_AVAILABLE" } 1042 ] 1043 }, 1044 "reduce_relocations": { 1045 "label": "Reduce amount of relocations", 1046 "condition": "!config.win32 && tests.reduce_relocations", 1047 "output": [ 1048 "privateFeature", 1049 "publicQtConfig", 1050 { "type": "define", "name": "QT_REDUCE_RELOCATIONS" } 1051 ] 1052 }, 1053 "signaling_nan": { 1054 "label": "Signaling NaN", 1055 "condition": "tests.signaling_nan", 1056 "output": [ "publicFeature" ] 1057 }, 1058 "sse2": { 1059 "label": "SSE2", 1060 "condition": "(arch.i386 || arch.x86_64) && tests.sse2", 1061 "output": [ 1062 "privateConfig", 1063 "privateFeature", 1064 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE2", "value": 1 } 1065 ] 1066 }, 1067 "sse3": { 1068 "label": "SSE3", 1069 "condition": "features.sse2 && tests.sse3", 1070 "output": [ 1071 "privateConfig", 1072 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE3", "value": 1 } 1073 ] 1074 }, 1075 "ssse3": { 1076 "label": "SSSE3", 1077 "condition": "features.sse3 && tests.ssse3", 1078 "output": [ 1079 "privateConfig", 1080 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSSE3", "value": 1 } 1081 ] 1082 }, 1083 "sse4_1": { 1084 "label": "SSE4.1", 1085 "condition": "features.ssse3 && tests.sse4_1", 1086 "output": [ 1087 "privateConfig", 1088 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_1", "value": 1 } 1089 ] 1090 }, 1091 "sse4_2": { 1092 "label": "SSE4.2", 1093 "condition": "features.sse4_1 && tests.sse4_2", 1094 "output": [ 1095 "privateConfig", 1096 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_2", "value": 1 } 1097 ] 1098 }, 1099 "avx": { 1100 "label": "AVX", 1101 "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)", 1102 "output": [ 1103 "privateConfig", 1104 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 } 1105 ] 1106 }, 1107 "f16c": { 1108 "label": "F16C", 1109 "condition": "features.avx && tests.f16c", 1110 "output": [ 1111 "privateConfig", 1112 { "type": "define", "name": "QT_COMPILER_SUPPORTS_F16C", "value": 1 } 1113 ] 1114 }, 1115 "avx2": { 1116 "label": "AVX2", 1117 "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)", 1118 "output": [ 1119 "privateConfig", 1120 "privateFeature", 1121 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX2", "value": 1 } 1122 ] 1123 }, 1124 "avx512f": { 1125 "label": "F", 1126 "condition": "features.avx2 && tests.avx512f", 1127 "output": [ 1128 "privateConfig", 1129 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512F", "value": 1 } 1130 ] 1131 }, 1132 "avx512er": { 1133 "label": "ER", 1134 "condition": "features.avx512f && tests.avx512er", 1135 "output": [ 1136 "privateConfig", 1137 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512ER", "value": 1 } 1138 ] 1139 }, 1140 "avx512cd": { 1141 "label": "CD", 1142 "condition": "features.avx512f && tests.avx512cd", 1143 "output": [ 1144 "privateConfig", 1145 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512CD", "value": 1 } 1146 ] 1147 }, 1148 "avx512pf": { 1149 "label": "PF", 1150 "condition": "features.avx512f && tests.avx512pf", 1151 "output": [ 1152 "privateConfig", 1153 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512PF", "value": 1 } 1154 ] 1155 }, 1156 "avx512dq": { 1157 "label": "DQ", 1158 "condition": "features.avx512f && tests.avx512dq", 1159 "output": [ 1160 "privateConfig", 1161 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512DQ", "value": 1 } 1162 ] 1163 }, 1164 "avx512bw": { 1165 "label": "BW", 1166 "condition": "features.avx512f && tests.avx512bw", 1167 "output": [ 1168 "privateConfig", 1169 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512BW", "value": 1 } 1170 ] 1171 }, 1172 "avx512vl": { 1173 "label": "VL", 1174 "condition": "features.avx512f && tests.avx512vl", 1175 "output": [ 1176 "privateConfig", 1177 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VL", "value": 1 } 1178 ] 1179 }, 1180 "avx512ifma": { 1181 "label": "IFMA", 1182 "condition": "features.avx512f && tests.avx512ifma", 1183 "output": [ 1184 "privateConfig", 1185 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512IFMA", "value": 1 } 1186 ] 1187 }, 1188 "avx512vbmi": { 1189 "label": "VBMI", 1190 "condition": "features.avx512f && tests.avx512vbmi", 1191 "output": [ 1192 "privateConfig", 1193 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VBMI", "value": 1 } 1194 ] 1195 }, 1196 "aesni": { 1197 "label": "AES", 1198 "condition": "features.sse2 && tests.aesni", 1199 "output": [ 1200 "privateConfig", 1201 { "type": "define", "name": "QT_COMPILER_SUPPORTS_AES", "value": 1 } 1202 ] 1203 }, 1204 "rdrnd": { 1205 "label": "RDRAND", 1206 "condition": "tests.rdrnd", 1207 "output": [ 1208 "privateConfig", 1209 { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDRND", "value": 1 } 1210 ] 1211 }, 1212 "rdseed": { 1213 "label": "RDSEED", 1214 "condition": "tests.rdseed", 1215 "output": [ 1216 "privateConfig", 1217 { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDSEED", "value": 1 } 1218 ] 1219 }, 1220 "shani": { 1221 "label": "SHA", 1222 "condition": "features.sse2 && tests.shani", 1223 "output": [ 1224 "privateConfig", 1225 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SHA", "value": 1 } 1226 ] 1227 }, 1228 "x86SimdAlways": { 1229 "label": "Intrinsics without -mXXX option", 1230 "condition": "(arch.i386 || arch.x86_64) && tests.x86SimdAlways", 1231 "output": [ 1232 "privateConfig", 1233 { "type": "define", "name": "QT_COMPILER_SUPPORTS_SIMD_ALWAYS", "value": 1 } 1234 ] 1235 }, 1236 "mips_dsp": { 1237 "label": "DSP", 1238 "condition": "arch.mips && subarch.dsp", 1239 "output": [ 1240 "privateConfig", 1241 { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 } 1242 ] 1243 }, 1244 "mips_dspr2": { 1245 "label": "DSPr2", 1246 "condition": "arch.mips && subarch.dspr2", 1247 "output": [ 1248 "privateConfig", 1249 { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 } 1250 ] 1251 }, 1252 "neon": { 1253 "label": "NEON", 1254 "condition": "(arch.arm || arch.arm64) && subarch.neon", 1255 "output": [ 1256 "privateConfig", 1257 { "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 } 1258 ] 1259 }, 1260 "posix_fallocate": { 1261 "label": "POSIX fallocate()", 1262 "condition": "tests.posix_fallocate", 1263 "output": [ "privateFeature" ] 1264 }, 1265 "alloca_h": { 1266 "label": "alloca.h", 1267 "condition": "tests.alloca_h", 1268 "output": [ "privateFeature" ] 1269 }, 1270 "alloca_malloc_h": { 1271 "label": "alloca() in malloc.h", 1272 "condition": "!features.alloca_h && tests.alloca_malloc_h", 1273 "output": [ "privateFeature" ] 1274 }, 1275 "alloca": { 1276 "label": "alloca()", 1277 "condition": "features.alloca_h || features.alloca_malloc_h || tests.alloca_stdlib_h", 1278 "output": [ "privateFeature" ] 1279 }, 1280 "stack-protector-strong": { 1281 "label": "stack protection", 1282 "condition": "config.qnx && tests.stack_protector", 1283 "output": [ "privateFeature" ] 1284 }, 1285 "system-zlib": { 1286 "label": "Using system zlib", 1287 "condition": "libs.zlib", 1288 "output": [ "privateFeature" ] 1289 }, 1290 "zstd": { 1291 "label": "Zstandard support", 1292 "condition": "libs.zstd", 1293 "output": [ "privateFeature" ] 1294 }, 1295 "thread": { 1296 "label": "Thread support", 1297 "purpose": "Provides QThread and related classes.", 1298 "section": "Kernel", 1299 "autoDetect": "!config.wasm", 1300 "output": [ "publicFeature" ] 1301 }, 1302 "future": { 1303 "label": "QFuture", 1304 "purpose": "Provides QFuture and related classes.", 1305 "section": "Kernel", 1306 "condition": "features.thread", 1307 "output": [ "publicFeature" ] 1308 }, 1309 "concurrent": { 1310 "label": "Qt Concurrent", 1311 "purpose": "Provides a high-level multi-threading API.", 1312 "section": "Kernel", 1313 "condition": "features.future", 1314 "output": [ "publicFeature", "feature" ] 1315 }, 1316 "dbus": { 1317 "label": "Qt D-Bus", 1318 "autoDetect": "!config.uikit && !config.android && !config.winrt", 1319 "condition": "features.thread", 1320 "output": [ "privateFeature", "feature" ] 1321 }, 1322 "dbus-linked": { 1323 "label": "Qt D-Bus directly linked to libdbus", 1324 "enable": "input.dbus == 'linked'", 1325 "disable": "input.dbus == 'runtime'", 1326 "condition": "features.dbus && libs.dbus", 1327 "output": [ "privateFeature" ] 1328 }, 1329 "host-dbus": { 1330 "label": "Qt D-Bus (Host)", 1331 "autoDetect": "!config.android", 1332 "condition": "libs.host_dbus", 1333 "output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "libs.host_dbus.cflags", "eval": "true" } ] 1334 }, 1335 "build_parts": { 1336 "output": [ { "type": "varAppend", "name": "QT_BUILD_PARTS", "value": "tests.build_parts.value" } ] 1337 }, 1338 "qreal": { 1339 "label": "Type for qreal", 1340 "output": [ "qreal" ] 1341 }, 1342 "gui": { 1343 "label": "Qt Gui", 1344 "output": [ 1345 "privateFeature", 1346 { "type": "publicQtConfig", "negative": true } 1347 ] 1348 }, 1349 "network": { 1350 "label": "Qt Network", 1351 "output": [ "privateFeature" ] 1352 }, 1353 "sql": { 1354 "label": "Qt Sql", 1355 "condition": "features.thread", 1356 "output": [ "privateFeature" ] 1357 }, 1358 "testlib": { 1359 "label": "Qt Testlib", 1360 "output": [ "privateFeature" ] 1361 }, 1362 "widgets": { 1363 "label": "Qt Widgets", 1364 "autoDetect": "!config.tvos && !config.watchos", 1365 "condition": "features.gui", 1366 "output": [ 1367 "privateFeature", 1368 { "type": "define", "negative": true, "name": "QT_NO_WIDGETS" }, 1369 { "type": "publicQtConfig", "negative": true } 1370 ] 1371 }, 1372 "xml": { 1373 "label": "Qt Xml", 1374 "output": [ "privateFeature" ] 1375 }, 1376 "libudev": { 1377 "label": "udev", 1378 "condition": "libs.libudev", 1379 "output": [ "privateFeature" ] 1380 }, 1381 "qt_libinfix_plugins": { 1382 "label": "Use QT_LIBINFIX for Plugins", 1383 "autoDetect": false, 1384 "enable": "input.qt_libinfix != '' && input.qt_libinfix_plugins == 'yes'", 1385 "output": [ "privateConfig" ] 1386 }, 1387 "compile_examples": { 1388 "label": "Compile examples", 1389 "autoDetect": "!config.wasm", 1390 "output": [ "privateConfig" ] 1391 }, 1392 "incredibuild_xge": { 1393 "label": "IncrediBuild", 1394 "emitIf": "var.QMAKE_HOST.os == 'Windows'", 1395 "condition": "tests.incredibuild_xge", 1396 "output": [ "publicConfig" ] 1397 }, 1398 "ccache": { 1399 "label": "Using ccache", 1400 "autoDetect": false, 1401 "condition": "tests.ccache", 1402 "output": [ "privateConfig" ] 1403 }, 1404 "msvc_mp": { 1405 "label": "Use multiple processors when compiling with MSVC", 1406 "emitIf": "config.msvc", 1407 "autoDetect": "false", 1408 "output": [ "privateConfig" ] 1409 }, 1410 "static_runtime": { 1411 "label": "Statically link the C/C++ runtime library", 1412 "emitIf": "config.win32", 1413 "autoDetect": false, 1414 "condition": "!features.shared", 1415 "output": [ "publicConfig", "publicQtConfig" ] 1416 }, 1417 "dlopen": { 1418 "label": "dlopen()", 1419 "condition": "config.unix && libs.libdl", 1420 "output": [ "privateFeature" ] 1421 }, 1422 "relocatable": { 1423 "label": "Relocatable", 1424 "purpose": "Enable the Qt installation to be relocated.", 1425 "autoDetect": "features.shared", 1426 "condition": "features.dlopen || config.win32 || !features.shared", 1427 "output": [ "privateFeature" ] 1428 }, 1429 "intelcet": { 1430 "label": "Using Intel CET", 1431 "condition": "tests.intelcet", 1432 "output": [ "privateFeature" ] 1433 } 1434 }, 1435 1436 "earlyReport": [ 1437 { 1438 "type": "fatal", 1439 "condition": "input.xplatform != '' && input.device != ''", 1440 "message": "Cannot specify both -xplatform and -device." 1441 }, 1442 { 1443 "condition": "!features.prepare", 1444 "comment": "This is not an actual report - instead, it activates the early setup." 1445 }, 1446 { 1447 "type": "fatal", 1448 "condition": "!call.licenseCheck", 1449 "message": "You are not licensed to use this software." 1450 }, 1451 { 1452 "type": "warning", 1453 "condition": "input.debug_and_release == 'yes' && !config.darwin && !config.win32", 1454 "message": "-debug-and-release is only supported on Darwin and Windows platforms. 1455Qt can be built in release mode with separate debug information, so 1456-debug-and-release is no longer necessary." 1457 }, 1458 { 1459 "type": "error", 1460 "condition": "features.framework && features.debug && !features.debug_and_release", 1461 "message": "debug-only framework builds are not supported. Configure with -no-framework if you want a pure debug build." 1462 }, 1463 { 1464 "type": "error", 1465 "condition": "(features.rpath || features.rpath_dir) && !features.shared", 1466 "message": "Static builds don't support RPATH" 1467 }, 1468 { 1469 "type": "error", 1470 "condition": "(features.rpath || features.rpath_dir) && var.QMAKE_LFLAGS_RPATH == ''", 1471 "message": "This platform does not support RPATH" 1472 }, 1473 { 1474 "type": "error", 1475 "condition": "features.coverage && !config.clang", 1476 "message": "Command line option -coverage is only supported with clang compilers." 1477 }, 1478 { 1479 "type": "error", 1480 "condition": "features.sanitize_fuzzer_no_link && !config.clang", 1481 "message": "Command line option -sanitize fuzzer-no-link is only supported with clang compilers." 1482 } 1483 ], 1484 1485 "report": [ 1486 { 1487 "type": "note", 1488 "condition": "!features.shared", 1489 "message": "Using static linking will disable the use of dynamically 1490loaded plugins. Make sure to import all needed static plugins, 1491or compile needed modules into the library." 1492 }, 1493 { 1494 "type": "note", 1495 "condition": "features.release_tools && !features.debug", 1496 "message": "-optimized-tools is not useful in -release mode." 1497 }, 1498 { 1499 "type": "note", 1500 "condition": "input.qreal == 'double' && arch.arm", 1501 "message": "Qt is using double for qreal on this system. This is binary-incompatible against Qt 5.1. 1502Configure with '-qreal float' to create a build that is binary-compatible with 5.1." 1503 }, 1504 { 1505 "type": "error", 1506 "condition": "!features.stl", 1507 "message": "Qt requires a compliant STL library." 1508 }, 1509 { 1510 "type": "emccVersion", 1511 "condition": "config.wasm" 1512 }, 1513 { 1514 "type": "error", 1515 "condition": "config.ios && features.debug && !features.debug_and_release", 1516 "message": "Debug build wihtout Release build is not currently supported on ios see QTBUG-71990. Use -debug-and-release." 1517 } 1518 ], 1519 1520 "summary": [ 1521 { 1522 "type": "buildTypeAndConfig" 1523 }, 1524 { 1525 "section": "Build options", 1526 "entries": [ 1527 { 1528 "message": "Mode", 1529 "type": "buildMode" 1530 }, 1531 { 1532 "type": "feature", 1533 "args": "optimize_debug", 1534 "condition": "!config.msvc && !config.clang && (features.debug || features.debug_and_release)" 1535 }, 1536 { 1537 "type": "feature", 1538 "args": "optimize_size", 1539 "condition": "!features.debug || features.debug_and_release" 1540 }, 1541 "shared", 1542 { 1543 "message": "Using C standard", 1544 "type": "firstAvailableFeature", 1545 "args": "c11 c99 c89" 1546 }, 1547 { 1548 "message": "Using C++ standard", 1549 "type": "firstAvailableFeature", 1550 "args": "c++2a c++17 c++14 c++11" 1551 }, 1552 { 1553 "type": "feature", 1554 "args": "ccache", 1555 "condition": "config.unix" 1556 }, 1557 { 1558 "message": "Linker", 1559 "type": "firstAvailableFeature", 1560 "args": "use_bfd_linker use_gold_linker use_lld_linker", 1561 "condition": "features.use_bfd_linker || features.use_gold_linker || features.use_lld_linker" 1562 }, 1563 { 1564 "type": "feature", 1565 "args": "enable_new_dtags", 1566 "condition": "config.linux" 1567 }, 1568 { 1569 "type": "feature", 1570 "args": "enable_gdb_index", 1571 "condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release)" 1572 }, 1573 "relocatable", 1574 "precompile_header", 1575 "ltcg", 1576 { 1577 "section": "Target compiler supports", 1578 "entries": [ 1579 { 1580 "message": "SSE", 1581 "type": "featureList", 1582 "args": "sse2 sse3 ssse3 sse4_1 sse4_2", 1583 "condition": "(arch.i386 || arch.x86_64)" 1584 }, 1585 { 1586 "message": "AVX", 1587 "type": "featureList", 1588 "args": "avx avx2", 1589 "condition": "(arch.i386 || arch.x86_64)" 1590 }, 1591 { 1592 "message": "AVX512", 1593 "type": "featureList", 1594 "args": "avx512f avx512er avx512cd avx512pf avx512dq avx512bw avx512vl avx512ifma avx512vbmi", 1595 "condition": "(arch.i386 || arch.x86_64)" 1596 }, 1597 { 1598 "message": "Other x86", 1599 "type": "featureList", 1600 "args": "aesni f16c rdrnd shani", 1601 "condition": "(arch.i386 || arch.x86_64)" 1602 }, 1603 { 1604 "type": "feature", 1605 "args": "x86SimdAlways", 1606 "condition": "(arch.i386 || arch.x86_64) && !config.msvc" 1607 }, 1608 { 1609 "type": "feature", 1610 "args": "neon", 1611 "condition": "arch.arm || arch.arm64" 1612 }, 1613 { 1614 "type": "feature", 1615 "args": "mips_dsp", 1616 "condition": "arch.mips" 1617 }, 1618 { 1619 "type": "feature", 1620 "args": "mips_dspr2", 1621 "condition": "arch.mips" 1622 } 1623 ] 1624 }, 1625 { 1626 "section": "Sanitizers", 1627 "condition": "features.sanitizer", 1628 "entries": [ 1629 "sanitize_address", 1630 "sanitize_thread", 1631 "sanitize_memory", 1632 "sanitize_fuzzer_no_link", 1633 "sanitize_undefined" 1634 ] 1635 }, 1636 { 1637 "message": "Code Coverage Instrumentation", 1638 "type": "firstAvailableFeature", 1639 "args": "coverage_trace_pc_guard coverage_source_based", 1640 "condition": "features.coverage" 1641 }, 1642 { 1643 "message": "Build parts", 1644 "type": "buildParts" 1645 }, 1646 { 1647 "type": "feature", 1648 "args": "appstore-compliant", 1649 "condition": "config.darwin || config.android || config.winrt || config.win32" 1650 } 1651 ] 1652 }, { 1653 "section": "Qt modules and options", 1654 "entries": [ 1655 "concurrent", 1656 "dbus", 1657 "dbus-linked", 1658 "gui", 1659 "network", 1660 "sql", 1661 "testlib", 1662 "widgets", 1663 "xml" 1664 ] 1665 }, { 1666 "section": "Support enabled for", 1667 "entries": [ 1668 "pkg-config", 1669 "libudev", 1670 "system-zlib", 1671 "zstd" 1672 ] 1673 } 1674 ] 1675 1676} 1677