2016-06-11 20:49:01 +00:00
{
"files" : {
2016-11-24 17:41:48 +00:00
"qconfigSource" : "src/corelib/global/qconfig.cpp" ,
2016-06-11 20:49:01 +00:00
"publicHeader" : "src/corelib/global/qconfig.h" ,
2016-07-20 10:44:16 +00:00
"privateHeader" : "src/corelib/global/qconfig_p.h" ,
2016-06-11 20:49:01 +00:00
"publicPro" : "mkspecs/qconfig.pri" ,
"privatePro" : "mkspecs/qmodule.pri"
} ,
2016-09-09 07:50:08 +00:00
"subconfigs" : [
"src/corelib" ,
"src/network" ,
"src/gui" ,
2016-12-02 09:51:15 +00:00
"src/sql" ,
2016-08-26 19:19:12 +00:00
"src/xml" ,
2016-09-09 07:50:08 +00:00
"src/widgets" ,
2017-05-10 16:55:06 +00:00
"src/printsupport" ,
2018-02-09 14:38:27 +00:00
"src/plugins/sqldrivers" ,
"src/testlib"
2016-09-09 07:50:08 +00:00
] ,
2016-06-11 20:49:01 +00:00
"commandline" : {
2016-08-10 10:34:24 +00:00
"assignments" : {
"DBUS_HOST_PATH" : "host_dbus.prefix" ,
2017-02-08 20:22:08 +00:00
"DBUS_PATH" : "dbus.prefix"
2016-08-10 10:34:24 +00:00
} ,
replace mechanism to override variables from the mkspecs
it is sometimes desirable to override values from the mkspec without
modifying (or wrapping) the spec itself. linux distributors do this on a
regular basis.
so far, we'd pick up CFLAGS, etc. from the environment, in a somewhat
autoconf-like fashion. however, over time, this approach proved
problematic: the concept doesn't mix particularly well with mkspecs to
start with, is unexpected (and therefore causes frustration), and
doesn't mix well with cross-building (at least the way it was realized).
ironically, it was implemented this way (quite a while ago) upon my
explicit request ...
the new mechanism uses explicit variable manipulations on the configure
command line, just like qmake itself understands. as it happens, this is
again quite similar to autoconf-generated configure scripts. however,
this time around we don't pretend to be actually autoconf-like, so we
also don't try to map any variable names (some of which have different
semantics anyway).
this commit also eliminates the last use of the QMakeVar() function,
so delete it and the underlying infrastructure.
Task-number: QTBUG-32530
Task-number: QTBUG-42962
Change-Id: Id31a6b80e1add08ca21f5b178614bda530d12374
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-06 11:58:53 +00:00
"custom" : "qmakeArgs" ,
2016-06-11 20:49:01 +00:00
"options" : {
"prefix" : "string" ,
2016-11-08 17:02:52 +00:00
"hostprefix" : "optionalString" ,
2016-06-11 20:49:01 +00:00
"extprefix" : "string" ,
"archdatadir" : "string" ,
"bindir" : "string" ,
"datadir" : "string" ,
"docdir" : "string" ,
"examplesdir" : "string" ,
"external-hostbindir" : "string" ,
"headerdir" : "string" ,
"hostbindir" : "string" ,
"hostdatadir" : "string" ,
"hostlibdir" : "string" ,
"libdir" : "string" ,
"libexecdir" : "string" ,
"plugindir" : "string" ,
"qmldir" : "string" ,
2016-11-24 17:41:48 +00:00
"settingsdir" : { "type" : "string" , "name" : "sysconfdir" } ,
2016-06-11 20:49:01 +00:00
"sysconfdir" : "string" ,
"testsdir" : "string" ,
"translationdir" : "string" ,
"android-arch" : "string" ,
2019-08-19 08:42:51 +00:00
"android-abis" : "string" ,
2016-06-11 20:49:01 +00:00
"android-ndk" : "string" ,
"android-ndk-host" : "string" ,
"android-ndk-platform" : "string" ,
"android-sdk" : "string" ,
2020-09-11 08:07:44 +00:00
"android-javac-target" : "string" ,
"android-javac-source" : "string" ,
2016-06-11 20:49:01 +00:00
2016-11-18 17:17:49 +00:00
"android-style-assets" : "boolean" ,
2016-12-03 10:24:55 +00:00
"appstore-compliant" : "boolean" ,
2016-06-11 20:49:01 +00:00
"avx" : "boolean" ,
"avx2" : "boolean" ,
2016-06-30 13:19:23 +00:00
"avx512" : { "type" : "boolean" , "name" : "avx512f" } ,
2016-06-11 20:49:01 +00:00
"c++std" : "cxxstd" ,
2017-06-02 12:08:32 +00:00
"ccache" : { "type" : "boolean" , "name" : "ccache" } ,
2016-06-11 20:49:01 +00:00
"commercial" : "void" ,
"confirm-license" : "void" ,
2018-08-29 20:18:42 +00:00
"coverage" : "coverage" ,
2016-07-14 14:54:30 +00:00
"dbus" : { "type" : "optionalString" , "values" : [ "no" , "yes" , "linked" , "runtime" ] } ,
2016-06-11 20:49:01 +00:00
"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" ,
2016-11-24 17:41:57 +00:00
"device-option" : "addString" ,
2017-02-10 13:51:12 +00:00
"f16c" : "boolean" ,
2016-06-11 20:49:01 +00:00
"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" ,
2018-04-10 13:03:11 +00:00
"gc-binaries" : { "type" : "boolean" , "name" : "gc_binaries" } ,
2019-06-20 09:12:59 +00:00
"gdb-index" : { "type" : "boolean" , "name" : "enable_gdb_index" } ,
2016-06-11 20:49:01 +00:00
"gcc-sysroot" : "boolean" ,
"gcov" : "boolean" ,
"gnumake" : { "type" : "boolean" , "name" : "GNUmake" } ,
"gui" : "boolean" ,
"headersclean" : "boolean" ,
2016-08-14 07:48:55 +00:00
"incredibuild-xge" : { "type" : "boolean" , "name" : "incredibuild_xge" } ,
2016-06-11 20:49:01 +00:00
"libudev" : "boolean" ,
2019-01-17 14:39:32 +00:00
"linker" : { "type" : "optionalString" , "values" : [ "bfd" , "gold" , "lld" ] } ,
2016-06-11 20:49:01 +00:00
"ltcg" : "boolean" ,
"make" : { "type" : "addString" , "values" : [ "examples" , "libs" , "tests" , "tools" ] } ,
2016-08-14 07:48:55 +00:00
"make-tool" : "string" ,
2016-06-11 20:49:01 +00:00
"mips_dsp" : "boolean" ,
"mips_dspr2" : "boolean" ,
2016-08-14 07:48:55 +00:00
"mp" : { "type" : "boolean" , "name" : "msvc_mp" } ,
2016-06-11 20:49:01 +00:00
"nomake" : { "type" : "addString" , "values" : [ "examples" , "tests" , "tools" ] } ,
"opensource" : { "type" : "void" , "name" : "commercial" , "value" : "no" } ,
2016-11-17 14:01:59 +00:00
"optimize-debug" : { "type" : "boolean" , "name" : "optimize_debug" } ,
2017-04-07 13:49:10 +00:00
"optimize-size" : { "type" : "boolean" , "name" : "optimize_size" } ,
2016-06-11 20:49:01 +00:00
"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" ,
2016-08-14 07:48:55 +00:00
"plugin-manifests" : "boolean" ,
2016-06-11 20:49:01 +00:00
"profile" : "boolean" ,
"qreal" : "string" ,
"qtlibinfix" : { "type" : "string" , "name" : "qt_libinfix" } ,
"qtnamespace" : { "type" : "string" , "name" : "qt_namespace" } ,
"reduce-exports" : { "type" : "boolean" , "name" : "reduce_exports" } ,
"reduce-relocations" : { "type" : "boolean" , "name" : "reduce_relocations" } ,
"release" : { "type" : "enum" , "name" : "debug" , "values" : { "yes" : "no" , "no" : "yes" } } ,
"rpath" : "boolean" ,
"sanitize" : "sanitize" ,
"sdk" : "string" ,
"separate-debug-info" : { "type" : "boolean" , "name" : "separate_debug_info" } ,
"shared" : "boolean" ,
"silent" : "void" ,
2016-08-14 07:48:55 +00:00
"qdbus" : { "type" : "boolean" , "name" : "dbus" } ,
2016-06-11 20:49:01 +00:00
"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" } } ,
2016-08-14 07:48:55 +00:00
"static-runtime" : { "type" : "boolean" , "name" : "static_runtime" } ,
2016-06-11 20:49:01 +00:00
"strip" : "boolean" ,
2016-08-14 07:48:55 +00:00
"syncqt" : "boolean" ,
2016-06-11 20:49:01 +00:00
"sysroot" : "string" ,
"testcocoon" : "boolean" ,
2019-01-17 14:39:32 +00:00
"use-gold-linker" : { "type" : "boolean" , "name" : "use_gold_linker_alias" } ,
2016-06-11 20:49:01 +00:00
"warnings-are-errors" : { "type" : "boolean" , "name" : "warnings_are_errors" } ,
"Werror" : { "type" : "boolean" , "name" : "warnings_are_errors" } ,
"widgets" : "boolean" ,
"xplatform" : "string" ,
2018-11-01 05:42:14 +00:00
"zlib" : { "type" : "enum" , "name" : "system-zlib" , "values" : { "system" : "yes" , "qt" : "no" } } ,
"zstd" : "boolean"
2016-06-11 20:49:01 +00:00
} ,
"prefix" : {
"D" : "defines" ,
"F" : "fpaths" ,
"I" : "includes" ,
"L" : "lpaths" ,
"R" : "rpaths" ,
"W" : "wflags"
}
} ,
2016-08-15 12:40:52 +00:00
"libraries" : {
"zlib" : {
2016-08-26 19:10:56 +00:00
"label" : "zlib" ,
2017-08-01 16:30:33 +00:00
"test" : {
"main" : [
"z_streamp stream = 0;" ,
"(void) zlibVersion();" ,
"(void) compress2(0, 0, 0, 0, 1); // compress2 was added in zlib version 1.0.8"
]
} ,
2017-12-07 18:30:07 +00:00
"headers" : "zlib.h" ,
2016-08-15 12:40:52 +00:00
"sources" : [
{ "libs" : "-lzdll" , "condition" : "config.msvc" } ,
2018-08-22 11:03:34 +00:00
{ "libs" : "-lzlib" , "condition" : "config.msvc" } ,
2018-06-01 13:13:30 +00:00
{ "libs" : "-lz" , "condition" : "!config.msvc" } ,
{ "libs" : "-s USE_ZLIB=1" , "condition" : "config.wasm" }
2016-08-15 12:40:52 +00:00
]
} ,
2018-11-01 05:42:14 +00:00
"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"
]
} ,
2016-08-15 12:40:52 +00:00
"dbus" : {
2016-08-26 19:10:56 +00:00
"label" : "D-Bus >= 1.2" ,
2017-08-01 16:30:33 +00:00
"test" : {
2017-11-23 20:20:32 +00:00
"main" : "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);"
2017-08-01 16:30:33 +00:00
} ,
2017-12-07 18:30:07 +00:00
"headers" : "dbus/dbus.h" ,
2016-08-15 12:40:52 +00:00
"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" : {
2016-08-26 19:10:56 +00:00
"label" : "D-Bus >= 1.2 (host)" ,
2016-08-15 12:40:52 +00:00
"export" : "" ,
"sources" : [
2016-08-10 10:34:24 +00:00
{ "type" : "pkgConfig" , "host" : true , "args" : "dbus-1 >= 1.2" } ,
{ "libs" : "" , "comment" : "placeholder for DBUS_HOST_PATH" }
2016-08-15 12:40:52 +00:00
]
} ,
"libudev" : {
2016-08-26 19:10:56 +00:00
"label" : "udev" ,
2017-08-01 16:30:33 +00:00
"test" : {
"main" : "udev_unref(udev_new());"
} ,
2017-12-07 18:30:07 +00:00
"headers" : "libudev.h" ,
2016-08-15 12:40:52 +00:00
"sources" : [
{ "type" : "pkgConfig" , "args" : "libudev" } ,
"-ludev"
]
2017-11-09 17:00:46 +00:00
} ,
"libdl" : {
"label" : "dlopen()" ,
"test" : {
"main" : [
"dlclose(dlopen(0, 0));" ,
"dlsym(RTLD_DEFAULT, 0);" ,
"dlerror();"
]
} ,
"headers" : "dlfcn.h" ,
"sources" : [
"" ,
"-ldl"
]
2016-08-15 12:40:52 +00:00
}
} ,
2016-08-12 08:14:51 +00:00
"testTypeDependencies" : {
2019-01-17 14:39:32 +00:00
"linkerSupportsFlag" : [ "use_bfd_linker" , "use_gold_linker" , "use_lld_linker" ] ,
macOS: Don't hard-code x86_64 as the architecture when using qmake
The qmake variable QMAKE_APPLE_DEVICE_ARCHS was added for iOS,
to support universal builds, as the QT_ARCH is a single value.
Since the qmake macOS builds are non-universal (at the moment),
we remove the hard-coded value for QMAKE_APPLE_DEVICE_ARCHS on
macOS, and let the normal architecture test resolve the arch,
like on other platforms.
To ensure that the following configuration tests are run with
an -arch argument, we trigger a commit of the preliminary Qt
configuration after running the architecture test. This is not
strictly necessary, but makes it clearer what's going on during
configure.
The device_and_simulator configuration option was used by the
iOS toolchain, and needed to be moved up in the configuration
test order to not break later tests.
The logic in mac/default_post.prf for both Xcode and Makefiles
to add -arch flags was kept as is, based on the existing
variable, to avoid too many changes to this logic.
The logic in toolchain.prf was amended to make it clear and
ensure that it only applies to iOS builds. macOS builds do
not have this issue.
Pick-to: 6.0
Pick-to: 5.15
Pick-to: 5.12
Change-Id: I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-12-04 16:29:06 +00:00
"verifySpec" : [
"shared" ,
"use_bfd_linker" , "use_gold_linker" , "use_lld_linker" ,
"compiler-flags" , "qmakeargs" ,
"simulator_and_device" ,
"thread" ,
"commit" ] ,
2016-08-03 10:32:48 +00:00
"compile" : [ "verifyspec" ] ,
2016-11-24 17:41:57 +00:00
"detectPkgConfig" : [ "cross_compile" , "machineTuple" ] ,
2017-12-01 19:13:08 +00:00
"library" : [ "pkg-config" , "compiler-flags" ] ,
macOS: Don't hard-code x86_64 as the architecture when using qmake
The qmake variable QMAKE_APPLE_DEVICE_ARCHS was added for iOS,
to support universal builds, as the QT_ARCH is a single value.
Since the qmake macOS builds are non-universal (at the moment),
we remove the hard-coded value for QMAKE_APPLE_DEVICE_ARCHS on
macOS, and let the normal architecture test resolve the arch,
like on other platforms.
To ensure that the following configuration tests are run with
an -arch argument, we trigger a commit of the preliminary Qt
configuration after running the architecture test. This is not
strictly necessary, but makes it clearer what's going on during
configure.
The device_and_simulator configuration option was used by the
iOS toolchain, and needed to be moved up in the configuration
test order to not break later tests.
The logic in mac/default_post.prf for both Xcode and Makefiles
to add -arch flags was kept as is, based on the existing
variable, to avoid too many changes to this logic.
The logic in toolchain.prf was amended to make it clear and
ensure that it only applies to iOS builds. macOS builds do
not have this issue.
Pick-to: 6.0
Pick-to: 5.15
Pick-to: 5.12
Change-Id: I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-12-04 16:29:06 +00:00
"getPkgConfigVariable" : [ "pkg-config" ] ,
"architecture" : [ "verifyspec" ]
2016-08-12 08:14:51 +00:00
} ,
"testTypeAliases" : {
2017-11-16 05:31:30 +00:00
"compile" : [ "library" , "architecture" , "x86Simd" , "x86SimdAlways" ]
2016-08-12 08:14:51 +00:00
} ,
2016-06-11 20:49:01 +00:00
"tests" : {
2016-11-24 17:41:57 +00:00
"machineTuple" : {
"label" : "machine tuple" ,
"type" : "machineTuple"
} ,
2016-08-03 10:32:48 +00:00
"verifyspec" : {
2016-08-26 19:10:56 +00:00
"label" : "valid makespec" ,
2016-08-03 10:32:48 +00:00
"type" : "verifySpec" ,
2017-07-31 10:51:38 +00:00
"test" : "verifyspec"
2016-08-03 10:32:48 +00:00
} ,
2016-06-29 09:39:27 +00:00
"architecture" : {
2016-08-26 19:10:56 +00:00
"label" : "target architecture" ,
2016-06-29 09:39:27 +00:00
"type" : "architecture" ,
"test" : "arch" ,
2019-07-09 12:59:00 +00:00
"output" : "arch" ,
2016-06-29 09:39:27 +00:00
"log" : "arch"
} ,
"host_architecture" : {
2016-08-26 19:10:56 +00:00
"label" : "host architecture" ,
2016-06-29 09:39:27 +00:00
"type" : "architecture" ,
"test" : "arch" ,
2019-07-09 12:59:00 +00:00
"output" : "arch_host" ,
2016-06-29 09:39:27 +00:00
"host" : true ,
"pro" : "arch_host.pro" ,
"log" : "arch"
} ,
2016-06-11 20:49:01 +00:00
"GNUmake" : {
2016-08-26 19:10:56 +00:00
"label" : "GNU make" ,
2016-06-11 20:49:01 +00:00
"type" : "gnumake"
} ,
"pkg-config" : {
2016-08-26 19:10:56 +00:00
"label" : "pkg-config" ,
2016-06-11 20:49:01 +00:00
"type" : "detectPkgConfig"
} ,
"stl" : {
2016-08-26 19:10:56 +00:00
"label" : "STL compatibility" ,
2016-06-11 20:49:01 +00:00
"type" : "compile" ,
2017-07-31 10:51:38 +00:00
"test" : "stl"
2016-06-11 20:49:01 +00:00
} ,
2018-02-14 12:40:57 +00:00
"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"
}
} ,
2019-10-28 08:49:17 +00:00
"cxx14" : {
2016-08-26 19:10:56 +00:00
"label" : "C++14 support" ,
2016-06-11 20:49:01 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"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"
}
2016-06-11 20:49:01 +00:00
} ,
2019-10-28 08:49:17 +00:00
"cxx17" : {
2019-04-17 13:45:58 +00:00
"label" : "C++17 support" ,
2016-06-11 20:49:01 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"test" : {
"head" : [
"#if __cplusplus > 201402L" ,
2019-10-01 10:45:42 +00:00
"// Compiler claims to support C++17, trust it" ,
2017-08-01 16:30:33 +00:00
"#else" ,
"# error __cplusplus must be > 201402L (the value for C++14)" ,
"#endif" ,
2018-08-28 12:42:26 +00:00
"#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);"
2017-08-01 16:30:33 +00:00
] ,
2019-10-01 10:45:42 +00:00
"qmake" : "CONFIG += c++11 c++14 c++17"
2017-08-01 16:30:33 +00:00
}
2016-06-11 20:49:01 +00:00
} ,
2021-02-09 12:12:09 +00:00
"cxx20" : {
"label" : "C++20 support" ,
2019-04-17 14:01:46 +00:00
"type" : "compile" ,
"test" : {
"head" : [
"#if __cplusplus > 201703L" ,
2021-02-09 12:12:09 +00:00
"// Compiler claims to support C++20, trust it" ,
2019-04-17 14:01:46 +00:00
"#else" ,
"# error __cplusplus must be > 201703L (the value for C++17)" ,
"#endif"
] ,
2021-02-09 12:12:09 +00:00
"qmake" : "CONFIG += c++11 c++14 c++17 c++20"
2019-04-17 14:01:46 +00:00
}
} ,
2016-06-11 20:49:01 +00:00
"precompile_header" : {
2016-08-26 19:10:56 +00:00
"label" : "precompiled header support" ,
2016-07-29 17:58:08 +00:00
"type" : "compile" ,
2018-07-13 19:25:12 +00:00
"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"
]
}
2016-06-11 20:49:01 +00:00
} ,
2019-01-17 14:39:32 +00:00
"use_bfd_linker" : {
"label" : "bfd linker" ,
"type" : "compilerSupportsFlag" ,
"flag" : "-fuse-ld=bfd"
2016-06-11 20:49:01 +00:00
} ,
"use_gold_linker" : {
2016-08-26 19:10:56 +00:00
"label" : "gold linker" ,
2016-06-11 20:49:01 +00:00
"type" : "compilerSupportsFlag" ,
"flag" : "-fuse-ld=gold"
} ,
2019-01-17 14:39:32 +00:00
"use_lld_linker" : {
"label" : "lld linker" ,
"type" : "compilerSupportsFlag" ,
"flag" : "-fuse-ld=lld"
} ,
2016-11-17 14:01:59 +00:00
"optimize_debug" : {
"label" : "-Og support" ,
"type" : "compilerSupportsFlag" ,
"flag" : "-Og"
} ,
2016-06-11 20:49:01 +00:00
"enable_new_dtags" : {
2016-08-26 19:10:56 +00:00
"label" : "new dtags support" ,
2016-06-11 20:49:01 +00:00
"type" : "linkerSupportsFlag" ,
"flag" : "--enable-new-dtags"
} ,
2017-12-04 10:34:09 +00:00
"gdb_index" : {
"label" : "gdb index support" ,
"type" : "linkerSupportsFlag" ,
"flag" : "--gdb-index"
} ,
2016-06-11 20:49:01 +00:00
"reduce_exports" : {
2016-08-26 19:10:56 +00:00
"label" : "symbol visibility support" ,
2016-07-29 17:58:08 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"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\")"
]
}
2016-06-11 20:49:01 +00:00
} ,
"reduce_relocations" : {
2016-08-26 19:10:56 +00:00
"label" : "-Bsymbolic-functions support" ,
2016-07-29 17:58:08 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"test" : {
"head" : [
2021-04-14 08:09:17 +00:00
"#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64)) || defined(__sun)" ,
2017-08-01 16:30:33 +00:00
"# 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\")"
]
}
2016-06-11 20:49:01 +00:00
} ,
2016-06-22 07:52:41 +00:00
"build_parts" : {
2016-08-24 11:39:15 +00:00
"type" : "buildParts"
2016-06-22 07:52:41 +00:00
} ,
2016-06-11 20:49:01 +00:00
"separate_debug_info" : {
2016-08-26 19:10:56 +00:00
"label" : "separate debug information support" ,
2020-02-26 10:41:20 +00:00
"type" : "compile"
2016-06-11 20:49:01 +00:00
} ,
2018-04-10 13:03:11 +00:00
"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\")"
]
}
} ,
2019-09-05 15:50:17 +00:00
"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\");"
]
}
} ,
2016-06-11 20:49:01 +00:00
"sse2" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE2 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"sse3" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE3 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"ssse3" : {
2016-08-26 19:10:56 +00:00
"label" : "SSSE3 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"sse4_1" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE4.1 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"sse4_2" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE4.2 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
2017-01-27 21:09:55 +00:00
"aesni" : {
"label" : "AES new instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2017-01-27 21:09:55 +00:00
} ,
2017-02-10 13:51:12 +00:00
"f16c" : {
"label" : "F16C instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2017-02-10 13:51:12 +00:00
} ,
2017-04-13 22:44:45 +00:00
"rdrnd" : {
"label" : "RDRAND instruction" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2017-04-13 22:44:45 +00:00
} ,
2019-08-14 04:59:26 +00:00
"rdseed" : {
"label" : "RDSEED instruction" ,
"type" : "x86Simd"
} ,
2017-01-27 21:09:55 +00:00
"shani" : {
"label" : "SHA new instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2017-01-27 21:09:55 +00:00
} ,
2016-06-11 20:49:01 +00:00
"avx" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx2" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX2 instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512f" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 F instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512er" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 ER instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512cd" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 CD instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512pf" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 PF instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512dq" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 DQ instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512bw" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 BW instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512vl" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 VL instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512ifma" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 IFMA instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
"avx512vbmi" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX512 VBMI instructions" ,
2017-11-16 05:31:30 +00:00
"type" : "x86Simd"
2016-06-11 20:49:01 +00:00
} ,
2017-11-16 05:01:15 +00:00
"x86SimdAlways" : {
"label" : "Intrinsics without -mXXX argument" ,
"type" : "x86SimdAlways" ,
"test" : "x86_simd"
} ,
2016-06-11 20:49:01 +00:00
"posix_fallocate" : {
2016-08-26 19:10:56 +00:00
"label" : "POSIX fallocate()" ,
2016-06-11 20:49:01 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"test" : {
"include" : [ "fcntl.h" , "unistd.h" ] ,
"main" : "(void) posix_fallocate(0, 0, 0);"
}
2016-06-11 20:49:01 +00:00
} ,
2017-04-28 11:27:43 +00:00
"alloca_stdlib_h" : {
"label" : "alloca() in stdlib.h" ,
2017-01-19 09:51:50 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"test" : {
"include" : "stdlib.h" ,
"main" : "alloca(1);"
}
2017-01-19 09:51:50 +00:00
} ,
2017-04-28 11:27:43 +00:00
"alloca_h" : {
"label" : "alloca() in alloca.h" ,
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"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);"
}
2017-04-28 11:27:43 +00:00
} ,
"alloca_malloc_h" : {
"label" : "alloca() in malloc.h" ,
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"test" : {
"include" : "malloc.h" ,
"main" : "alloca(1);"
}
2017-04-28 11:27:43 +00:00
} ,
2016-06-11 20:49:01 +00:00
"stack_protector" : {
2016-08-26 19:10:56 +00:00
"label" : "stack protection" ,
2017-04-24 13:53:57 +00:00
"type" : "compile" ,
2017-08-01 16:30:33 +00:00
"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"
}
2016-06-11 20:49:01 +00:00
} ,
2016-09-09 07:50:08 +00:00
"incredibuild_xge" : {
2016-08-26 19:10:56 +00:00
"label" : "IncrediBuild" ,
2016-09-09 07:50:08 +00:00
"type" : "files" ,
"files" : [ "BuildConsole.exe" , "xgConsole.exe" ]
2017-06-02 12:08:32 +00:00
} ,
"ccache" : {
"label" : "ccache" ,
"type" : "files" ,
"files" : [ "ccache" ]
2020-05-25 16:53:31 +00:00
} ,
"intelcet" : {
"label" : "Support for Intel Control-flow Enforcement Technology" ,
"type" : "compile" ,
"test" : {
"main" : [
"#if !defined(__CET__)" ,
"# error Intel CET not available" ,
"#endif"
]
}
2016-09-09 07:50:08 +00:00
}
} ,
"features" : {
2016-11-24 17:41:48 +00:00
"prepare" : {
2018-06-25 19:08:57 +00:00
"condition" : "features.gcc-sysroot || true" ,
2016-12-20 15:32:59 +00:00
"output" : [ "prepareSpec" , "prepareOptions" , "preparePaths" , "reloadSpec" ]
2016-11-24 17:41:57 +00:00
} ,
"machineTuple" : {
2017-05-08 10:14:32 +00:00
"condition" : "config.linux && !config.android && tests.machineTuple" ,
2016-11-24 17:41:57 +00:00
"output" : [ "machineTuple" ]
} ,
"commit" : {
2017-05-08 10:14:32 +00:00
"condition" : "features.machineTuple || true" ,
2016-11-24 17:41:57 +00:00
"output" : [ "commitOptions" ]
2016-11-24 17:41:48 +00:00
} ,
2016-11-18 17:17:49 +00:00
"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."
} ,
2016-09-09 07:50:08 +00:00
"shared" : {
2016-08-26 19:10:56 +00:00
"label" : "Building shared libraries" ,
2020-09-03 08:29:41 +00:00
"autoDetect" : "!config.uikit && !config.wasm" ,
2018-03-19 11:33:24 +00:00
"condition" : "!config.integrity && !config.wasm && !config.rtems" ,
2016-09-09 07:50:08 +00:00
"output" : [
"shared" ,
"publicFeature" ,
"publicQtConfig" ,
"publicConfig"
]
2016-06-11 20:49:01 +00:00
} ,
2016-09-09 07:50:08 +00:00
"static" : {
"condition" : "!features.shared" ,
"output" : [
"publicFeature" ,
"publicQtConfig" ,
"publicConfig"
]
2016-06-11 20:49:01 +00:00
} ,
"cross_compile" : {
2016-08-26 19:10:56 +00:00
"label" : "Cross compiling" ,
2016-06-11 20:49:01 +00:00
"condition" : "call.crossCompile" ,
2017-02-08 14:48:29 +00:00
"output" : [ "publicConfig" , "privateConfig" , "publicFeature" , "crossCompile" ]
2016-06-11 20:49:01 +00:00
} ,
"compiler-flags" : {
2016-08-12 08:14:51 +00:00
"output" : [ "compilerFlags" ]
2016-06-11 20:49:01 +00:00
} ,
2018-04-10 13:03:11 +00:00
"gc_binaries" : {
"condition" : "!features.shared && tests.gc_binaries" ,
"output" : [ "privateFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"gcc-sysroot" : {
"output" : [ "gccSysroot" ] ,
2016-08-12 08:14:51 +00:00
"condition" : "input.sysroot != ''"
2016-06-29 09:39:27 +00:00
} ,
replace mechanism to override variables from the mkspecs
it is sometimes desirable to override values from the mkspec without
modifying (or wrapping) the spec itself. linux distributors do this on a
regular basis.
so far, we'd pick up CFLAGS, etc. from the environment, in a somewhat
autoconf-like fashion. however, over time, this approach proved
problematic: the concept doesn't mix particularly well with mkspecs to
start with, is unexpected (and therefore causes frustration), and
doesn't mix well with cross-building (at least the way it was realized).
ironically, it was implemented this way (quite a while ago) upon my
explicit request ...
the new mechanism uses explicit variable manipulations on the configure
command line, just like qmake itself understands. as it happens, this is
again quite similar to autoconf-generated configure scripts. however,
this time around we don't pretend to be actually autoconf-like, so we
also don't try to map any variable names (some of which have different
semantics anyway).
this commit also eliminates the last use of the QMakeVar() function,
so delete it and the underlying infrastructure.
Task-number: QTBUG-32530
Task-number: QTBUG-42962
Change-Id: Id31a6b80e1add08ca21f5b178614bda530d12374
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-07-06 11:58:53 +00:00
"qmakeargs" : {
"output" : [ "qmakeArgs" ] ,
"condition" : "input.qmakeArgs != ''"
} ,
2019-01-17 14:39:32 +00:00
"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"
} ,
2016-06-29 09:39:27 +00:00
"use_gold_linker" : {
2019-01-17 14:39:32 +00:00
"label" : "gold" ,
"autoDetect" : "false" ,
"enable" : "input.linker == 'gold' || features.use_gold_linker_alias" ,
"disable" : "input.linker == 'bfd' || input.linker == 'lld'" ,
2018-03-19 11:33:24 +00:00
"condition" : "!config.win32 && !config.integrity && !config.wasm && !config.rtems && tests.use_gold_linker" ,
2016-08-12 08:14:51 +00:00
"output" : [ "privateConfig" , "useGoldLinker" ]
2016-06-11 20:49:01 +00:00
} ,
2019-01-17 14:39:32 +00:00
"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" ]
} ,
2016-11-17 14:01:59 +00:00
"optimize_debug" : {
"label" : "Optimize debug build" ,
2019-05-23 10:44:07 +00:00
"autoDetect" : "!features.developer-build" ,
2017-11-21 19:42:51 +00:00
"condition" : "!config.msvc && !config.clang && (features.debug || features.debug_and_release) && tests.optimize_debug" ,
2016-11-17 14:01:59 +00:00
"output" : [ "privateConfig" ]
} ,
2017-04-07 13:49:10 +00:00
"optimize_size" : {
"label" : "Optimize release build for size" ,
"autoDetect" : false ,
"condition" : "!features.debug || features.debug_and_release" ,
"output" : [ "privateConfig" ]
} ,
2016-06-29 09:39:27 +00:00
"architecture" : {
2016-08-26 19:10:56 +00:00
"label" : "Architecture" ,
macOS: Don't hard-code x86_64 as the architecture when using qmake
The qmake variable QMAKE_APPLE_DEVICE_ARCHS was added for iOS,
to support universal builds, as the QT_ARCH is a single value.
Since the qmake macOS builds are non-universal (at the moment),
we remove the hard-coded value for QMAKE_APPLE_DEVICE_ARCHS on
macOS, and let the normal architecture test resolve the arch,
like on other platforms.
To ensure that the following configuration tests are run with
an -arch argument, we trigger a commit of the preliminary Qt
configuration after running the architecture test. This is not
strictly necessary, but makes it clearer what's going on during
configure.
The device_and_simulator configuration option was used by the
iOS toolchain, and needed to be moved up in the configuration
test order to not break later tests.
The logic in mac/default_post.prf for both Xcode and Makefiles
to add -arch flags was kept as is, based on the existing
variable, to avoid too many changes to this logic.
The logic in toolchain.prf was amended to make it clear and
ensure that it only applies to iOS builds. macOS builds do
not have this issue.
Pick-to: 6.0
Pick-to: 5.15
Pick-to: 5.12
Change-Id: I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-12-04 16:29:06 +00:00
"output" : [ "architecture" , "commitConfig" ]
2016-06-29 09:39:27 +00:00
} ,
2016-06-11 20:49:01 +00:00
"pkg-config" : {
2016-08-26 19:10:56 +00:00
"label" : "Using pkg-config" ,
2020-09-28 08:40:47 +00:00
"autoDetect" : "!config.darwin && !config.win32 && !config.android" ,
2016-06-11 20:49:01 +00:00
"condition" : "tests.pkg-config" ,
"output" : [
2016-08-05 11:35:39 +00:00
"publicFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "publicQtConfig" , "negative" : true } ,
"pkgConfig"
2016-08-12 08:14:51 +00:00
]
2016-06-11 20:49:01 +00:00
} ,
2016-08-03 10:32:48 +00:00
"verifyspec" : {
2016-08-26 19:10:56 +00:00
"label" : "Have valid makespec" ,
2016-08-03 10:32:48 +00:00
"condition" : "tests.verifyspec"
} ,
2016-06-11 20:49:01 +00:00
"developer-build" : {
2016-08-26 19:10:56 +00:00
"label" : "Developer build" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [
{ "type" : "define" , "name" : "QT_BUILD_INTERNAL" } ,
2016-08-05 11:35:39 +00:00
{ "type" : "privateFeature" , "name" : "private_tests" } ,
2016-06-11 20:49:01 +00:00
{ "type" : "publicQtConfig" , "name" : "private_tests" }
]
} ,
"debug" : {
2016-08-26 19:10:56 +00:00
"label" : "Build for debugging" ,
2019-12-19 14:50:52 +00:00
"autoDetect" : "features.developer-build || (config.win32 && !config.gcc) || config.darwin"
2016-06-11 20:49:01 +00:00
} ,
"debug_and_release" : {
2016-08-26 19:10:56 +00:00
"label" : "Compile libs in debug and release mode" ,
2019-12-19 12:12:34 +00:00
"autoDetect" : "input.debug == '' && !(config.win32 && config.gcc)" ,
"condition" : "config.darwin || config.win32" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" , "debugAndRelease" ]
2016-06-11 20:49:01 +00:00
} ,
"force_debug_info" : {
2016-08-26 19:10:56 +00:00
"label" : "Add debug info in release mode" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "privateConfig" ]
} ,
"separate_debug_info" : {
2016-08-26 19:10:56 +00:00
"label" : "Split off debug information" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"condition" : [
"features.shared" ,
"features.debug || features.debug_and_release || features.force_debug_info" ,
"config.darwin || tests.separate_debug_info"
] ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
"release_tools" : {
2016-08-26 19:10:56 +00:00
"label" : "Compile tools in release mode" ,
2016-11-18 17:35:00 +00:00
"autoDetect" : "features.debug" ,
2016-08-05 11:35:39 +00:00
"output" : [ "privateFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
2016-12-03 10:24:55 +00:00
"appstore-compliant" : {
"label" : "App store compliance" ,
"purpose" : "Disables code that is not allowed in platform app stores" ,
2020-06-05 07:24:37 +00:00
"autoDetect" : "config.uikit || config.android" ,
2016-12-03 10:24:55 +00:00
"output" : [ "publicFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"simulator_and_device" : {
2016-08-26 19:10:56 +00:00
"label" : "Build for both simulator and device" ,
2016-07-24 13:45:15 +00:00
"condition" : "config.uikit && input.sdk == ''" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
"build_all" : {
"condition" : "features.debug_and_release || features.simulator_and_device" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
"rpath" : {
2016-08-26 19:10:56 +00:00
"label" : "Build with RPATH" ,
2016-07-24 13:44:41 +00:00
"autoDetect" : "var.QMAKE_LFLAGS_RPATH != '' && features.shared" ,
2019-09-13 23:13:44 +00:00
"condition" : "!config.android" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
"rpath_dir" : {
2016-08-26 19:10:56 +00:00
"label" : "RPATH directory" ,
2016-06-11 20:49:01 +00:00
"enable" : "input.rpaths != ''" ,
"autoDetect" : false ,
"output" : [ { "type" : "varAppend" , "name" : "EXTRA_RPATHS" , "value" : "input.rpaths" } ]
} ,
"force_asserts" : {
2016-08-26 19:10:56 +00:00
"label" : "Force assertions" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" ]
2016-06-11 20:49:01 +00:00
} ,
"warnings_are_errors" : {
2016-08-26 19:10:56 +00:00
"label" : "WError" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : "features.developer-build" ,
"output" : [ "privateConfig" ]
} ,
"headersclean" : {
2016-08-26 19:10:56 +00:00
"label" : "Check for clean headers" ,
2020-05-13 13:35:52 +00:00
"autoDetect" : false ,
2018-09-28 00:51:54 +00:00
"condition" : "!config.wasm" ,
2016-06-11 20:49:01 +00:00
"output" : [ "privateConfig" ]
} ,
"framework" : {
2016-08-26 19:10:56 +00:00
"label" : "Build Apple Frameworks" ,
2016-06-11 20:49:01 +00:00
"condition" : "config.darwin && features.shared" ,
"output" : [
{ "type" : "define" , "name" : "QT_MAC_FRAMEWORK_BUILD" } ,
2016-08-05 11:35:39 +00:00
"publicFeature" ,
2016-06-27 09:24:49 +00:00
{ "type" : "publicQtConfig" , "name" : "qt_framework" } ,
2016-06-27 08:56:50 +00:00
{ "type" : "publicConfig" , "name" : "qt_framework" }
2016-06-11 20:49:01 +00:00
]
} ,
"largefile" : {
2016-08-26 19:10:56 +00:00
"label" : "Large file support" ,
2020-06-05 07:24:37 +00:00
"condition" : "!config.android && !config.integrity && !config.rtems" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
{ "type" : "define" , "name" : "QT_LARGEFILE_SUPPORT" , "value" : 64 }
]
} ,
"testcocoon" : {
2016-08-26 19:10:56 +00:00
"label" : "Testcocoon support" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
"gcov" : {
2016-08-26 19:10:56 +00:00
"label" : "gcov support" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
"silent" : {
2016-08-26 19:10:56 +00:00
"label" : "Silent build" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "privateConfig" ]
} ,
"sanitize_address" : {
2016-08-26 19:10:56 +00:00
"label" : "Addresses" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
"sanitize_thread" : {
2016-08-26 19:10:56 +00:00
"label" : "Threads" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
"sanitize_memory" : {
2016-08-26 19:10:56 +00:00
"label" : "Memory" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
2019-11-01 12:21:33 +00:00
"sanitize_fuzzer_no_link" : {
"label" : "Fuzzer (instrumentation only)" ,
"autoDetect" : false ,
"output" : [ "publicConfig" ] ,
2020-01-16 09:42:05 +00:00
"purpose" : "Adds instrumentation for fuzzing to the binaries but links to the usual main function instead of a fuzzer's."
2019-11-01 12:21:33 +00:00
} ,
2016-06-11 20:49:01 +00:00
"sanitize_undefined" : {
2016-08-26 19:10:56 +00:00
"label" : "Undefined" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
"sanitizer" : {
2016-08-26 19:10:56 +00:00
"label" : "Sanitizers" ,
2019-11-01 12:21:33 +00:00
"condition" : "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_fuzzer_no_link || features.sanitize_undefined" ,
2017-12-14 15:23:22 +00:00
"output" : [ "sanitizer" , "publicConfig" ]
2016-06-11 20:49:01 +00:00
} ,
2018-08-29 20:18:42 +00:00
"coverage_trace_pc_guard" : {
"label" : "trace-pc-guard" ,
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
2019-12-19 16:51:21 +00:00
"coverage_source_based" : {
"label" : "source-based" ,
"autoDetect" : false ,
"output" : [ "publicConfig" ]
} ,
2018-08-29 20:18:42 +00:00
"coverage" : {
"label" : "Code Coverage Instrumentation" ,
2019-12-19 16:51:21 +00:00
"condition" : "features.coverage_trace_pc_guard || features.coverage_source_based" ,
2018-08-29 20:18:42 +00:00
"output" : [ "publicConfig" ]
} ,
2016-06-11 20:49:01 +00:00
"GNUmake" : {
2016-08-26 19:10:56 +00:00
"label" : "GNU make" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"condition" : "tests.GNUmake" ,
"output" : [ "privateConfig" ]
} ,
2016-08-14 07:48:55 +00:00
"plugin-manifests" : {
2016-08-26 19:10:56 +00:00
"label" : "Embed manifests in plugins" ,
2016-08-14 07:48:55 +00:00
"emitIf" : "config.win32" ,
"autoDetect" : false ,
"output" : [ { "type" : "publicConfig" , "negative" : true , "name" : "no_plugin_manifest" } ]
} ,
2016-06-11 20:49:01 +00:00
"profile" : {
2016-08-26 19:10:56 +00:00
"label" : "GNU profiling support" ,
2016-06-11 20:49:01 +00:00
"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" : {
2016-08-26 19:10:56 +00:00
"label" : "Strip binaries" ,
2016-06-11 20:49:01 +00:00
"condition" : "!features.profile" ,
"output" : [ { "type" : "privateConfig" , "negative" : true , "name" : "nostrip" } ]
} ,
"stl" : {
2016-08-26 19:10:56 +00:00
"label" : "STL compatibility" ,
2016-06-11 20:49:01 +00:00
"condition" : "tests.stl" ,
"output" : [ "publicQtConfig" ]
} ,
"c++11" : {
2016-08-26 19:10:56 +00:00
"label" : "C++11" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
"c++14" : {
2016-08-26 19:10:56 +00:00
"label" : "C++14" ,
2019-10-28 08:49:17 +00:00
"condition" : "features.c++11 && tests.cxx14" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
2019-10-01 10:45:42 +00:00
"c++17" : {
"label" : "C++17" ,
2019-10-28 08:49:17 +00:00
"condition" : "features.c++14 && tests.cxx17" ,
2019-10-01 10:45:42 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
} ,
2016-06-11 20:49:01 +00:00
"c++1z" : {
2019-04-17 13:45:58 +00:00
"label" : "C++17" ,
2019-10-01 10:45:42 +00:00
"condition" : "features.c++17" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
2016-06-11 20:49:01 +00:00
} ,
2021-02-09 12:12:09 +00:00
"c++20" : {
"label" : "C++20" ,
2019-04-17 14:01:46 +00:00
"autoDetect" : false ,
2021-02-09 12:12:09 +00:00
"condition" : "features.c++17 && tests.cxx20" ,
"output" : [ "publicFeature" , "publicQtConfig" ]
} ,
"c++2a" : {
"label" : "C++20" ,
"condition" : "features.c++20" ,
2019-04-17 14:01:46 +00:00
"output" : [ "publicFeature" , "publicQtConfig" ]
} ,
2018-02-14 12:40:57 +00:00
"c89" : {
"label" : "C89"
} ,
"c99" : {
"label" : "C99" ,
"condition" : "tests.c99" ,
"output" : [ "publicFeature" ]
} ,
"c11" : {
"label" : "C11" ,
"condition" : "features.c99 && tests.c11" ,
"output" : [ "publicFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"precompile_header" : {
2016-08-26 19:10:56 +00:00
"label" : "Using precompiled headers" ,
2018-09-03 13:36:59 +00:00
"condition" : "tests.precompile_header" ,
2020-09-03 08:29:41 +00:00
"autodetect" : "!config.wasm" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
{ "type" : "varRemove" , "negative" : true , "name" : "CONFIG" , "value" : "'precompile_header'" }
]
} ,
"ltcg" : {
2016-08-26 19:10:56 +00:00
"label" : "Using LTCG" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : false ,
"output" : [ "privateConfig" ]
} ,
"enable_new_dtags" : {
2016-08-26 19:10:56 +00:00
"label" : "Using new DTAGS" ,
2016-07-14 15:51:46 +00:00
"condition" : "config.linux && tests.enable_new_dtags" ,
2016-06-11 20:49:01 +00:00
"output" : [ "privateConfig" ]
} ,
2017-12-04 10:34:09 +00:00
"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" ]
} ,
2016-06-11 20:49:01 +00:00
"reduce_exports" : {
2016-08-26 19:10:56 +00:00
"label" : "Reduce amount of exported symbols" ,
2016-06-11 20:49:01 +00:00
"condition" : "!config.win32 && tests.reduce_exports" ,
"output" : [
2016-08-05 11:35:39 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
"publicQtConfig" ,
{ "type" : "define" , "name" : "QT_VISIBILITY_AVAILABLE" }
]
} ,
"reduce_relocations" : {
2016-08-26 19:10:56 +00:00
"label" : "Reduce amount of relocations" ,
2016-08-14 07:48:55 +00:00
"condition" : "!config.win32 && tests.reduce_relocations" ,
2016-06-11 20:49:01 +00:00
"output" : [
2016-08-05 11:35:39 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
"publicQtConfig" ,
{ "type" : "define" , "name" : "QT_REDUCE_RELOCATIONS" }
]
} ,
2019-09-05 15:50:17 +00:00
"signaling_nan" : {
"label" : "Signaling NaN" ,
"condition" : "tests.signaling_nan" ,
"output" : [ "publicFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"sse2" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE2" ,
2016-06-11 20:49:01 +00:00
"condition" : "(arch.i386 || arch.x86_64) && tests.sse2" ,
"output" : [
"privateConfig" ,
2016-09-09 07:50:08 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SSE2" , "value" : 1 }
]
} ,
"sse3" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE3" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.sse2 && tests.sse3" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SSE3" , "value" : 1 }
]
} ,
"ssse3" : {
2016-08-26 19:10:56 +00:00
"label" : "SSSE3" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.sse3 && tests.ssse3" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SSSE3" , "value" : 1 }
]
} ,
"sse4_1" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE4.1" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.ssse3 && tests.sse4_1" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SSE4_1" , "value" : 1 }
]
} ,
"sse4_2" : {
2016-08-26 19:10:56 +00:00
"label" : "SSE4.2" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.sse4_1 && tests.sse4_2" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SSE4_2" , "value" : 1 }
]
} ,
"avx" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX" ,
2020-09-08 14:47:28 +00:00
"condition" : "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX" , "value" : 1 }
]
} ,
2017-02-10 13:51:12 +00:00
"f16c" : {
"label" : "F16C" ,
"condition" : "features.avx && tests.f16c" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2017-02-10 13:51:12 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_F16C" , "value" : 1 }
]
} ,
2016-06-11 20:49:01 +00:00
"avx2" : {
2016-08-26 19:10:56 +00:00
"label" : "AVX2" ,
2020-09-08 14:47:28 +00:00
"condition" : "features.avx && tests.avx2 && (!config.android || !arch.x86_64)" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
2017-06-16 11:58:44 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX2" , "value" : 1 }
]
} ,
"avx512f" : {
2016-08-26 19:10:56 +00:00
"label" : "F" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx2 && tests.avx512f" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512F" , "value" : 1 }
]
} ,
"avx512er" : {
2016-08-26 19:10:56 +00:00
"label" : "ER" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512er" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512ER" , "value" : 1 }
]
} ,
"avx512cd" : {
2016-08-26 19:10:56 +00:00
"label" : "CD" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512cd" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512CD" , "value" : 1 }
]
} ,
"avx512pf" : {
2016-08-26 19:10:56 +00:00
"label" : "PF" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512pf" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512PF" , "value" : 1 }
]
} ,
"avx512dq" : {
2016-08-26 19:10:56 +00:00
"label" : "DQ" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512dq" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512DQ" , "value" : 1 }
]
} ,
"avx512bw" : {
2016-08-26 19:10:56 +00:00
"label" : "BW" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512bw" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512BW" , "value" : 1 }
]
} ,
"avx512vl" : {
2016-08-26 19:10:56 +00:00
"label" : "VL" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512vl" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512VL" , "value" : 1 }
]
} ,
"avx512ifma" : {
2016-08-26 19:10:56 +00:00
"label" : "IFMA" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512ifma" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512IFMA" , "value" : 1 }
]
} ,
"avx512vbmi" : {
2016-08-26 19:10:56 +00:00
"label" : "VBMI" ,
2016-06-11 20:49:01 +00:00
"condition" : "features.avx512f && tests.avx512vbmi" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AVX512VBMI" , "value" : 1 }
]
} ,
2017-01-27 21:09:55 +00:00
"aesni" : {
2017-04-02 01:41:59 +00:00
"label" : "AES" ,
2017-01-27 21:09:55 +00:00
"condition" : "features.sse2 && tests.aesni" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2017-01-27 21:09:55 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AES" , "value" : 1 }
]
} ,
2017-04-13 22:44:45 +00:00
"rdrnd" : {
"label" : "RDRAND" ,
"condition" : "tests.rdrnd" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2017-04-13 22:44:45 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_RDRND" , "value" : 1 }
]
} ,
2019-08-14 04:59:26 +00:00
"rdseed" : {
"label" : "RDSEED" ,
"condition" : "tests.rdseed" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2019-08-14 04:59:26 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_RDSEED" , "value" : 1 }
]
} ,
2017-01-27 21:09:55 +00:00
"shani" : {
2017-04-02 01:41:59 +00:00
"label" : "SHA" ,
2017-01-27 21:09:55 +00:00
"condition" : "features.sse2 && tests.shani" ,
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2017-01-27 21:09:55 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SHA" , "value" : 1 }
]
} ,
2021-04-21 09:33:44 +00:00
"simdAlways" : {
"label" : "Intrinsics without compiler architecture option" ,
"condition" : "((arch.i386 || arch.x86_64) && tests.x86SimdAlways) || arch.arm64" ,
2017-11-16 05:01:15 +00:00
"output" : [
"privateConfig" ,
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_SIMD_ALWAYS" , "value" : 1 }
]
} ,
2016-06-11 20:49:01 +00:00
"mips_dsp" : {
2016-08-26 19:10:56 +00:00
"label" : "DSP" ,
2018-02-20 11:33:23 +00:00
"condition" : "arch.mips && subarch.dsp" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_MIPS_DSP" , "value" : 1 }
]
} ,
"mips_dspr2" : {
2016-08-26 19:10:56 +00:00
"label" : "DSPr2" ,
2018-02-20 11:33:23 +00:00
"condition" : "arch.mips && subarch.dspr2" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_MIPS_DSPR2" , "value" : 1 }
]
} ,
"neon" : {
2016-08-26 19:10:56 +00:00
"label" : "NEON" ,
2018-02-20 11:33:23 +00:00
"condition" : "(arch.arm || arch.arm64) && subarch.neon" ,
2016-06-11 20:49:01 +00:00
"output" : [
"privateConfig" ,
2021-03-31 16:56:59 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_NEON" , "value" : 1 }
]
} ,
2021-04-21 09:33:44 +00:00
"arm_crc32" : {
"label" : "CRC32" ,
"condition" : "(arch.arm || arch.arm64) && subarch.crc32" ,
"output" : [
"privateConfig" ,
"privateFeature" ,
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_CRC32" , "value" : 1 }
]
} ,
"arm_crypto" : {
"label" : "AES" ,
"condition" : "(arch.arm || arch.arm64) && subarch.crypto" ,
"output" : [
"privateConfig" ,
"privateFeature" ,
{ "type" : "define" , "name" : "QT_COMPILER_SUPPORTS_AES" , "value" : 1 }
]
} ,
2016-06-11 20:49:01 +00:00
"posix_fallocate" : {
2016-08-26 19:10:56 +00:00
"label" : "POSIX fallocate()" ,
2016-06-11 20:49:01 +00:00
"condition" : "tests.posix_fallocate" ,
2016-08-05 11:35:39 +00:00
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
} ,
2017-04-28 11:27:43 +00:00
"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" ]
} ,
2017-01-19 09:51:50 +00:00
"alloca" : {
"label" : "alloca()" ,
2017-04-28 11:27:43 +00:00
"condition" : "features.alloca_h || features.alloca_malloc_h || tests.alloca_stdlib_h" ,
2017-01-19 09:51:50 +00:00
"output" : [ "privateFeature" ]
} ,
2016-08-16 19:02:01 +00:00
"stack-protector-strong" : {
2016-08-26 19:10:56 +00:00
"label" : "stack protection" ,
2016-06-11 20:49:01 +00:00
"condition" : "config.qnx && tests.stack_protector" ,
2017-04-24 13:53:57 +00:00
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
} ,
"system-zlib" : {
2016-08-26 19:10:56 +00:00
"label" : "Using system zlib" ,
2016-08-12 18:19:33 +00:00
"condition" : "libs.zlib" ,
2016-08-05 11:35:39 +00:00
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
} ,
2018-11-01 05:42:14 +00:00
"zstd" : {
"label" : "Zstandard support" ,
"condition" : "libs.zstd" ,
"output" : [ "privateFeature" ]
} ,
2016-12-29 16:11:24 +00:00
"thread" : {
"label" : "Thread support" ,
"purpose" : "Provides QThread and related classes." ,
"section" : "Kernel" ,
2018-03-20 12:30:53 +00:00
"autoDetect" : "!config.wasm" ,
2016-12-29 16:11:24 +00:00
"output" : [ "publicFeature" ]
} ,
2016-11-23 11:05:48 +00:00
"future" : {
"label" : "QFuture" ,
"purpose" : "Provides QFuture and related classes." ,
"section" : "Kernel" ,
2016-12-29 16:11:24 +00:00
"condition" : "features.thread" ,
2016-11-23 11:05:48 +00:00
"output" : [ "publicFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"concurrent" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt Concurrent" ,
2016-08-26 19:19:12 +00:00
"purpose" : "Provides a high-level multi-threading API." ,
"section" : "Kernel" ,
2016-11-23 11:05:48 +00:00
"condition" : "features.future" ,
2016-08-05 11:35:39 +00:00
"output" : [ "publicFeature" , "feature" ]
2016-06-11 20:49:01 +00:00
} ,
"dbus" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt D-Bus" ,
2020-06-05 07:24:37 +00:00
"autoDetect" : "!config.uikit && !config.android" ,
2020-09-03 08:29:41 +00:00
"condition" : "features.thread && !config.wasm" ,
2016-08-05 11:35:39 +00:00
"output" : [ "privateFeature" , "feature" ]
2016-06-11 20:49:01 +00:00
} ,
"dbus-linked" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt D-Bus directly linked to libdbus" ,
2016-06-11 20:49:01 +00:00
"enable" : "input.dbus == 'linked'" ,
2016-07-14 13:31:09 +00:00
"disable" : "input.dbus == 'runtime'" ,
2016-08-15 12:40:52 +00:00
"condition" : "features.dbus && libs.dbus" ,
2016-08-05 11:35:39 +00:00
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
} ,
"host-dbus" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt D-Bus (Host)" ,
2016-06-11 20:49:01 +00:00
"autoDetect" : "!config.android" ,
2016-08-15 12:40:52 +00:00
"condition" : "libs.host_dbus" ,
"output" : [ { "type" : "varAppend" , "name" : "QT_HOST_CFLAGS_DBUS" , "value" : "libs.host_dbus.cflags" , "eval" : "true" } ]
2016-06-11 20:49:01 +00:00
} ,
2016-06-22 07:52:41 +00:00
"build_parts" : {
"output" : [ { "type" : "varAppend" , "name" : "QT_BUILD_PARTS" , "value" : "tests.build_parts.value" } ]
2016-06-11 20:49:01 +00:00
} ,
"qreal" : {
2016-08-26 19:10:56 +00:00
"label" : "Type for qreal" ,
2016-06-11 20:49:01 +00:00
"output" : [ "qreal" ]
} ,
"gui" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt Gui" ,
2016-08-05 11:35:39 +00:00
"output" : [
"privateFeature" ,
{ "type" : "publicQtConfig" , "negative" : true }
]
2016-06-11 20:49:01 +00:00
} ,
2016-11-21 17:21:47 +00:00
"network" : {
"label" : "Qt Network" ,
"output" : [ "privateFeature" ]
} ,
2021-02-02 10:51:59 +00:00
"printsupport" : {
"label" : "Qt PrintSupport" ,
"condition" : "features.widgets" ,
"output" : [ "privateFeature" ]
} ,
2016-11-23 09:12:16 +00:00
"sql" : {
"label" : "Qt Sql" ,
2020-09-03 08:29:41 +00:00
"condition" : "features.thread && !config.wasm" ,
2016-11-23 09:12:16 +00:00
"output" : [ "privateFeature" ]
} ,
2016-11-23 09:14:48 +00:00
"testlib" : {
"label" : "Qt Testlib" ,
"output" : [ "privateFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"widgets" : {
2016-08-26 19:10:56 +00:00
"label" : "Qt Widgets" ,
2016-08-20 00:18:14 +00:00
"autoDetect" : "!config.tvos && !config.watchos" ,
2016-08-17 20:21:18 +00:00
"condition" : "features.gui" ,
2016-06-11 20:49:01 +00:00
"output" : [
2016-08-05 11:35:39 +00:00
"privateFeature" ,
2016-06-11 20:49:01 +00:00
{ "type" : "define" , "negative" : true , "name" : "QT_NO_WIDGETS" } ,
{ "type" : "publicQtConfig" , "negative" : true }
]
} ,
2016-11-23 09:43:47 +00:00
"xml" : {
"label" : "Qt Xml" ,
"output" : [ "privateFeature" ]
} ,
2016-06-11 20:49:01 +00:00
"libudev" : {
2016-08-26 19:10:56 +00:00
"label" : "udev" ,
2016-08-15 12:40:52 +00:00
"condition" : "libs.libudev" ,
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
} ,
2016-08-14 07:48:55 +00:00
"incredibuild_xge" : {
2016-08-26 19:10:56 +00:00
"label" : "IncrediBuild" ,
2016-08-14 07:48:55 +00:00
"emitIf" : "var.QMAKE_HOST.os == 'Windows'" ,
"condition" : "tests.incredibuild_xge" ,
"output" : [ "publicConfig" ]
} ,
2017-06-02 12:08:32 +00:00
"ccache" : {
"label" : "Using ccache" ,
"autoDetect" : false ,
2019-06-28 08:44:12 +00:00
"condition" : "tests.ccache" ,
2017-06-02 12:08:32 +00:00
"output" : [ "privateConfig" ]
} ,
2016-08-14 07:48:55 +00:00
"msvc_mp" : {
2016-08-26 19:10:56 +00:00
"label" : "Use multiple processors when compiling with MSVC" ,
2016-08-14 07:48:55 +00:00
"emitIf" : "config.msvc" ,
"autoDetect" : "false" ,
"output" : [ "privateConfig" ]
} ,
"static_runtime" : {
2016-08-26 19:10:56 +00:00
"label" : "Statically link the C/C++ runtime library" ,
2016-08-14 07:48:55 +00:00
"emitIf" : "config.win32" ,
"autoDetect" : false ,
"condition" : "!features.shared" ,
"output" : [ "publicConfig" , "publicQtConfig" ]
2017-11-09 17:00:46 +00:00
} ,
"dlopen" : {
"label" : "dlopen()" ,
"condition" : "config.unix && libs.libdl" ,
"output" : [ "privateFeature" ]
} ,
"relocatable" : {
"label" : "Relocatable" ,
2020-02-10 09:14:54 +00:00
"purpose" : "Enable the Qt installation to be relocated." ,
2017-11-09 17:00:46 +00:00
"autoDetect" : "features.shared" ,
"condition" : "features.dlopen || config.win32 || !features.shared" ,
"output" : [ "privateFeature" ]
2020-05-25 16:53:31 +00:00
} ,
"intelcet" : {
"label" : "Using Intel CET" ,
"condition" : "tests.intelcet" ,
"output" : [ "privateFeature" ]
2016-06-11 20:49:01 +00:00
}
} ,
"earlyReport" : [
2016-11-16 14:13:52 +00:00
{
"type" : "fatal" ,
"condition" : "input.xplatform != '' && input.device != ''" ,
"message" : "Cannot specify both -xplatform and -device."
} ,
2016-11-24 17:41:48 +00:00
{
"condition" : "!features.prepare" ,
"comment" : "This is not an actual report - instead, it activates the early setup."
} ,
2016-11-18 17:17:49 +00:00
{
"type" : "fatal" ,
"condition" : "!call.licenseCheck" ,
"message" : "You are not licensed to use this software."
} ,
2016-06-11 20:49:01 +00:00
{
"type" : "warning" ,
"condition" : "input.debug_and_release == 'yes' && !config.darwin && !config.win32" ,
2018-10-24 13:20:27 +00:00
"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."
2016-06-11 20:49:01 +00:00
} ,
{
"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."
} ,
2016-07-24 13:44:41 +00:00
{
"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"
2018-08-29 20:18:42 +00:00
} ,
{
"type" : "error" ,
"condition" : "features.coverage && !config.clang" ,
"message" : "Command line option -coverage is only supported with clang compilers."
2019-11-01 12:21:33 +00:00
} ,
{
"type" : "error" ,
"condition" : "features.sanitize_fuzzer_no_link && !config.clang" ,
"message" : "Command line option -sanitize fuzzer-no-link is only supported with clang compilers."
2016-06-11 20:49:01 +00:00
}
] ,
"report" : [
{
"type" : "note" ,
"condition" : "!features.shared" ,
2018-10-24 13:20:27 +00:00
"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."
2016-06-11 20:49:01 +00:00
} ,
{
"type" : "note" ,
2016-11-02 16:37:31 +00:00
"condition" : "features.release_tools && !features.debug" ,
2016-06-11 20:49:01 +00:00
"message" : "-optimized-tools is not useful in -release mode."
} ,
{
"type" : "error" ,
"condition" : "!features.stl" ,
"message" : "Qt requires a compliant STL library."
2019-08-26 08:18:34 +00:00
} ,
{
2020-09-03 08:29:41 +00:00
"type" : "note" ,
2021-04-29 14:29:32 +00:00
"condition" : "features.thread && config.wasm" ,
"message" : "Enable thread support"
2020-01-10 12:10:37 +00:00
} ,
{
"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."
2016-06-11 20:49:01 +00:00
}
] ,
"summary" : [
{
"type" : "buildTypeAndConfig"
} ,
{
"section" : "Build options" ,
"entries" : [
{
"message" : "Mode" ,
"type" : "buildMode"
} ,
2016-11-17 14:01:59 +00:00
{
"type" : "feature" ,
"args" : "optimize_debug" ,
2017-11-21 19:42:51 +00:00
"condition" : "!config.msvc && !config.clang && (features.debug || features.debug_and_release)"
2016-11-17 14:01:59 +00:00
} ,
2017-04-07 13:49:10 +00:00
{
"type" : "feature" ,
"args" : "optimize_size" ,
"condition" : "!features.debug || features.debug_and_release"
} ,
2016-06-11 20:49:01 +00:00
"shared" ,
2018-02-14 12:40:57 +00:00
{
"message" : "Using C standard" ,
"type" : "firstAvailableFeature" ,
"args" : "c11 c99 c89"
} ,
2016-06-11 20:49:01 +00:00
{
"message" : "Using C++ standard" ,
"type" : "firstAvailableFeature" ,
2021-02-09 12:12:09 +00:00
"args" : "c++20 c++17 c++14 c++11"
2016-06-11 20:49:01 +00:00
} ,
2017-06-02 12:08:32 +00:00
{
"type" : "feature" ,
"args" : "ccache" ,
"condition" : "config.unix"
} ,
2019-01-17 14:39:32 +00:00
{
"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"
} ,
2016-07-14 15:51:46 +00:00
{
"type" : "feature" ,
"args" : "enable_new_dtags" ,
"condition" : "config.linux"
} ,
2017-12-04 10:34:09 +00:00
{
"type" : "feature" ,
"args" : "enable_gdb_index" ,
"condition" : "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release)"
} ,
2017-11-09 17:00:46 +00:00
"relocatable" ,
2016-06-11 20:49:01 +00:00
"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" ,
2017-04-02 01:41:59 +00:00
"args" : "avx avx2" ,
2016-06-11 20:49:01 +00:00
"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)"
} ,
2017-04-02 01:41:59 +00:00
{
"message" : "Other x86" ,
"type" : "featureList" ,
2017-04-13 22:44:45 +00:00
"args" : "aesni f16c rdrnd shani" ,
2017-04-02 01:41:59 +00:00
"condition" : "(arch.i386 || arch.x86_64)"
} ,
2017-11-16 05:01:15 +00:00
{
"type" : "feature" ,
2021-04-21 09:33:44 +00:00
"args" : "simdAlways" ,
"condition" : "(arch.i386 || arch.x86_64 || arch.arm64) && !config.msvc"
2017-11-16 05:01:15 +00:00
} ,
2016-06-11 20:49:01 +00:00
{
2021-04-21 09:33:44 +00:00
"message" : "Extensions" ,
"type" : "featureList" ,
"args" : "neon arm_crc32 arm_crypto" ,
2016-06-11 20:49:01 +00:00
"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" ,
2019-11-01 12:21:33 +00:00
"entries" : [
"sanitize_address" ,
"sanitize_thread" ,
"sanitize_memory" ,
"sanitize_fuzzer_no_link" ,
"sanitize_undefined"
]
2016-06-11 20:49:01 +00:00
} ,
2018-08-29 20:18:42 +00:00
{
"message" : "Code Coverage Instrumentation" ,
"type" : "firstAvailableFeature" ,
2019-12-19 16:51:21 +00:00
"args" : "coverage_trace_pc_guard coverage_source_based" ,
2018-08-29 20:18:42 +00:00
"condition" : "features.coverage"
} ,
2016-06-11 20:49:01 +00:00
{
"message" : "Build parts" ,
"type" : "buildParts"
2016-12-03 10:24:55 +00:00
} ,
{
"type" : "feature" ,
"args" : "appstore-compliant" ,
2020-06-05 07:24:37 +00:00
"condition" : "config.darwin || config.android || config.win32"
2016-06-11 20:49:01 +00:00
}
]
} , {
"section" : "Qt modules and options" ,
"entries" : [
"concurrent" ,
"dbus" ,
"dbus-linked" ,
"gui" ,
2016-11-21 17:21:47 +00:00
"network" ,
2016-11-23 09:12:16 +00:00
"sql" ,
2016-11-23 09:14:48 +00:00
"testlib" ,
2016-11-23 09:43:47 +00:00
"widgets" ,
"xml"
2016-06-11 20:49:01 +00:00
]
} , {
"section" : "Support enabled for" ,
"entries" : [
"pkg-config" ,
"libudev" ,
2018-11-01 05:42:14 +00:00
"system-zlib" ,
2020-09-03 08:29:41 +00:00
"zstd" ,
"thread"
2016-06-11 20:49:01 +00:00
]
}
]
}