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-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",
|
|
|
|
"src/plugins/sqldrivers"
|
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",
|
|
|
|
"importdir": "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",
|
|
|
|
"android-ndk": "string",
|
|
|
|
"android-ndk-host": "string",
|
|
|
|
"android-ndk-platform": "string",
|
|
|
|
"android-sdk": "string",
|
|
|
|
"android-toolchain-version": "string",
|
|
|
|
|
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",
|
2016-07-06 12:03:47 +00:00
|
|
|
"compile-examples": { "type": "boolean", "name": "compile_examples" },
|
2016-06-11 20:49:01 +00:00
|
|
|
"confirm-license": "void",
|
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",
|
|
|
|
"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",
|
|
|
|
"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",
|
|
|
|
"qml-debug": "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",
|
|
|
|
"use-gold-linker": { "type": "boolean", "name": "use_gold_linker" },
|
|
|
|
"warnings-are-errors": { "type": "boolean", "name": "warnings_are_errors" },
|
|
|
|
"Werror": { "type": "boolean", "name": "warnings_are_errors" },
|
|
|
|
"widgets": "boolean",
|
|
|
|
"xplatform": "string",
|
|
|
|
"zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } }
|
|
|
|
},
|
|
|
|
"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": {
|
|
|
|
"include": "zlib.h",
|
|
|
|
"main": [
|
|
|
|
"z_streamp stream = 0;",
|
|
|
|
"(void) zlibVersion();",
|
|
|
|
"(void) compress2(0, 0, 0, 0, 1); // compress2 was added in zlib version 1.0.8"
|
|
|
|
]
|
|
|
|
},
|
2016-08-15 12:40:52 +00:00
|
|
|
"sources": [
|
|
|
|
{ "libs": "-lzdll", "condition": "config.msvc" },
|
|
|
|
{ "libs": "-lz", "condition": "!config.msvc" }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"dbus": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "D-Bus >= 1.2",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "dbus/dbus.h",
|
|
|
|
"main": "(void) dbus_bus_get_private(DBUS_BUS_SYSTEM, (DBusError *)NULL);",
|
|
|
|
"qmake": [
|
|
|
|
"CONFIG += build_all",
|
|
|
|
"CONFIG(debug, debug|release): \\",
|
|
|
|
" LIBS += $$LIBS_DEBUG",
|
|
|
|
"else: \\",
|
|
|
|
" LIBS += $$LIBS_RELEASE"
|
|
|
|
]
|
|
|
|
},
|
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": {
|
|
|
|
"include": "libudev.h",
|
|
|
|
"main": "udev_unref(udev_new());"
|
|
|
|
},
|
2016-08-15 12:40:52 +00:00
|
|
|
"sources": [
|
|
|
|
{ "type": "pkgConfig", "args": "libudev" },
|
|
|
|
"-ludev"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2016-08-12 08:14:51 +00:00
|
|
|
"testTypeDependencies": {
|
|
|
|
"linkerSupportsFlag": [ "use_gold_linker" ],
|
2016-11-24 17:41:57 +00:00
|
|
|
"verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "gcc-sysroot", "qmakeargs", "commit" ],
|
2016-08-03 10:32:48 +00:00
|
|
|
"compile": [ "verifyspec" ],
|
2016-11-24 17:41:57 +00:00
|
|
|
"detectPkgConfig": [ "cross_compile", "machineTuple" ],
|
2016-08-12 08:14:51 +00:00
|
|
|
"library": [ "pkg-config" ],
|
|
|
|
"getPkgConfigVariable": [ "pkg-config" ],
|
2017-01-19 10:14:47 +00:00
|
|
|
"subarch": [ "architecture" ]
|
2016-08-12 08:14:51 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
"testTypeAliases": {
|
2016-09-09 07:50:08 +00:00
|
|
|
"compile": [ "library", "architecture" ]
|
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",
|
|
|
|
"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",
|
|
|
|
"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
|
|
|
},
|
|
|
|
"c++14": {
|
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
|
|
|
},
|
|
|
|
"c++1z": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "C++1z support",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"head": [
|
|
|
|
"#if __cplusplus > 201402L",
|
|
|
|
"// Compiler claims to support experimental C++1z, trust it",
|
|
|
|
"#else",
|
|
|
|
"# error __cplusplus must be > 201402L (the value for C++14)",
|
|
|
|
"#endif",
|
|
|
|
"#include <map> // https://bugs.llvm.org//show_bug.cgi?id=33117"
|
|
|
|
],
|
|
|
|
"qmake": "CONFIG += c++11 c++14 c++1z"
|
|
|
|
}
|
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",
|
|
|
|
"test": "common/pch"
|
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"
|
|
|
|
},
|
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"
|
|
|
|
},
|
|
|
|
"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": [
|
|
|
|
"#if !(defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64))",
|
|
|
|
"# error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).",
|
|
|
|
"#endif"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"TEMPLATE = lib",
|
|
|
|
"CONFIG += dll bsymbolic_functions",
|
|
|
|
"isEmpty(QMAKE_LFLAGS_BSYMBOLIC_FUNC): error(\"Nope\")"
|
|
|
|
]
|
|
|
|
}
|
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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"qmake": [
|
|
|
|
"TARGET = objcopytest",
|
|
|
|
"load(resolve_target)",
|
|
|
|
"QMAKE_POST_LINK += \\",
|
|
|
|
" $$QMAKE_OBJCOPY --only-keep-debug $$QMAKE_RESOLVED_TARGET objcopytest.debug && \\",
|
|
|
|
" $$QMAKE_OBJCOPY --strip-debug $$QMAKE_RESOLVED_TARGET && \\",
|
|
|
|
" $$QMAKE_OBJCOPY --add-gnu-debuglink=objcopytest.debug $$QMAKE_RESOLVED_TARGET"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"sse2": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "SSE2 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "emmintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128i a = _mm_setzero_si128();",
|
|
|
|
"_mm_maskmoveu_si128(a, _mm_setzero_si128(), 0);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_SSE2, var): error(\"This compiler does not support SSE2\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"sse3": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "SSE3 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "pmmintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128d a = _mm_set1_pd(6.28);",
|
|
|
|
"__m128d b = _mm_set1_pd(3.14);",
|
|
|
|
"__m128d result = _mm_addsub_pd(a, b);",
|
|
|
|
"(void) _mm_movedup_pd(result);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_SSE3, var): error(\"This compiler does not support SSE3\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE3"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"ssse3": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "SSSE3 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "tmmintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128i a = _mm_set1_epi32(42);",
|
|
|
|
"_mm_abs_epi8(a);",
|
|
|
|
"(void) _mm_sign_epi16(a, _mm_set1_epi32(64));"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_SSSE3, var): error(\"This compiler does not support SSSE3\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSSE3"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"sse4_1": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "SSE4.1 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "smmintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128 a = _mm_setzero_ps();",
|
|
|
|
"_mm_ceil_ps(a);",
|
|
|
|
"__m128i result = _mm_mullo_epi32(_mm_set1_epi32(42), _mm_set1_epi32(64));",
|
|
|
|
"(void)result;"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_SSE4_1, var): error(\"This compiler does not support SSE4.1\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_1"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"sse4_2": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "SSE4.2 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "nmmintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128i a = _mm_setzero_si128();",
|
|
|
|
"__m128i b = _mm_set1_epi32(42);",
|
|
|
|
"(void) _mm_cmpestrm(a, 16, b, 16, 0);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_SSE4_2, var): error(\"This compiler does not support SSE4.2\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_2"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
2017-02-10 13:51:12 +00:00
|
|
|
"f16c": {
|
|
|
|
"label": "F16C instructions",
|
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "immintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m128i a = _mm_setzero_si128();",
|
|
|
|
"__m128 b = _mm_cvtph_ps(a);",
|
|
|
|
"__m256 b256 = _mm256_cvtph_ps(a);",
|
|
|
|
"(void) _mm_cvtps_ph(b, 0);",
|
|
|
|
"(void) _mm256_cvtps_ph(b256, 0);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_F16C, var): error(\"This compiler does not support F16C\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_F16C"
|
|
|
|
]
|
|
|
|
}
|
2017-02-10 13:51:12 +00:00
|
|
|
},
|
2016-06-11 20:49:01 +00:00
|
|
|
"avx": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "immintrin.h",
|
|
|
|
"main": [
|
|
|
|
"__m256d a = _mm256_setzero_pd();",
|
|
|
|
"__m256d b = _mm256_set1_pd(42.42);",
|
|
|
|
"(void) _mm256_add_pd(a, b);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_AVX, var): error(\"This compiler does not support AVX\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"avx2": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX2 instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-08-01 16:30:33 +00:00
|
|
|
"test": {
|
|
|
|
"include": "immintrin.h",
|
|
|
|
"main": [
|
|
|
|
"// AVX",
|
|
|
|
"_mm256_zeroall();",
|
|
|
|
"__m256i a = _mm256_setzero_si256();",
|
|
|
|
"// AVX2",
|
|
|
|
"__m256i b = _mm256_and_si256(a, a);",
|
|
|
|
"(void) _mm256_add_epi8(a, b);"
|
|
|
|
],
|
|
|
|
"qmake": [
|
|
|
|
"!defined(QMAKE_CFLAGS_AVX2, var): error(\"This compiler does not support AVX2\")",
|
|
|
|
"QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX2"
|
|
|
|
]
|
|
|
|
}
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"avx512f": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 F instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=F"
|
|
|
|
},
|
|
|
|
"avx512er": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 ER instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=ER"
|
|
|
|
},
|
|
|
|
"avx512cd": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 CD instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=CD"
|
|
|
|
},
|
|
|
|
"avx512pf": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 PF instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=PF"
|
|
|
|
},
|
|
|
|
"avx512dq": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 DQ instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=DQ"
|
|
|
|
},
|
|
|
|
"avx512bw": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 BW instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=BW"
|
|
|
|
},
|
|
|
|
"avx512vl": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 VL instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=VL"
|
|
|
|
},
|
|
|
|
"avx512ifma": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 IFMA instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=IFMA"
|
|
|
|
},
|
|
|
|
"avx512vbmi": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX512 VBMI instructions",
|
2016-06-11 20:49:01 +00:00
|
|
|
"type": "compile",
|
2017-07-31 10:51:38 +00:00
|
|
|
"test": "avx512",
|
2016-06-11 20:49:01 +00:00
|
|
|
"args": "AVX512=VBMI"
|
|
|
|
},
|
|
|
|
"mips_dsp": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "MIPS DSP instructions",
|
2017-01-19 10:14:47 +00:00
|
|
|
"type": "subarch",
|
|
|
|
"subarch": "dsp"
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"mips_dspr2": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "MIPS DSPr2 instructions",
|
2017-01-19 10:14:47 +00:00
|
|
|
"type": "subarch",
|
|
|
|
"subarch": "dspr2"
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"neon": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "NEON instructions",
|
2017-01-19 10:14:47 +00:00
|
|
|
"type": "subarch",
|
|
|
|
"subarch": "neon"
|
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" ]
|
2016-09-09 07:50:08 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
"features": {
|
2016-11-24 17:41:48 +00:00
|
|
|
"prepare": {
|
2016-12-20 15:32:59 +00:00
|
|
|
"output": [ "prepareSpec", "prepareOptions", "preparePaths", "reloadSpec" ]
|
2016-11-24 17:41:57 +00:00
|
|
|
},
|
|
|
|
"machineTuple": {
|
|
|
|
"condition": "!config.linux || config.android || tests.machineTuple",
|
|
|
|
"output": [ "machineTuple" ]
|
|
|
|
},
|
|
|
|
"commit": {
|
2016-12-20 16:59:07 +00:00
|
|
|
"condition": "features.machineTuple",
|
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",
|
2016-11-10 06:06:16 +00:00
|
|
|
"autoDetect": "!config.uikit",
|
|
|
|
"condition": "!config.integrity",
|
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
|
|
|
},
|
|
|
|
"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 != ''"
|
|
|
|
},
|
2016-06-29 09:39:27 +00:00
|
|
|
"use_gold_linker": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "Using gold linker",
|
2017-05-17 13:43:36 +00:00
|
|
|
"condition": "!config.win32 && !config.integrity && tests.use_gold_linker",
|
2016-08-12 08:14:51 +00:00
|
|
|
"output": [ "privateConfig", "useGoldLinker" ]
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
2016-11-17 14:01:59 +00:00
|
|
|
"optimize_debug": {
|
|
|
|
"label": "Optimize debug 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",
|
2016-08-12 08:14:51 +00:00
|
|
|
"output": [ "architecture" ]
|
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",
|
2016-08-14 07:48:55 +00:00
|
|
|
"autoDetect": "!config.darwin && !config.win32",
|
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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"autoDetect": "features.developer-build || config.win32 || config.darwin"
|
|
|
|
},
|
|
|
|
"debug_and_release": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "Compile libs in debug and release mode",
|
2016-06-11 20:49:01 +00:00
|
|
|
"autoDetect": "input.debug == ''",
|
|
|
|
"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",
|
|
|
|
"autoDetect": "config.uikit || config.android || config.winrt",
|
|
|
|
"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",
|
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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"autoDetect": "features.developer-build",
|
|
|
|
"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",
|
2016-08-14 07:48:55 +00:00
|
|
|
"condition": "!config.android && !config.integrity && !config.winrt",
|
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" ]
|
|
|
|
},
|
|
|
|
"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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_undefined",
|
|
|
|
"output": [ "publicConfig" ]
|
|
|
|
},
|
|
|
|
"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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "features.c++11 && tests.c++14",
|
2016-08-05 11:35:39 +00:00
|
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"c++1z": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "C++1z",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "features.c++14 && tests.c++1z",
|
2016-08-05 11:35:39 +00:00
|
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"precompile_header": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "Using precompiled headers",
|
2016-08-23 22:16:42 +00:00
|
|
|
"condition": "config.msvc || tests.precompile_header",
|
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" ]
|
|
|
|
},
|
|
|
|
"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" }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_2", "value": 1 }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"avx": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "AVX",
|
2017-02-07 21:45:20 +00:00
|
|
|
"condition": "features.sse4_2 && tests.avx",
|
2016-06-11 20:49:01 +00:00
|
|
|
"output": [
|
|
|
|
"privateConfig",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "features.avx && tests.avx2",
|
|
|
|
"output": [
|
|
|
|
"privateConfig",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "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",
|
|
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VBMI", "value": 1 }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"mips_dsp": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "DSP",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "arch.mips && tests.mips_dsp",
|
|
|
|
"output": [
|
|
|
|
"privateConfig",
|
|
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"mips_dspr2": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "DSPr2",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "arch.mips && tests.mips_dspr2",
|
|
|
|
"output": [
|
|
|
|
"privateConfig",
|
|
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"neon": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "NEON",
|
2016-06-11 20:49:01 +00:00
|
|
|
"condition": "(arch.arm || arch.arm64) && tests.neon",
|
|
|
|
"output": [
|
|
|
|
"privateConfig",
|
|
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 }
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"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
|
|
|
},
|
|
|
|
"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-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",
|
2016-08-19 06:41:11 +00:00
|
|
|
"autoDetect": "!config.uikit && !config.android && !config.winrt",
|
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" ]
|
|
|
|
},
|
2016-11-23 09:12:16 +00:00
|
|
|
"sql": {
|
|
|
|
"label": "Qt Sql",
|
|
|
|
"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
|
|
|
},
|
|
|
|
"qml-debug": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "QML debugging",
|
2017-02-23 10:32:25 +00:00
|
|
|
"output": [
|
|
|
|
"privateFeature",
|
|
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
|
|
]
|
2016-06-11 20:49:01 +00:00
|
|
|
},
|
|
|
|
"compile_examples": {
|
2016-08-26 19:10:56 +00:00
|
|
|
"label": "Compile examples",
|
2016-06-11 20:49:01 +00:00
|
|
|
"output": [ "privateConfig" ]
|
|
|
|
},
|
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,
|
|
|
|
"condition": "config.unix && tests.ccache",
|
|
|
|
"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" ]
|
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",
|
|
|
|
"message": "-debug-and-release is only supported on Darwin and Windows platforms.
|
|
|
|
Qt can be built in release mode with separate debug information, so
|
|
|
|
-debug-and-release is no longer necessary."
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "error",
|
|
|
|
"condition": "features.framework && features.debug && !features.debug_and_release",
|
|
|
|
"message": "debug-only framework builds are not supported. Configure with -no-framework if you want a pure debug build."
|
|
|
|
},
|
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"
|
2016-06-11 20:49:01 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
|
|
|
|
"report": [
|
|
|
|
{
|
|
|
|
"type": "note",
|
|
|
|
"condition": "!features.shared",
|
|
|
|
"message": "Using static linking will disable the use of dynamically
|
|
|
|
loaded plugins. Make sure to import all needed static plugins,
|
|
|
|
or compile needed modules into the library."
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "note",
|
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": "note",
|
|
|
|
"condition": "input.qreal == 'double' && arch.arm",
|
|
|
|
"message": "Qt is using double for qreal on this system. This is binary-incompatible against Qt 5.1.
|
|
|
|
Configure with '-qreal float' to create a build that is binary-compatible with 5.1."
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "error",
|
|
|
|
"condition": "!features.stl",
|
|
|
|
"message": "Qt requires a compliant STL library."
|
|
|
|
}
|
|
|
|
],
|
|
|
|
|
|
|
|
"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",
|
|
|
|
{
|
|
|
|
"message": "Using C++ standard",
|
|
|
|
"type": "firstAvailableFeature",
|
|
|
|
"args": "c++1z c++14 c++11"
|
|
|
|
},
|
2017-06-02 12:08:32 +00:00
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "ccache",
|
|
|
|
"condition": "config.unix"
|
|
|
|
},
|
2016-06-11 20:49:01 +00:00
|
|
|
"use_gold_linker",
|
2016-07-14 15:51:46 +00:00
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "enable_new_dtags",
|
|
|
|
"condition": "config.linux"
|
|
|
|
},
|
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-02-10 13:51:12 +00:00
|
|
|
"args": "avx avx2 f16c",
|
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)"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "neon",
|
|
|
|
"condition": "arch.arm || arch.arm64"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "mips_dsp",
|
|
|
|
"condition": "arch.mips"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "mips_dspr2",
|
|
|
|
"condition": "arch.mips"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"section": "Sanitizers",
|
|
|
|
"condition": "features.sanitizer",
|
|
|
|
"entries": [ "sanitize_address", "sanitize_thread", "sanitize_memory", "sanitize_undefined" ]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"message": "Build parts",
|
|
|
|
"type": "buildParts"
|
2016-12-03 10:24:55 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "feature",
|
|
|
|
"args": "appstore-compliant",
|
|
|
|
"condition": "config.darwin || config.android || config.winrt || 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",
|
|
|
|
"qml-debug",
|
|
|
|
"libudev",
|
|
|
|
"system-zlib"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
}
|