60e5a1c8ef
This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2878 lines
102 KiB
JSON
2878 lines
102 KiB
JSON
{
|
|
"files": {
|
|
"publicHeader": "src/corelib/global/qconfig.h",
|
|
"privateHeader": "src/corelib/global/qconfig_p.h",
|
|
"publicPro": "mkspecs/qconfig.pri",
|
|
"privatePro": "mkspecs/qmodule.pri"
|
|
},
|
|
|
|
"commandline": {
|
|
"assignments": {
|
|
"DBUS_HOST_PATH": "host_dbus.prefix",
|
|
"DBUS_PATH": "dbus.prefix",
|
|
"MYSQL_PATH": "mysql.prefix",
|
|
"OPENSSL_LIBS": "openssl.libs",
|
|
"OPENSSL_LIBS_DEBUG": "openssl.libs.debug",
|
|
"OPENSSL_LIBS_RELEASE": "openssl.libs.release",
|
|
"OPENSSL_PATH": "openssl.prefix",
|
|
"PSQL_LIBS": "psql.libs",
|
|
"SYBASE": "tds.prefix",
|
|
"SYBASE_LIBS": "tds.libs",
|
|
"ZLIB_LIBS": "zlib.libs"
|
|
},
|
|
"custom": "qmakeArgs",
|
|
"options": {
|
|
"prefix": "string",
|
|
"hostprefix": "string",
|
|
"extprefix": "string",
|
|
|
|
"archdatadir": "string",
|
|
"bindir": "string",
|
|
"datadir": "string",
|
|
"docdir": "string",
|
|
"examplesdir": "string",
|
|
"external-hostbindir": "string",
|
|
"headerdir": "string",
|
|
"hostbindir": "string",
|
|
"hostdatadir": "string",
|
|
"hostlibdir": "string",
|
|
"importdir": "string",
|
|
"libdir": "string",
|
|
"libexecdir": "string",
|
|
"plugindir": "string",
|
|
"qmldir": "string",
|
|
"settingsdir": "string",
|
|
"sysconfdir": "string",
|
|
"testsdir": "string",
|
|
"translationdir": "string",
|
|
|
|
"android-arch": "string",
|
|
"android-ndk": "string",
|
|
"android-ndk-host": "string",
|
|
"android-ndk-platform": "string",
|
|
"android-sdk": "string",
|
|
"android-style-assets": "boolean",
|
|
"android-toolchain-version": "string",
|
|
|
|
"accessibility": "boolean",
|
|
"alsa": "boolean",
|
|
"angle": "boolean",
|
|
"audio-backend": "boolean",
|
|
"avx": "boolean",
|
|
"avx2": "boolean",
|
|
"avx512": { "type": "boolean", "name": "avx512f" },
|
|
"c++std": "cxxstd",
|
|
"commercial": "void",
|
|
"compile-examples": { "type": "boolean", "name": "compile_examples" },
|
|
"confirm-license": "void",
|
|
"continue": "void",
|
|
"cups": "boolean",
|
|
"dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
|
|
"dbus-linked": { "type": "void", "name": "dbus", "value": "linked" },
|
|
"dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" },
|
|
"debug": "void",
|
|
"debug-and-release": { "type": "boolean", "name": "debug_and_release" },
|
|
"developer-build": "void",
|
|
"device": "string",
|
|
"device-option": "string",
|
|
"directfb": "boolean",
|
|
"directwrite": "boolean",
|
|
"doubleconversion": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"egl": "boolean",
|
|
"eglfs": "boolean",
|
|
"evdev": "boolean",
|
|
"eventfd": "boolean",
|
|
"fontconfig": "boolean",
|
|
"force-asserts": { "type": "boolean", "name": "force_asserts" },
|
|
"force-debug-info": { "type": "boolean", "name": "force_debug_info" },
|
|
"force-pkg-config": { "type": "void", "name": "pkg-config" },
|
|
"framework": "boolean",
|
|
"freetype": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"gbm": "boolean",
|
|
"gcc-sysroot": "boolean",
|
|
"gcov": "boolean",
|
|
"gif": "boolean",
|
|
"glib": "boolean",
|
|
"gnumake": { "type": "boolean", "name": "GNUmake" },
|
|
"gstreamer": { "type": "optionalString", "values": [ "no", "yes", "0.10", "1.0" ] },
|
|
"gtk": { "type": "boolean", "name": "gtk3" },
|
|
"gui": "boolean",
|
|
"harfbuzz": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"headersclean": "boolean",
|
|
"host-option": "string",
|
|
"ico": "boolean",
|
|
"iconv": { "type": "enum", "values": [ "no", "yes", "posix", "sun", "gnu" ] },
|
|
"icu": "boolean",
|
|
"imf": { "type": "boolean", "name": "qqnx_imf" },
|
|
"incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" },
|
|
"inotify": "boolean",
|
|
"journald": "boolean",
|
|
"lgmon": "boolean",
|
|
"libinput": "boolean",
|
|
"libjpeg": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"libpng": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"libproxy": "boolean",
|
|
"libudev": "boolean",
|
|
"linuxfb": "boolean",
|
|
"ltcg": "boolean",
|
|
"kms": "boolean",
|
|
"make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] },
|
|
"make-tool": "string",
|
|
"mips_dsp": "boolean",
|
|
"mips_dspr2": "boolean",
|
|
"mirclient": "boolean",
|
|
"mp": { "type": "boolean", "name": "msvc_mp" },
|
|
"mtdev": "boolean",
|
|
"mysql_config": "string",
|
|
"nomake": { "type": "addString", "values": [ "examples", "tests", "tools" ] },
|
|
"opengl": { "type": "optionalString", "values": [ "no", "yes", "desktop", "es2", "dynamic" ] },
|
|
"opengl-es-2": { "type": "void", "name": "opengl", "value": "es2" },
|
|
"opengles3": "boolean",
|
|
"opensource": { "type": "void", "name": "commercial", "value": "no" },
|
|
"openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
|
|
"openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
|
|
"openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
|
|
"optimized-qmake": { "type": "boolean", "name": "release_tools" },
|
|
"optimized-tools": { "type": "boolean", "name": "release_tools" },
|
|
"pch": { "type": "boolean", "name": "precompile_header" },
|
|
"pcre": { "type": "enum", "values": [ "qt", "system" ] },
|
|
"pkg-config": "boolean",
|
|
"platform": "string",
|
|
"plugin-manifests": "boolean",
|
|
"pps": { "type": "boolean", "name": "qqnx_pps" },
|
|
"posix-ipc": { "type": "boolean", "name": "ipc_posix" },
|
|
"profile": "boolean",
|
|
"psql_config": "string",
|
|
"pulseaudio": "boolean",
|
|
"qml-debug": "boolean",
|
|
"qpa": { "type": "string", "name": "qpa_default_platform" },
|
|
"qpa-platform-guard": "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",
|
|
"rtti": "boolean",
|
|
"sanitize": "sanitize",
|
|
"sctp": "boolean",
|
|
"sdk": "string",
|
|
"securetransport": "boolean",
|
|
"separate-debug-info": { "type": "boolean", "name": "separate_debug_info" },
|
|
"shared": "boolean",
|
|
"silent": "void",
|
|
"slog2": "boolean",
|
|
"sm": { "type": "boolean", "name": "sessionmanager" },
|
|
"sql-db2": "boolean",
|
|
"sql-ibase": "boolean",
|
|
"sql-mysql": "boolean",
|
|
"sql-oci": "boolean",
|
|
"sql-odbc": "boolean",
|
|
"sql-psql": "boolean",
|
|
"sql-sqlite": "boolean",
|
|
"sql-sqlite2": "boolean",
|
|
"sql-tds": "boolean",
|
|
"plugin-sql-db2": { "type": "void", "name": "sql-db2" },
|
|
"plugin-sql-ibase": { "type": "void", "name": "sql-ibase" },
|
|
"plugin-sql-mysql": { "type": "void", "name": "sql-mysql" },
|
|
"plugin-sql-oci": { "type": "void", "name": "sql-oci" },
|
|
"plugin-sql-odbc": { "type": "void", "name": "sql-odbc" },
|
|
"plugin-sql-psql": { "type": "void", "name": "sql-psql" },
|
|
"plugin-sql-sqlite": { "type": "void", "name": "sql-sqlite" },
|
|
"plugin-sql-sqlite2": { "type": "void", "name": "sql-sqlite2" },
|
|
"plugin-sql-tds": { "type": "void", "name": "sql-tds" },
|
|
"qdbus": { "type": "boolean", "name": "dbus" },
|
|
"sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } },
|
|
"sse2": "boolean",
|
|
"sse3": "boolean",
|
|
"sse4.1": { "type": "boolean", "name": "sse4_1" },
|
|
"sse4.2": { "type": "boolean", "name": "sse4_2" },
|
|
"ssl": "boolean",
|
|
"ssse3": "boolean",
|
|
"static": { "type": "enum", "name": "shared", "values": { "yes": "no", "no": "yes" } },
|
|
"static-runtime": { "type": "boolean", "name": "static_runtime" },
|
|
"strip": "boolean",
|
|
"style-windows": "boolean",
|
|
"style-windowsxp": "boolean",
|
|
"style-windowsvista": "boolean",
|
|
"style-fusion": "boolean",
|
|
"style-mac": "boolean",
|
|
"style-android": "boolean",
|
|
"syncqt": "boolean",
|
|
"syslog": "boolean",
|
|
"sysroot": "string",
|
|
"system-proxies": "boolean",
|
|
"testcocoon": "boolean",
|
|
"tslib": "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",
|
|
"wmf-backend": "boolean",
|
|
"xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] },
|
|
"xcb-xlib": "boolean",
|
|
"xinput2": "boolean",
|
|
"xkb": "boolean",
|
|
"xkb-config-root": "string",
|
|
"xkbcommon": { "type": "enum", "values": [ "no", "qt", "system" ] },
|
|
"xkbcommon-evdev": "boolean",
|
|
"xkbcommon-x11": { "type": "enum", "name": "xkbcommon", "values": [ "no", "qt", "system" ] },
|
|
"xplatform": "string",
|
|
"xrender": "boolean",
|
|
"zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } }
|
|
},
|
|
"prefix": {
|
|
"D": "defines",
|
|
"F": "fpaths",
|
|
"I": "includes",
|
|
"L": "lpaths",
|
|
"R": "rpaths",
|
|
"W": "wflags"
|
|
}
|
|
|
|
},
|
|
|
|
"libraries": {
|
|
"libatomic": {
|
|
"description": "64 bit atomics in libatomic",
|
|
"test": "common/atomic64",
|
|
"sources": [
|
|
"-latomic"
|
|
]
|
|
},
|
|
"libdl": {
|
|
"description": "dlopen() in libdl",
|
|
"export": "",
|
|
"test": "unix/dlopen",
|
|
"sources": [
|
|
"-ldl"
|
|
]
|
|
},
|
|
"doubleconversion": {
|
|
"description": "DoubleConversion",
|
|
"test": "unix/doubleconversion",
|
|
"sources": [
|
|
"-ldouble-conversion"
|
|
]
|
|
},
|
|
"pcre": {
|
|
"description": "PCRE",
|
|
"test": "unix/pcre",
|
|
"sources": [
|
|
"-lpcre16"
|
|
]
|
|
},
|
|
"zlib": {
|
|
"description": "zlib",
|
|
"test": "unix/zlib",
|
|
"sources": [
|
|
{ "libs": "-lzdll", "condition": "config.msvc" },
|
|
{ "libs": "-lz", "condition": "!config.msvc" }
|
|
]
|
|
},
|
|
"gnu_iconv": {
|
|
"description": "GNU libiconv",
|
|
"export": "iconv",
|
|
"test": "unix/gnu-libiconv",
|
|
"sources": [
|
|
"-liconv"
|
|
]
|
|
},
|
|
"icu": {
|
|
"description": "ICU",
|
|
"export": "",
|
|
"test": "unix/icu",
|
|
"sources": [
|
|
{
|
|
"builds": {
|
|
"debug": "-lsicuind -lsicuucd -lsicudtd",
|
|
"release": "-lsicuin -lsicuuc -lsicudt"
|
|
},
|
|
"condition": "config.win32 && !features.shared"
|
|
},
|
|
{ "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" },
|
|
{ "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"network": {
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "makeSpec", "spec": "NETWORK" }
|
|
]
|
|
},
|
|
"corewlan": {
|
|
"description": "CoreWLan",
|
|
"export": "",
|
|
"test": "mac/corewlan",
|
|
"sources": [
|
|
"-framework CoreWLAN -framework Foundation"
|
|
]
|
|
},
|
|
"openssl": {
|
|
"description": "OpenSSL Libraries",
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "openssl" },
|
|
{
|
|
"comment": "placeholder for OPENSSL_LIBS{,_{DEBUG,RELEASE}}",
|
|
"libs": "",
|
|
"builds": {
|
|
"debug": "",
|
|
"release": ""
|
|
},
|
|
"condition": "config.win32 && !features.shared"
|
|
},
|
|
{ "libs": "-lssleay32 -llibeay32", "condition": "config.win32 && features.shared" },
|
|
{ "libs": "-lssl -lcrypto", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"libproxy": {
|
|
"description": "libproxy",
|
|
"test": "common/libproxy",
|
|
"sources": [
|
|
"-lproxy"
|
|
]
|
|
},
|
|
"glib": {
|
|
"description": "GLib",
|
|
"test": "unix/glib",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
|
|
]
|
|
},
|
|
"gtk3": {
|
|
"description": "GTK+",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "gtk+-3.0" }
|
|
]
|
|
},
|
|
"cups": {
|
|
"description": "CUPS",
|
|
"test": "unix/cups",
|
|
"sources": [
|
|
"-lcups"
|
|
]
|
|
},
|
|
"libjpeg": {
|
|
"description": "libjpeg",
|
|
"test": "unix/libjpeg",
|
|
"sources": [
|
|
{ "libs": "-llibjpeg", "condition": "config.msvc" },
|
|
{ "libs": "-ljpeg", "condition": "!config.msvc" }
|
|
]
|
|
},
|
|
"libpng": {
|
|
"description": "libpng",
|
|
"test": "unix/libpng",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libpng" },
|
|
{ "libs": "-llibpng", "condition": "config.msvc" },
|
|
{ "libs": "-lpng", "condition": "!config.msvc" }
|
|
]
|
|
},
|
|
"alsa": {
|
|
"description": "ALSA",
|
|
"export": "",
|
|
"test": "unix/alsa",
|
|
"sources": [
|
|
"-lasound"
|
|
]
|
|
},
|
|
"pulseaudio": {
|
|
"description": "PulseAudio >= 0.9.10",
|
|
"test": "unix/pulseaudio",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" }
|
|
]
|
|
},
|
|
"gstreamer_1_0": {
|
|
"description": "GStreamer 1.0",
|
|
"export": "",
|
|
"test": "unix/gstreamer",
|
|
"sources": [
|
|
{ "type": "pkgConfig",
|
|
"args": "gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0" }
|
|
]
|
|
},
|
|
"gstreamer_0_10": {
|
|
"description": "GStreamer 0.10",
|
|
"export": "",
|
|
"test": "unix/gstreamer",
|
|
"sources": [
|
|
{ "type": "pkgConfig",
|
|
"args": "gstreamer-0.10 gstreamer-base-0.10 gstreamer-audio-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10" }
|
|
]
|
|
},
|
|
"freetype": {
|
|
"description": "FreeType",
|
|
"export": "",
|
|
"test": "unix/freetype",
|
|
"sources": [
|
|
"-lfreetype"
|
|
]
|
|
},
|
|
"fontconfig": {
|
|
"description": "Fontconfig",
|
|
"test": "unix/fontconfig",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "fontconfig freetype2" },
|
|
"-lfontconfig -lfreetype"
|
|
]
|
|
},
|
|
"harfbuzz": {
|
|
"description": "HarfBuzz",
|
|
"test": "unix/harfbuzz",
|
|
"sources": [
|
|
"-lharfbuzz"
|
|
]
|
|
},
|
|
"dbus": {
|
|
"description": "D-Bus >= 1.2",
|
|
"test": "unix/dbus",
|
|
"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": {
|
|
"description": "D-Bus >= 1.2 (host)",
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "host": true, "args": "dbus-1 >= 1.2" },
|
|
{ "libs": "", "comment": "placeholder for DBUS_HOST_PATH" }
|
|
]
|
|
},
|
|
"libinput": {
|
|
"description": "libinput",
|
|
"test": "unix/libinput",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libinput" }
|
|
]
|
|
},
|
|
"mtdev": {
|
|
"description": "mtdev",
|
|
"export": "",
|
|
"test": "unix/mtdev",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "mtdev" }
|
|
]
|
|
},
|
|
"tslib": {
|
|
"description": "tslib",
|
|
"test": "unix/tslib",
|
|
"sources": [
|
|
"-lts"
|
|
]
|
|
},
|
|
"libudev": {
|
|
"description": "udev",
|
|
"test": "unix/libudev",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libudev" },
|
|
"-ludev"
|
|
]
|
|
},
|
|
"xkbcommon": {
|
|
"description": "xkbcommon",
|
|
"export": "xkbcommon_evdev",
|
|
"test": "unix/xkbcommon",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xkbcommon" }
|
|
]
|
|
},
|
|
"xkbcommon_x11": {
|
|
"description": "xkbcommon-x11 >= 0.4.1",
|
|
"export": "xkbcommon",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xkbcommon xkbcommon-x11 >= 0.4.1" }
|
|
]
|
|
},
|
|
"xinput2": {
|
|
"description": "Xinput2",
|
|
"test": "x11/xinput2",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xi" },
|
|
"-lXi"
|
|
]
|
|
},
|
|
"xrender": {
|
|
"description": "XRender",
|
|
"test": "x11/xrender",
|
|
"sources": [
|
|
"-lXrender"
|
|
]
|
|
},
|
|
"xcb": {
|
|
"description": "XCB >= 1.5 (core)",
|
|
"test": "qpa/xcb",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xcb >= 1.5" },
|
|
"-lxcb"
|
|
]
|
|
},
|
|
"xcb_syslibs": {
|
|
"description": "XCB (secondary)",
|
|
"test": "qpa/xcb-syslibs",
|
|
"sources": [
|
|
{ "type": "pkgConfig",
|
|
"args": "xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm xcb-shape" },
|
|
"-lxcb -lxcb-shm -lxcb-sync -lxcb-xfixes -lxcb-randr -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-shape"
|
|
]
|
|
},
|
|
"xcb_xlib": {
|
|
"description": "XCB Xlib",
|
|
"test": "qpa/xcb-xlib",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "X11-xcb x11 xcb" },
|
|
"-lxcb -lX11 -lX11-xcb"
|
|
]
|
|
},
|
|
"xcb_xkb": {
|
|
"description": "XCB XKB >= 1.10",
|
|
"test": "qpa/xcb-xkb",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xcb-xkb >= 1.10 xcb" },
|
|
"-lxcb-xkb -lxcb"
|
|
]
|
|
},
|
|
"xcb_render": {
|
|
"description": "XCB XRender",
|
|
"test": "qpa/xcb-render",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xcb-renderutil xcb-render xcb" },
|
|
"-lxcb-render-util -lxcb-render -lxcb"
|
|
]
|
|
},
|
|
"xcb_glx": {
|
|
"description": "XCB GLX",
|
|
"test": "qpa/xcb-glx",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "xcb-glx xcb" },
|
|
"-lxcb-glx -lxcb"
|
|
]
|
|
},
|
|
"x11sm": {
|
|
"description": "X11 session management",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "sm ice" }
|
|
]
|
|
},
|
|
"opengl": {
|
|
"description": "Desktop OpenGL",
|
|
"test": "unix/opengldesktop",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "gl" },
|
|
{ "type": "makeSpec", "spec": "OPENGL" }
|
|
]
|
|
},
|
|
"opengl_es2": {
|
|
"description": "OpenGL ES 2.0",
|
|
"test": "unix/opengles2",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "glesv2" },
|
|
{ "type": "makeSpec", "spec": "OPENGL_ES2" }
|
|
]
|
|
},
|
|
"egl": {
|
|
"description": "EGL",
|
|
"test": "qpa/egl",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "egl" },
|
|
{ "type": "makeSpec", "spec": "EGL" }
|
|
]
|
|
},
|
|
"bcm_host": {
|
|
"export": "",
|
|
"sources": [
|
|
"-lbcm_host"
|
|
]
|
|
},
|
|
"gbm": {
|
|
"description": "GBM",
|
|
"test": "qpa/gbm",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "gbm" }
|
|
]
|
|
},
|
|
"drm": {
|
|
"description": "KMS",
|
|
"test": "qpa/kms",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libdrm" },
|
|
"-ldrm"
|
|
]
|
|
},
|
|
"wayland_server": {
|
|
"description": "Wayland Server",
|
|
"export": "",
|
|
"test": "qpa/wayland-server",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "wayland-server" }
|
|
]
|
|
},
|
|
"directfb": {
|
|
"description": "DirectFB",
|
|
"test": "qpa/directfb",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "directfb" }
|
|
]
|
|
},
|
|
"mirclient": {
|
|
"description": "Mir client libraries",
|
|
"export": "",
|
|
"test": "qpa/mirclient",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "egl mirclient ubuntu-platform-api" }
|
|
]
|
|
},
|
|
"directwrite": {
|
|
"description": "DirectWrite",
|
|
"export": "",
|
|
"test": "win/directwrite",
|
|
"sources": [
|
|
"-ldwrite"
|
|
]
|
|
},
|
|
"journald": {
|
|
"description": "journald",
|
|
"test": "unix/journald",
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "libsystemd" },
|
|
{ "type": "pkgConfig", "args": "libsystemd-journal" }
|
|
]
|
|
},
|
|
"slog2": {
|
|
"description": "slog2",
|
|
"test": "unix/slog2",
|
|
"export": "",
|
|
"sources": [
|
|
"-lslog2"
|
|
]
|
|
},
|
|
"imf": {
|
|
"description": "IMF",
|
|
"export": "",
|
|
"test": "unix/qqnx_imf",
|
|
"sources": [
|
|
"-linput_client"
|
|
]
|
|
},
|
|
"pps": {
|
|
"description": "PPS",
|
|
"test": "unix/pps",
|
|
"sources": [
|
|
"-lpps"
|
|
]
|
|
},
|
|
"lgmon": {
|
|
"description": "lgmon",
|
|
"test": "unix/lgmon",
|
|
"sources": [
|
|
"-llgmon"
|
|
]
|
|
},
|
|
"db2": {
|
|
"description": "DB2 (IBM)",
|
|
"test": "unix/db2",
|
|
"sources": [
|
|
{ "libs": "-ldb2cli", "condition": "config.win32" },
|
|
{ "libs": "-ldb2", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"ibase": {
|
|
"description": "InterBase",
|
|
"test": "unix/ibase",
|
|
"sources": [
|
|
{ "libs": "-lgds32_ms", "condition": "config.win32" },
|
|
{ "libs": "-lgds", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"mysql": {
|
|
"description": "MySQL",
|
|
"test": "unix/mysql",
|
|
"sources": [
|
|
{ "type": "mysqlConfig", "query": "--libs_r" },
|
|
{ "type": "mysqlConfig", "query": "--libs" },
|
|
{ "libs": "-lmysqlclient_r", "condition": "!config.win32" },
|
|
{ "libs": "-llibmysql", "condition": "config.win32" },
|
|
{ "libs": "-lmysqlclient", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"psql": {
|
|
"description": "PostgreSQL",
|
|
"test": "unix/psql",
|
|
"sources": [
|
|
{ "type": "psqlConfig" },
|
|
{ "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
|
|
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"tds": {
|
|
"description": "TDS (Sybase)",
|
|
"test": "unix/tds",
|
|
"sources": [
|
|
{ "type": "sybaseEnv", "libs": "-lNTWDBLIB", "condition": "config.win32" },
|
|
{ "type": "sybaseEnv", "libs": "-lsybdb", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"oci": {
|
|
"description": "OCI (Oracle)",
|
|
"test": "unix/oci",
|
|
"sources": [
|
|
{ "libs": "-loci", "condition": "config.win32" },
|
|
{ "libs": "-lclntsh", "condition": "!config.win32" }
|
|
]
|
|
},
|
|
"odbc": {
|
|
"description": "ODBC",
|
|
"test": "unix/odbc",
|
|
"sources": [
|
|
{ "libs": "-lodbc32", "condition": "config.win32" },
|
|
{ "libs": "-liodbc", "condition": "config.darwin" },
|
|
{ "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
|
|
]
|
|
},
|
|
"sqlite2": {
|
|
"description": "SQLite (version 2)",
|
|
"test": "unix/sqlite2",
|
|
"sources": [
|
|
"-lsqlite"
|
|
]
|
|
},
|
|
"sqlite3": {
|
|
"description": "SQLite (version 3)",
|
|
"export": "sqlite",
|
|
"test": "unix/sqlite",
|
|
"sources": [
|
|
{ "type": "pkgConfig", "args": "sqlite3" },
|
|
{ "libs": "-lsqlite3", "condition": "config.win32" },
|
|
{ "libs": "-lsqlite3 -lz", "condition": "!config.win32" }
|
|
]
|
|
}
|
|
},
|
|
|
|
"testTypeDependencies": {
|
|
"linkerSupportsFlag": [ "use_gold_linker" ],
|
|
"verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "gcc-sysroot", "qmakeargs" ],
|
|
"compile": [ "verifyspec" ],
|
|
"detectPkgConfig": [ "cross_compile" ],
|
|
"library": [ "pkg-config" ],
|
|
"getPkgConfigVariable": [ "pkg-config" ],
|
|
"neon": [ "architecture" ],
|
|
"directX": [ "architecture", "sse2" ]
|
|
},
|
|
|
|
"testTypeAliases": {
|
|
"compile": [ "library", "architecture" ],
|
|
"files": [ "directX" ],
|
|
"getPkgConfigVariable": [ "xkbConfigRoot" ]
|
|
},
|
|
|
|
"tests": {
|
|
"verifyspec": {
|
|
"description": "valid makespec",
|
|
"type": "verifySpec",
|
|
"test": "common/verifyspec"
|
|
},
|
|
"architecture": {
|
|
"description": "target architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"log": "arch"
|
|
},
|
|
"host_architecture": {
|
|
"description": "host architecture",
|
|
"type": "architecture",
|
|
"test": "arch",
|
|
"host": true,
|
|
"pro": "arch_host.pro",
|
|
"log": "arch"
|
|
},
|
|
"GNUmake": {
|
|
"description": "GNU make",
|
|
"type": "gnumake"
|
|
},
|
|
"pkg-config": {
|
|
"description": "pkg-config",
|
|
"type": "detectPkgConfig"
|
|
},
|
|
"stl": {
|
|
"description": "STL compatibility",
|
|
"type": "compile",
|
|
"test": "unix/stl"
|
|
},
|
|
"c++14": {
|
|
"description": "C++14 support",
|
|
"type": "compile",
|
|
"test": "common/c++14"
|
|
},
|
|
"c++1z": {
|
|
"description": "C++1z support",
|
|
"type": "compile",
|
|
"test": "common/c++1z"
|
|
},
|
|
"cxx98default": {
|
|
"description": "compiler defaulting to C++98",
|
|
"type": "compile",
|
|
"test": "common/c++98default"
|
|
},
|
|
"compiler": {
|
|
"description": "Compiler",
|
|
"type": "checkCompiler",
|
|
"log": "compilerDescription"
|
|
},
|
|
"precompile_header": {
|
|
"description": "precompiled header support",
|
|
"type": "compile",
|
|
"test": "common/pch"
|
|
},
|
|
"use_gold_linker": {
|
|
"description": "gold linker",
|
|
"type": "compilerSupportsFlag",
|
|
"flag": "-fuse-ld=gold"
|
|
},
|
|
"enable_new_dtags": {
|
|
"description": "new dtags support",
|
|
"type": "linkerSupportsFlag",
|
|
"flag": "--enable-new-dtags"
|
|
},
|
|
"reduce_exports": {
|
|
"description": "symbol visibility support",
|
|
"type": "compile",
|
|
"test": "unix/reduce_exports"
|
|
},
|
|
"reduce_relocations": {
|
|
"description": "-Bsymbolic-functions support",
|
|
"type": "compile",
|
|
"test": "unix/reduce_relocs"
|
|
},
|
|
"build_parts": {
|
|
"type": "buildParts"
|
|
},
|
|
"dlopen": {
|
|
"description": "dlopen() in libc",
|
|
"type": "compile",
|
|
"test": "unix/dlopen"
|
|
},
|
|
"separate_debug_info": {
|
|
"description": "separate debug information support",
|
|
"type": "compile",
|
|
"test": "unix/objcopy"
|
|
},
|
|
"atomic64": {
|
|
"description": "64 bit atomics",
|
|
"type": "compile",
|
|
"test": "common/atomic64"
|
|
},
|
|
"atomicfptr": {
|
|
"description": "working std::atomic for function pointers",
|
|
"type": "compile",
|
|
"test": "common/atomicfptr"
|
|
},
|
|
"sse2": {
|
|
"description": "SSE2 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse2"
|
|
},
|
|
"sse3": {
|
|
"description": "SSE3 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse3"
|
|
},
|
|
"ssse3": {
|
|
"description": "SSSE3 instructions",
|
|
"type": "compile",
|
|
"test": "common/ssse3"
|
|
},
|
|
"sse4_1": {
|
|
"description": "SSE4.1 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse4_1"
|
|
},
|
|
"sse4_2": {
|
|
"description": "SSE4.2 instructions",
|
|
"type": "compile",
|
|
"test": "common/sse4_2"
|
|
},
|
|
"avx": {
|
|
"description": "AVX instructions",
|
|
"type": "compile",
|
|
"test": "common/avx"
|
|
},
|
|
"avx_apple_clang": {
|
|
"description": "bugfree AVX support in compiler",
|
|
"type": "avx_test_apple_clang"
|
|
},
|
|
"avx2": {
|
|
"description": "AVX2 instructions",
|
|
"type": "compile",
|
|
"test": "common/avx2"
|
|
},
|
|
"avx512f": {
|
|
"description": "AVX512 F instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=F"
|
|
},
|
|
"avx512er": {
|
|
"description": "AVX512 ER instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=ER"
|
|
},
|
|
"avx512cd": {
|
|
"description": "AVX512 CD instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=CD"
|
|
},
|
|
"avx512pf": {
|
|
"description": "AVX512 PF instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=PF"
|
|
},
|
|
"avx512dq": {
|
|
"description": "AVX512 DQ instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=DQ"
|
|
},
|
|
"avx512bw": {
|
|
"description": "AVX512 BW instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=BW"
|
|
},
|
|
"avx512vl": {
|
|
"description": "AVX512 VL instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=VL"
|
|
},
|
|
"avx512ifma": {
|
|
"description": "AVX512 IFMA instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=IFMA"
|
|
},
|
|
"avx512vbmi": {
|
|
"description": "AVX512 VBMI instructions",
|
|
"type": "compile",
|
|
"test": "common/avx512",
|
|
"args": "AVX512=VBMI"
|
|
},
|
|
"mips_dsp": {
|
|
"description": "MIPS DSP instructions",
|
|
"type": "compile",
|
|
"test": "unix/mips_dsp"
|
|
},
|
|
"mips_dspr2": {
|
|
"description": "MIPS DSPr2 instructions",
|
|
"type": "compile",
|
|
"test": "common/mips_dspr2"
|
|
},
|
|
"neon": {
|
|
"description": "NEON instructions",
|
|
"type": "neon"
|
|
},
|
|
|
|
"clock-gettime": {
|
|
"description": "clock_gettime()",
|
|
"type": "compile",
|
|
"test": "unix/clock-gettime"
|
|
},
|
|
"clock-monotonic": {
|
|
"description": "POSIX monotonic clock",
|
|
"type": "compile",
|
|
"test": "unix/clock-monotonic"
|
|
},
|
|
"evdev": {
|
|
"description": "evdev",
|
|
"type": "compile",
|
|
"test": "unix/evdev"
|
|
},
|
|
"eventfd": {
|
|
"description": "eventfd",
|
|
"type": "compile",
|
|
"test": "unix/eventfd"
|
|
},
|
|
"getaddrinfo": {
|
|
"description": "getaddrinfo()",
|
|
"type": "compile",
|
|
"test": "unix/getaddrinfo",
|
|
"use": "network"
|
|
},
|
|
"getifaddrs": {
|
|
"description": "getifaddrs()",
|
|
"type": "compile",
|
|
"test": "unix/getifaddrs",
|
|
"use": "network"
|
|
},
|
|
"inotify": {
|
|
"description": "inotify",
|
|
"type": "compile",
|
|
"test": "unix/inotify"
|
|
},
|
|
"ipv6ifname": {
|
|
"description": "IPv6 ifname",
|
|
"type": "compile",
|
|
"test": "unix/ipv6ifname",
|
|
"use": "network"
|
|
},
|
|
"linuxfb": {
|
|
"description": "LinuxFB",
|
|
"type": "compile",
|
|
"test": "qpa/linuxfb"
|
|
},
|
|
"mremap": {
|
|
"description": "mremap()",
|
|
"type": "compile",
|
|
"test": "unix/mremap"
|
|
},
|
|
"journald": {
|
|
"description": "journald",
|
|
"type": "compile",
|
|
"test": "unix/journald"
|
|
},
|
|
"posix_fallocate": {
|
|
"description": "POSIX fallocate()",
|
|
"type": "compile",
|
|
"test": "unix/posix_fallocate"
|
|
},
|
|
"syslog": {
|
|
"description": "syslog",
|
|
"type": "compile",
|
|
"test": "unix/syslog"
|
|
},
|
|
"stack_protector": {
|
|
"description": "stack protection",
|
|
"type": "compilerSupportsFlag",
|
|
"test": "-fstack-protector-strong"
|
|
},
|
|
"ipc_sysv": {
|
|
"description": "SysV IPC",
|
|
"type": "compile",
|
|
"test": "unix/ipc_sysv"
|
|
},
|
|
"ipc_posix": {
|
|
"description": "POSIX IPC",
|
|
"type": "compile",
|
|
"test": "unix/ipc_posix"
|
|
},
|
|
"ppoll": {
|
|
"description": "ppoll()",
|
|
"type": "compile",
|
|
"test": "unix/ppoll"
|
|
},
|
|
"pollts": {
|
|
"description": "pollts()",
|
|
"type": "compile",
|
|
"test": "unix/pollts"
|
|
},
|
|
"poll": {
|
|
"description": "poll()",
|
|
"type": "compile",
|
|
"test": "unix/poll"
|
|
},
|
|
"cloexec": {
|
|
"description": "O_CLOEXEC",
|
|
"type": "compile",
|
|
"test": "unix/cloexec"
|
|
},
|
|
"openssl": {
|
|
"description": "OpenSSL",
|
|
"type": "compile",
|
|
"test": "unix/openssl"
|
|
},
|
|
"sctp": {
|
|
"description": "SCTP support",
|
|
"type": "compile",
|
|
"test": "unix/sctp",
|
|
"use": "network"
|
|
},
|
|
"posix-iconv": {
|
|
"description": "POSIX iconv",
|
|
"type": "compile",
|
|
"test": "unix/iconv"
|
|
},
|
|
"sun-iconv": {
|
|
"description": "SUN libiconv",
|
|
"type": "compile",
|
|
"test": "unix/sun-libiconv"
|
|
},
|
|
"egl-x11": {
|
|
"description": "EGL on X11",
|
|
"type": "compile",
|
|
"test": "qpa/egl-x11",
|
|
"use": "egl xcb_xlib"
|
|
},
|
|
"egl-brcm": {
|
|
"description": "Broadcom EGL (Rasberry Pi)",
|
|
"type": "compile",
|
|
"test": "qpa/eglfs-brcm",
|
|
"use": "egl bcm_host"
|
|
},
|
|
"egl-egldevice": {
|
|
"description": "EGLDevice",
|
|
"type": "compile",
|
|
"test": "qpa/eglfs-egldevice",
|
|
"use": "egl"
|
|
},
|
|
"egl-mali": {
|
|
"description": "Mali EGL",
|
|
"type": "compile",
|
|
"test": "qpa/eglfs-mali",
|
|
"use": "egl"
|
|
},
|
|
"egl-mali-2": {
|
|
"description": "Mali 2 EGL",
|
|
"type": "compile",
|
|
"test": "qpa/eglfs-mali-2",
|
|
"use": "egl"
|
|
},
|
|
"egl-viv": {
|
|
"description": "i.Mx6 EGL",
|
|
"type": "compile",
|
|
"test": "qpa/eglfs-viv",
|
|
"use": "egl"
|
|
},
|
|
"xlocalescanprint": {
|
|
"description": "xlocale.h (or equivalents)",
|
|
"type": "compile",
|
|
"test": "common/xlocalescanprint"
|
|
},
|
|
"xlib": {
|
|
"description": "XLib",
|
|
"type": "compile",
|
|
"test": "x11/xlib"
|
|
},
|
|
"x11prefix": {
|
|
"description": "X11 prefix",
|
|
"type": "getPkgConfigVariable",
|
|
"pkg-config-args": "x11",
|
|
"pkg-config-variable": "prefix",
|
|
"value": "/usr",
|
|
"log": "value"
|
|
},
|
|
"xkbconfigroot": {
|
|
"description": "XKB config root",
|
|
"type": "xkbConfigRoot",
|
|
"pkg-config-args": "xkeyboard-config",
|
|
"pkg-config-variable": "xkb_base",
|
|
"log": "value"
|
|
},
|
|
"directx": {
|
|
"description": "DirectX SDK",
|
|
"type": "directX",
|
|
"files": [
|
|
"d3dcompiler.h",
|
|
"d3d11.lib",
|
|
"fxc.exe"
|
|
]
|
|
},
|
|
"opengles3": {
|
|
"description": "OpenGL ES 3.0",
|
|
"type": "compile",
|
|
"test": "unix/opengles3",
|
|
"use": "opengl_es2"
|
|
},
|
|
"opengles31": {
|
|
"description": "OpenGL ES 3.1",
|
|
"type": "compile",
|
|
"test": "unix/opengles31",
|
|
"use": "opengl_es2"
|
|
},
|
|
"directwrite2": {
|
|
"description": "DirectWrite 2",
|
|
"type": "compile",
|
|
"test": "win/directwrite2",
|
|
"use": "directwrite"
|
|
},
|
|
"uxtheme": {
|
|
"description": "uxtheme.h",
|
|
"type": "files",
|
|
"files": [ "uxtheme.h" ]
|
|
},
|
|
"direct2d": {
|
|
"description": "Direct 2D",
|
|
"type": "compile",
|
|
"test": "qpa/direct2d",
|
|
"use": "direct2d"
|
|
},
|
|
"incredibuild_xge": {
|
|
"description": "IncrediBuild",
|
|
"type": "files",
|
|
"files": [ "BuildConsole.exe", "xgConsole.exe" ]
|
|
},
|
|
"wmf": {
|
|
"description": "WMF",
|
|
"type": "files",
|
|
"files": [ "mfapi.h", "mf.lib" ]
|
|
},
|
|
"qpa_default_platform": {
|
|
"description": "default QPA platform",
|
|
"type": "qpaDefaultPlatform",
|
|
"log": "value"
|
|
}
|
|
},
|
|
|
|
"features": {
|
|
"shared": {
|
|
"description": "Building shared libraries",
|
|
"condition": "!config.uikit && !config.integrity",
|
|
"output": [
|
|
"shared",
|
|
"publicFeature",
|
|
"publicQtConfig",
|
|
"publicConfig"
|
|
]
|
|
},
|
|
"static": {
|
|
"condition": "!features.shared",
|
|
"output": [
|
|
"publicFeature",
|
|
"publicQtConfig",
|
|
"publicConfig"
|
|
]
|
|
},
|
|
"cross_compile": {
|
|
"description": "Cross compiling",
|
|
"condition": "call.crossCompile",
|
|
"output": [ "publicConfig", "privateConfig" ]
|
|
},
|
|
"cxx98default": {
|
|
"description": "Compiler defaults to C++98",
|
|
"condition": "tests.cxx98default",
|
|
"output": [ { "type": "publicConfig", "name": "c++11" } ]
|
|
},
|
|
"compiler-flags": {
|
|
"output": [ "compilerFlags" ]
|
|
},
|
|
"gcc-sysroot": {
|
|
"output": [ "gccSysroot" ],
|
|
"condition": "input.sysroot != ''"
|
|
},
|
|
"qmakeargs": {
|
|
"output": [ "qmakeArgs" ],
|
|
"condition": "input.qmakeArgs != ''"
|
|
},
|
|
"use_gold_linker": {
|
|
"description": "Using gold linker",
|
|
"condition": "!config.msvc && tests.use_gold_linker",
|
|
"output": [ "privateConfig", "useGoldLinker" ]
|
|
},
|
|
"architecture": {
|
|
"description": "Architecture",
|
|
"output": [ "architecture" ]
|
|
},
|
|
"pkg-config": {
|
|
"description": "Using pkg-config",
|
|
"autoDetect": "!config.darwin && !config.win32",
|
|
"condition": "tests.pkg-config",
|
|
"output": [
|
|
"publicFeature",
|
|
{ "type": "publicQtConfig", "negative": true },
|
|
"pkgConfig"
|
|
]
|
|
},
|
|
"verifyspec": {
|
|
"description": "Have valid makespec",
|
|
"condition": "tests.verifyspec"
|
|
},
|
|
|
|
"developer-build": {
|
|
"description": "Developer build",
|
|
"autoDetect": false,
|
|
"output": [
|
|
{ "type": "define", "name": "QT_BUILD_INTERNAL" },
|
|
{ "type": "privateFeature", "name": "private_tests" },
|
|
{ "type": "publicQtConfig", "name": "private_tests" }
|
|
]
|
|
},
|
|
"debug": {
|
|
"description": "Build for debugging",
|
|
"autoDetect": "features.developer-build || config.win32 || config.darwin"
|
|
},
|
|
"debug_and_release": {
|
|
"description": "Compile libs in debug and release mode",
|
|
"autoDetect": "input.debug == ''",
|
|
"condition": "config.darwin || config.win32",
|
|
"output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ]
|
|
},
|
|
"force_debug_info": {
|
|
"description": "Add debug info in release mode",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"separate_debug_info": {
|
|
"description": "Split off debug information",
|
|
"autoDetect": false,
|
|
"condition": [
|
|
"features.shared",
|
|
"features.debug || features.debug_and_release || features.force_debug_info",
|
|
"config.darwin || tests.separate_debug_info"
|
|
],
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"release_tools": {
|
|
"description": "Compile tools in release mode",
|
|
"output": [ "privateFeature", "publicQtConfig" ]
|
|
},
|
|
"simulator_and_device": {
|
|
"description": "Build for both simulator and device",
|
|
"condition": "config.uikit && input.sdk == ''",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"build_all": {
|
|
"condition": "features.debug_and_release || features.simulator_and_device",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"rpath": {
|
|
"description": "Build with RPATH",
|
|
"autoDetect": "var.QMAKE_LFLAGS_RPATH != '' && features.shared",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"rpath_dir": {
|
|
"description": "RPATH directory",
|
|
"enable": "input.rpaths != ''",
|
|
"autoDetect": false,
|
|
"output": [ { "type": "varAppend", "name": "EXTRA_RPATHS", "value": "input.rpaths" } ]
|
|
},
|
|
"rtti": {
|
|
"description": "Build with RTTI",
|
|
"comment": "mkspecs/features/win32/default_pre.prf sets no-rtti. Follow default behavior of configure.exe by overriding with rtti.",
|
|
"condition": "config.win32",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"force_asserts": {
|
|
"description": "Force assertions",
|
|
"autoDetect": false,
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"warnings_are_errors": {
|
|
"description": "WError",
|
|
"autoDetect": "features.developer-build",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"headersclean": {
|
|
"description": "Check for clean headers",
|
|
"autoDetect": "features.developer-build",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"framework": {
|
|
"description": "Build Apple Frameworks",
|
|
"condition": "config.darwin && features.shared",
|
|
"output": [
|
|
{ "type": "define", "name": "QT_MAC_FRAMEWORK_BUILD" },
|
|
"publicFeature",
|
|
{ "type": "publicQtConfig", "name": "qt_framework"},
|
|
{ "type": "publicConfig", "name": "qt_framework"}
|
|
]
|
|
},
|
|
"largefile": {
|
|
"description": "Large file support",
|
|
"condition": "!config.android && !config.integrity && !config.winrt",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_LARGEFILE_SUPPORT", "value": 64 }
|
|
]
|
|
},
|
|
"testcocoon": {
|
|
"description": "Testcocoon support",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"gcov": {
|
|
"description": "gcov support",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"silent": {
|
|
"description": "Silent build",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"sanitize_address": {
|
|
"description": "Addresses",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_thread": {
|
|
"description": "Threads",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_memory": {
|
|
"description": "Memory",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitize_undefined": {
|
|
"description": "Undefined",
|
|
"autoDetect": false,
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"sanitizer": {
|
|
"description": "Sanitizers",
|
|
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_undefined",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"GNUmake": {
|
|
"description": "GNU make",
|
|
"autoDetect": false,
|
|
"condition": "tests.GNUmake",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"plugin-manifests": {
|
|
"description": "Embed manifests in plugins",
|
|
"emitIf": "config.win32",
|
|
"autoDetect": false,
|
|
"output": [ { "type": "publicConfig", "negative": true, "name": "no_plugin_manifest" } ]
|
|
},
|
|
"profile": {
|
|
"description": "GNU profiling support",
|
|
"autoDetect": false,
|
|
"output": [
|
|
{ "type": "varAppend", "name": "QMAKE_CFLAGS", "value": "'-pg'" },
|
|
{ "type": "varAppend", "name": "QMAKE_CXXFLAGS", "value": "'-pg'" },
|
|
{ "type": "varAppend", "name": "QMAKE_LFLAGS", "value": "'-pg'" }
|
|
]
|
|
},
|
|
"strip": {
|
|
"description": "Strip binaries",
|
|
"condition": "!features.profile",
|
|
"output": [ { "type": "privateConfig", "negative": true, "name": "nostrip" } ]
|
|
},
|
|
"stl": {
|
|
"description": "STL compatibility",
|
|
"condition": "tests.stl",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"c++11": {
|
|
"description": "C++11",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++14": {
|
|
"description": "C++14",
|
|
"condition": "features.c++11 && tests.c++14",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"c++1z": {
|
|
"description": "C++1z",
|
|
"condition": "features.c++14 && tests.c++1z",
|
|
"output": [ "publicFeature", "publicQtConfig" ]
|
|
},
|
|
"compiler": {
|
|
"description": "Compiler version",
|
|
"condition": "tests.compiler",
|
|
"output": [ "compilerVersion" ]
|
|
},
|
|
"precompile_header": {
|
|
"description": "Using precompiled headers",
|
|
"condition": "config.msvc || tests.precompile_header",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "varRemove", "negative": true, "name": "CONFIG", "value": "'precompile_header'" }
|
|
]
|
|
},
|
|
"ltcg": {
|
|
"description": "Using LTCG",
|
|
"autoDetect": false,
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"enable_new_dtags": {
|
|
"description": "Using new DTAGS",
|
|
"condition": "config.linux && tests.enable_new_dtags",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"reduce_exports": {
|
|
"description": "Reduce amount of exported symbols",
|
|
"condition": "!config.win32 && tests.reduce_exports",
|
|
"output": [
|
|
"privateFeature",
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_VISIBILITY_AVAILABLE" }
|
|
]
|
|
},
|
|
"reduce_relocations": {
|
|
"description": "Reduce amount of relocations",
|
|
"condition": "!config.win32 && tests.reduce_relocations",
|
|
"output": [
|
|
"privateFeature",
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_REDUCE_RELOCATIONS" }
|
|
]
|
|
},
|
|
"dlopen": {
|
|
"description": "dlopen()",
|
|
"condition": "tests.dlopen || libs.libdl",
|
|
"output": [ { "type": "define", "negative": true, "name": "QT_NO_DYNAMIC_LIBRARY" } ]
|
|
},
|
|
"libdl": {
|
|
"description": "dlopen() in libdl",
|
|
"condition": "!tests.dlopen && libs.libdl",
|
|
"output": [ { "type": "privateConfig", "negative": true } ]
|
|
},
|
|
"std-atomic64": {
|
|
"description": "64 bit atomic operations",
|
|
"condition": "tests.atomic64 || libs.libatomic",
|
|
"output": [ { "type": "define", "negative": true, "name": "QT_NO_STD_ATOMIC64" } ]
|
|
},
|
|
"libatomic": {
|
|
"description": "64 bit atomic operations in libatomic",
|
|
"condition": "!tests.atomic64 && libs.libatomic",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"sse2": {
|
|
"description": "SSE2",
|
|
"condition": "(arch.i386 || arch.x86_64) && tests.sse2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE2", "value": 1 }
|
|
]
|
|
},
|
|
"sse3": {
|
|
"description": "SSE3",
|
|
"condition": "features.sse2 && tests.sse3",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE3", "value": 1 }
|
|
]
|
|
},
|
|
"ssse3": {
|
|
"description": "SSSE3",
|
|
"condition": "features.sse3 && tests.ssse3",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSSE3", "value": 1 }
|
|
]
|
|
},
|
|
"sse4_1": {
|
|
"description": "SSE4.1",
|
|
"condition": "features.ssse3 && tests.sse4_1",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_1", "value": 1 }
|
|
]
|
|
},
|
|
"sse4_2": {
|
|
"description": "SSE4.2",
|
|
"condition": "features.sse4_1 && tests.sse4_2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE4_2", "value": 1 }
|
|
]
|
|
},
|
|
"avx": {
|
|
"description": "AVX",
|
|
"condition": "features.sse4_2 && tests.avx && tests.avx_apple_clang",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 }
|
|
]
|
|
},
|
|
"avx2": {
|
|
"description": "AVX2",
|
|
"condition": "features.avx && tests.avx2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX2", "value": 1 }
|
|
]
|
|
},
|
|
"avx512f": {
|
|
"description": "F",
|
|
"condition": "features.avx2 && tests.avx512f",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512F", "value": 1 }
|
|
]
|
|
},
|
|
"avx512er": {
|
|
"description": "ER",
|
|
"condition": "features.avx512f && tests.avx512er",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512ER", "value": 1 }
|
|
]
|
|
},
|
|
"avx512cd": {
|
|
"description": "CD",
|
|
"condition": "features.avx512f && tests.avx512cd",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512CD", "value": 1 }
|
|
]
|
|
},
|
|
"avx512pf": {
|
|
"description": "PF",
|
|
"condition": "features.avx512f && tests.avx512pf",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512PF", "value": 1 }
|
|
]
|
|
},
|
|
"avx512dq": {
|
|
"description": "DQ",
|
|
"condition": "features.avx512f && tests.avx512dq",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512DQ", "value": 1 }
|
|
]
|
|
},
|
|
"avx512bw": {
|
|
"description": "BW",
|
|
"condition": "features.avx512f && tests.avx512bw",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512BW", "value": 1 }
|
|
]
|
|
},
|
|
"avx512vl": {
|
|
"description": "VL",
|
|
"condition": "features.avx512f && tests.avx512vl",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VL", "value": 1 }
|
|
]
|
|
},
|
|
"avx512ifma": {
|
|
"description": "IFMA",
|
|
"condition": "features.avx512f && tests.avx512ifma",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512IFMA", "value": 1 }
|
|
]
|
|
},
|
|
"avx512vbmi": {
|
|
"description": "VBMI",
|
|
"condition": "features.avx512f && tests.avx512vbmi",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX512VBMI", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dsp": {
|
|
"description": "DSP",
|
|
"condition": "arch.mips && tests.mips_dsp",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 }
|
|
]
|
|
},
|
|
"mips_dspr2": {
|
|
"description": "DSPr2",
|
|
"condition": "arch.mips && tests.mips_dspr2",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 }
|
|
]
|
|
},
|
|
"neon": {
|
|
"description": "NEON",
|
|
"condition": "(arch.arm || arch.arm64) && tests.neon",
|
|
"output": [
|
|
"privateConfig",
|
|
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 }
|
|
]
|
|
},
|
|
"clock-gettime": {
|
|
"description": "clock_gettime()",
|
|
"condition": "tests.clock-gettime",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"clock-monotonic": {
|
|
"description": "POSIX monotonic clock",
|
|
"condition": "features.clock-gettime && tests.clock-monotonic",
|
|
"output": [ "feature" ]
|
|
},
|
|
"alsa": {
|
|
"description": "ALSA",
|
|
"condition": "libs.alsa",
|
|
"output": [ "feature" ]
|
|
},
|
|
"evdev": {
|
|
"description": "evdev",
|
|
"condition": "tests.evdev",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eventfd": {
|
|
"description": "eventfd",
|
|
"condition": "tests.eventfd",
|
|
"output": [ "feature" ]
|
|
},
|
|
"gbm": {
|
|
"description": "GBM",
|
|
"condition": "libs.gbm",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"getaddrinfo": {
|
|
"description": "getaddrinfo()",
|
|
"condition": "tests.getaddrinfo",
|
|
"output": [ "feature" ]
|
|
},
|
|
"getifaddrs": {
|
|
"description": "getifaddrs()",
|
|
"condition": "tests.getifaddrs",
|
|
"output": [ "feature" ]
|
|
},
|
|
"inotify": {
|
|
"description": "inotify",
|
|
"condition": "tests.inotify",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"ipv6ifname": {
|
|
"description": "IPv6 ifname",
|
|
"condition": "tests.ipv6ifname",
|
|
"output": [ "feature" ]
|
|
},
|
|
"libproxy": {
|
|
"description": "libproxy",
|
|
"autoDetect": false,
|
|
"condition": "libs.libproxy",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"linuxfb": {
|
|
"description": "LinuxFB",
|
|
"condition": "tests.linuxfb",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"directfb": {
|
|
"description": "DirectFB",
|
|
"autoDetect": false,
|
|
"condition": "libs.directfb",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"integrityfb": {
|
|
"description": "INTEGRITY framebuffer",
|
|
"condition": "config.integrity",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"kms": {
|
|
"description": "KMS",
|
|
"condition": "libs.drm",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"mirclient": {
|
|
"description": "Mir client",
|
|
"condition": "libs.mirclient",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"mremap": {
|
|
"description": "mremap()",
|
|
"condition": "tests.mremap",
|
|
"output": [ "feature" ]
|
|
},
|
|
"mtdev": {
|
|
"description": "mtdev",
|
|
"condition": "libs.mtdev",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"journald": {
|
|
"description": "journald",
|
|
"autoDetect": false,
|
|
"condition": "libs.journald",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"posix_fallocate": {
|
|
"description": "POSIX fallocate()",
|
|
"condition": "tests.posix_fallocate",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"syslog": {
|
|
"description": "syslog",
|
|
"autoDetect": false,
|
|
"condition": "tests.syslog",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"stack-protector-strong": {
|
|
"description": "stack protection",
|
|
"condition": "config.qnx && tests.stack_protector",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"slog2": {
|
|
"description": "slog2",
|
|
"condition": "libs.slog2",
|
|
"emitIf": "config.qnx",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"qqnx_imf": {
|
|
"description": "IMF",
|
|
"emitIf": "config.qnx",
|
|
"condition": "libs.imf",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"qqnx_pps": {
|
|
"description": "PPS",
|
|
"emitIf": "config.qnx",
|
|
"condition": "libs.pps",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"lgmon": {
|
|
"description": "lgmon",
|
|
"emitIf": "config.qnx",
|
|
"condition": "libs.lgmon",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"poll_ppoll": {
|
|
"description": "Native ppoll()",
|
|
"emitIf": "!config.win32",
|
|
"condition": "tests.ppoll",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"poll_pollts": {
|
|
"description": "Native pollts()",
|
|
"emitIf": "!config.win32",
|
|
"condition": "!features.poll_ppoll && tests.pollts",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"poll_poll": {
|
|
"description": "Native poll()",
|
|
"emitIf": "!config.win32",
|
|
"condition": "!features.poll_ppoll && !features.poll_pollts && tests.poll",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"poll_select": {
|
|
"description": "Emulated poll()",
|
|
"emitIf": "!config.win32",
|
|
"condition": "!features.poll_ppoll && !features.poll_pollts && !features.poll_poll",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "name": "QT_NO_NATIVE_POLL" }
|
|
]
|
|
},
|
|
"ipc_posix": {
|
|
"description": "Using POSIX IPC",
|
|
"autoDetect": "!config.win32",
|
|
"condition": "!tests.ipc_sysv && tests.ipc_posix",
|
|
"output": [ { "type": "define", "name": "QT_POSIX_IPC" } ]
|
|
},
|
|
"systemsemaphore": {
|
|
"description": "Enable QSystemSemaphore",
|
|
"condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
|
|
"output": [ { "type": "define", "negative": true, "name": "QT_NO_SYSTEMSEMAPHORE" } ]
|
|
},
|
|
"sharedmemory": {
|
|
"description": "Enable QSharedMemory",
|
|
"condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
|
|
"output": [ { "type": "define", "negative": true, "name": "QT_NO_SHAREDMEMORY" } ]
|
|
},
|
|
"threadsafe-cloexec": {
|
|
"description": "Threadsafe pipe creation",
|
|
"condition": "tests.cloexec",
|
|
"output": [
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_THREADSAFE_CLOEXEC", "value": 1 }
|
|
]
|
|
},
|
|
"tslib": {
|
|
"description": "tslib",
|
|
"condition": "libs.tslib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"corewlan": {
|
|
"description": "CoreWLan",
|
|
"condition": "libs.corewlan",
|
|
"emitIf": "config.darwin",
|
|
"output": [ "feature", "privateFeature" ]
|
|
},
|
|
"securetransport": {
|
|
"description": "SecureTransport",
|
|
"disable": "input.securetransport == 'no' || input.ssl == 'no'",
|
|
"condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "name": "QT_SECURETRANSPORT" }
|
|
]
|
|
},
|
|
"openssl": {
|
|
"description": "OpenSSL",
|
|
"enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
|
|
"disable": "input.openssl == 'no' || input.ssl == 'no'",
|
|
"autoDetect": "!config.winrt",
|
|
"condition": "!features.securetransport && tests.openssl",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "publicQtConfig", "condition": "!features.openssl-linked" },
|
|
{ "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
|
|
]
|
|
},
|
|
"openssl-linked": {
|
|
"description": " Qt directly linked to OpenSSL",
|
|
"enable": "input.openssl == 'linked'",
|
|
"disable": "input.openssl != 'linked'",
|
|
"condition": "features.openssl && libs.openssl",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" },
|
|
{ "type": "varAssign", "name": "OPENSSL_LIBS_DEBUG", "value": "libs.openssl.builds.debug.libs",
|
|
"eval": "true", "condition": "config.win32" },
|
|
{ "type": "varAssign", "name": "OPENSSL_LIBS_RELEASE", "value": "libs.openssl.builds.release.libs",
|
|
"eval": "true", "condition": "config.win32" },
|
|
{ "type": "define", "name": "QT_LINKED_OPENSSL" }
|
|
]
|
|
},
|
|
"ssl": {
|
|
"description": "SSL",
|
|
"condition": "config.winrt || features.securetransport || features.openssl",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"sctp": {
|
|
"description": "SCTP",
|
|
"autoDetect": false,
|
|
"condition": "tests.sctp",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"accessibility": {
|
|
"description": "Accessibility",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"accessibility-atspi-bridge": {
|
|
"description": "ATSPI Bridge",
|
|
"condition": "features.accessibility && features.xcb && features.dbus",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"glib": {
|
|
"description": "GLib",
|
|
"autoDetect": "!config.win32",
|
|
"condition": "libs.glib",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"gtk3": {
|
|
"description": "GTK+",
|
|
"autoDetect": "!config.darwin",
|
|
"condition": "features.glib && libs.gtk3",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"icu": {
|
|
"description": "ICU",
|
|
"autoDetect": "!config.win32",
|
|
"condition": "libs.icu",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"pulseaudio": {
|
|
"description": "PulseAudio",
|
|
"condition": "libs.pulseaudio",
|
|
"output": [ "feature" ]
|
|
},
|
|
"cups": {
|
|
"description": "CUPS",
|
|
"condition": "libs.cups",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"jpeg": {
|
|
"description": "JPEG",
|
|
"disable": "input.libjpeg == 'no'",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_JPEG" }
|
|
]
|
|
},
|
|
"system-jpeg": {
|
|
"description": " Using system libjpeg",
|
|
"disable": "input.libjpeg == 'qt'",
|
|
"enable": "input.libjpeg == 'system'",
|
|
"condition": "features.jpeg && libs.libjpeg",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"gif": {
|
|
"description": "GIF",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_GIF" }
|
|
]
|
|
},
|
|
"png": {
|
|
"description": "PNG",
|
|
"disable": "input.libpng == 'no'",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_PNG" }
|
|
]
|
|
},
|
|
"system-png": {
|
|
"description": " Using system libpng",
|
|
"disable": "input.libpng == 'qt'",
|
|
"enable": "input.libpng == 'system'",
|
|
"condition": "features.png && libs.libpng",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"ico": {
|
|
"description": "ICO",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"system-zlib": {
|
|
"description": "Using system zlib",
|
|
"condition": "libs.zlib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"iconv": {
|
|
"description": "iconv",
|
|
"condition": "features.posix-libiconv || features.sun-libiconv || features.gnu-libiconv",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"posix-libiconv": {
|
|
"description": "POSIX iconv",
|
|
"enable": "input.iconv == 'posix'",
|
|
"disable": "input.iconv == 'sun' || input.iconv == 'gnu' || input.iconv == 'no'",
|
|
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && tests.posix-iconv"
|
|
},
|
|
"sun-libiconv": {
|
|
"description": "SUN iconv",
|
|
"enable": "input.iconv == 'sun'",
|
|
"disable": "input.iconv == 'posix' || input.iconv == 'gnu' || input.iconv == 'no'",
|
|
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && tests.sun-iconv",
|
|
"output": [ "privateFeature", "publicQtConfig" ]
|
|
},
|
|
"gnu-libiconv": {
|
|
"description": "GNU iconv",
|
|
"enable": "input.iconv == 'gnu'",
|
|
"disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'",
|
|
"condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"freetype": {
|
|
"description": "FreeType",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"system-freetype": {
|
|
"description": " Using system FreeType",
|
|
"enable": "input.freetype == 'system'",
|
|
"disable": "input.freetype == 'qt'",
|
|
"autoDetect": "!config.win32",
|
|
"condition": "features.freetype && libs.freetype",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"fontconfig": {
|
|
"description": "Fontconfig",
|
|
"condition": "!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"harfbuzz": {
|
|
"description": "HarfBuzz",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"system-harfbuzz": {
|
|
"description": " Using system HarfBuzz",
|
|
"enable": "input.harfbuzz == 'system'",
|
|
"disable": "input.harfbuzz == 'qt'",
|
|
"autoDetect": "!config.darwin && !config.win32",
|
|
"condition": "features.harfbuzz && libs.harfbuzz",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"concurrent": {
|
|
"description": "Qt Concurrent",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"dbus": {
|
|
"description": "Qt D-Bus",
|
|
"autoDetect": "!config.uikit && !config.android && !config.winrt",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"dbus-linked": {
|
|
"description": "Qt D-Bus directly linked to libdbus",
|
|
"enable": "input.dbus == 'linked'",
|
|
"disable": "input.dbus == 'runtime'",
|
|
"condition": "features.dbus && libs.dbus",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"host-dbus": {
|
|
"description": "Qt D-Bus (Host)",
|
|
"autoDetect": "!config.android",
|
|
"condition": "libs.host_dbus",
|
|
"output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "libs.host_dbus.cflags", "eval": "true" } ]
|
|
},
|
|
"build_parts": {
|
|
"output": [ { "type": "varAppend", "name": "QT_BUILD_PARTS", "value": "tests.build_parts.value" } ]
|
|
},
|
|
"qreal": {
|
|
"description": "Type for qreal",
|
|
"output": [ "qreal" ]
|
|
},
|
|
"gui": {
|
|
"description": "Qt Gui",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
]
|
|
},
|
|
"widgets": {
|
|
"description": "Qt Widgets",
|
|
"condition": "features.gui",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "negative": true, "name": "QT_NO_WIDGETS" },
|
|
{ "type": "publicQtConfig", "negative": true }
|
|
]
|
|
},
|
|
"system-proxies": {
|
|
"description": "Use system proxies",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"egl": {
|
|
"description": "EGL",
|
|
"condition": "features.opengl && (features.angle || libs.egl)",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"egl_x11": {
|
|
"description": "EGL on X11",
|
|
"condition": "features.egl && tests.egl-x11",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs": {
|
|
"description": "EGLFS",
|
|
"autoDetect": "!config.android && !config.win32",
|
|
"condition": "features.egl",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_brcm": {
|
|
"description": "EGLFS Rasberry Pi",
|
|
"condition": "features.eglfs && tests.egl-brcm",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_egldevice": {
|
|
"description": "EGLFS EGLDevice",
|
|
"condition": "features.eglfs && tests.egl-egldevice && features.kms",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_gbm": {
|
|
"description": "EGLFS GBM",
|
|
"condition": "features.eglfs && features.gbm && features.kms",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_mali": {
|
|
"description": "EGLFS Mali",
|
|
"condition": "features.eglfs && (tests.egl-mali || tests.egl-mali-2)",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_viv": {
|
|
"description": "EGLFS i.Mx6",
|
|
"condition": "features.eglfs && tests.egl-viv",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"eglfs_viv_wl": {
|
|
"description": "EGLFS i.Mx6 Wayland",
|
|
"condition": "features.eglfs_viv && libs.wayland_server",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"libudev": {
|
|
"description": "udev",
|
|
"condition": "libs.libudev",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"libinput": {
|
|
"description": "libinput",
|
|
"condition": "features.libudev && libs.libinput",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xkbcommon-evdev": {
|
|
"description": "xkbcommon-evdev",
|
|
"condition": "libs.xkbcommon",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xkbcommon-system": {
|
|
"description": "Using system-provided xkbcommon",
|
|
"emitIf": "features.xcb",
|
|
"enable": "input.xkbcommon == 'system'",
|
|
"disable": "input.xkbcommon == 'qt' || input.xkbcommon == 'no'",
|
|
"condition": "libs.xkbcommon_x11",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xkb-config-root": {
|
|
"description": "XKB config root",
|
|
"emitIf": "features.xcb",
|
|
"condition": "features.xcb && !features.xkbcommon-system && tests.xkbconfigroot",
|
|
"output": [ { "type": "varAssign", "name": "QMAKE_XKB_CONFIG_ROOT", "value": "tests.xkbconfigroot.value"} ]
|
|
},
|
|
"xinput2": {
|
|
"description": "Xinput2",
|
|
"condition": "libs.xinput2",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"doubleconversion": {
|
|
"description": "DoubleConversion",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"system-doubleconversion": {
|
|
"description": " Using system DoubleConversion",
|
|
"enable": "input.doubleconversion == 'system'",
|
|
"disable": "input.doubleconversion == 'qt'",
|
|
"condition": "features.doubleconversion && libs.doubleconversion",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"system-pcre": {
|
|
"description": "Using system PCRE",
|
|
"disable": "input.pcre == 'qt'",
|
|
"enable": "input.pcre == 'system'",
|
|
"condition": "libs.pcre",
|
|
"output": [ { "type": "privateConfig", "negative": true, "name": "pcre" } ]
|
|
},
|
|
"gstreamer-1_0": {
|
|
"description": "GStreamer 1.0",
|
|
"disable": "input.gstreamer == '0.10' || input.gstreamer == 'no'",
|
|
"enable": "input.gstreamer == '1.0'",
|
|
"condition": "libs.gstreamer_1_0",
|
|
"output": [ { "type": "publicQtConfig", "name": "gstreamer-1.0" } ]
|
|
},
|
|
"gstreamer-0_10": {
|
|
"description": "GStreamer 0.10",
|
|
"disable": "input.gstreamer == 'no'",
|
|
"enable": "input.gstreamer == '0.10'",
|
|
"condition": "!features.gstreamer-1_0 && libs.gstreamer_0_10",
|
|
"output": [ { "type": "publicQtConfig", "name": "gstreamer-0.10" } ]
|
|
},
|
|
"xcb": {
|
|
"description": "XCB",
|
|
"autoDetect": "!config.darwin",
|
|
"condition": "libs.xcb",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"system-xcb": {
|
|
"description": "Using system provided XCB libraries",
|
|
"enable": "input.xcb == 'system' || input.xcb == 'yes'",
|
|
"disable": "input.xcb == 'qt' || input.xcb == 'no'",
|
|
"autoDetect": "!config.darwin",
|
|
"condition": "libs.xcb && libs.xcb_syslibs",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xcb-render": {
|
|
"description": "XCB render",
|
|
"emitIf": "features.system-xcb",
|
|
"condition": "libs.xcb_render",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xcb-glx": {
|
|
"description": "XCB GLX",
|
|
"emitIf": "features.xcb",
|
|
"condition": "libs.xcb_glx",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xcb-xlib": {
|
|
"description": "XCB Xlib",
|
|
"emitIf": "features.xcb",
|
|
"condition": "libs.xcb_xlib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xcb-sm": {
|
|
"description": "xcb-sm",
|
|
"emitIf": "features.xcb",
|
|
"condition": "features.sessionmanager && libs.x11sm",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xkb": {
|
|
"description": "XCB XKB",
|
|
"condition": "features.system-xcb && libs.xcb_xkb",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xlib": {
|
|
"description": "XLib",
|
|
"condition": "tests.xlib",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"xrender": {
|
|
"description": "Xrender",
|
|
"condition": "libs.xrender",
|
|
"output": [ "privateFeature", "feature" ]
|
|
},
|
|
"x11-prefix": {
|
|
"description": "X11 prefix",
|
|
"emitIf": "features.xcb",
|
|
"output": [ { "type": "varAssign", "name": "QMAKE_X11_PREFIX", "value": "tests.x11prefix.value" } ]
|
|
},
|
|
"angle": {
|
|
"description": "ANGLE",
|
|
"autoDetect": "features.opengles2 || features.opengl-dynamic",
|
|
"condition": "config.win32 && tests.directx",
|
|
"output": [
|
|
"publicFeature",
|
|
{ "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }
|
|
]
|
|
},
|
|
"opengles2": {
|
|
"description": "OpenGL ES 2.0",
|
|
"enable": "input.opengl == 'es2'",
|
|
"disable": "input.opengl == 'desktop' || input.opengl == 'dynamic' || input.opengl == 'no'",
|
|
"condition": "config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)",
|
|
"output": [
|
|
"publicFeature",
|
|
"publicQtConfig",
|
|
{ "type": "define", "name": "QT_OPENGL_ES" },
|
|
{ "type": "define", "name": "QT_OPENGL_ES_2" }
|
|
]
|
|
},
|
|
"opengles3": {
|
|
"description": "OpenGL ES 3.0",
|
|
"condition": "features.opengles2 && !features.angle && tests.opengles3",
|
|
"output": [
|
|
"publicFeature",
|
|
{ "type": "define", "name": "QT_OPENGL_ES_3" }
|
|
]
|
|
},
|
|
"opengles31": {
|
|
"description": "OpenGL ES 3.1",
|
|
"condition": "features.opengles3 && tests.opengles31",
|
|
"output": [
|
|
"publicFeature",
|
|
{ "type": "define", "name": "QT_OPENGL_ES_3_1" }
|
|
]
|
|
},
|
|
"opengl-desktop": {
|
|
"description": "Desktop OpenGL",
|
|
"enable": "input.opengl == 'desktop'",
|
|
"disable": "input.opengl == 'es2' || input.opengl == 'dynamic' || input.opengl == 'no'",
|
|
"condition": "(config.win32 && !config.winrt && !features.opengles2 && (config.msvc || libs.opengl))
|
|
|| (!config.watchos && !config.win32 && libs.opengl)"
|
|
},
|
|
"opengl-dynamic": {
|
|
"description": "Dynamic OpenGL",
|
|
"enable": "input.opengl == 'dynamic'",
|
|
"autoDetect": false,
|
|
"condition": "config.win32 && !config.winrt",
|
|
"output": [
|
|
{ "type": "publicFeature", "name": "dynamicgl" },
|
|
{ "type": "define", "name": "QT_OPENGL_DYNAMIC" }
|
|
]
|
|
},
|
|
"opengl": {
|
|
"description": "OpenGL",
|
|
"condition": "features.opengl-desktop || features.opengl-dynamic || features.opengles2",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"sql-db2": {
|
|
"description": "DB2 (IBM)",
|
|
"condition": "libs.db2",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-ibase": {
|
|
"description": "InterBase",
|
|
"condition": "libs.ibase",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-mysql": {
|
|
"description": "MySql",
|
|
"condition": "libs.mysql",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"use_libmysqlclient_r": {
|
|
"description": "MySql (threadsafe)",
|
|
"condition": "features.sql-mysql && (libs.mysql.source == 0 || libs.mysql.source == 2)",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"sql-oci": {
|
|
"description": "OCI (Oracle)",
|
|
"condition": "libs.oci",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-odbc": {
|
|
"description": "ODBC",
|
|
"condition": "libs.odbc",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-psql": {
|
|
"description": "PostgreSQL",
|
|
"condition": "libs.psql",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-sqlite2": {
|
|
"description": "SQLite2",
|
|
"condition": "libs.sqlite2",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"sql-sqlite": {
|
|
"description": "SQLite",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"system-sqlite": {
|
|
"description": " Using system provided SQLite",
|
|
"autoDetect": false,
|
|
"condition": "features.sql-sqlite && libs.sqlite3",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"sql-tds": {
|
|
"description": "TDS (Sybase)",
|
|
"condition": "libs.tds",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"style-fusion": {
|
|
"description": "Fusion Style",
|
|
"output": [ "styles" ]
|
|
},
|
|
"style-mac": {
|
|
"description": "Mac Style",
|
|
"condition": "config.osx",
|
|
"output": [ "styles" ]
|
|
},
|
|
"style-windows": {
|
|
"description": "Windows Style",
|
|
"output": [ "styles" ]
|
|
},
|
|
"style-windowsxp": {
|
|
"description": "Windows XP Style",
|
|
"condition": "features.style-windows && config.win32 && !config.winrt && tests.uxtheme",
|
|
"output": [ "styles" ]
|
|
},
|
|
"style-windowsvista": {
|
|
"description": "Windows Vista Style",
|
|
"condition": "features.style-windowsxp",
|
|
"output": [ "styles" ]
|
|
},
|
|
"style-android": {
|
|
"description": "Android Style",
|
|
"autoDetect": "config.android",
|
|
"output": [ "styles" ]
|
|
},
|
|
"android-style-assets": {
|
|
"description": "Android Style Assets",
|
|
"condition": "features.style-android",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"audio-backend": {
|
|
"description": "Audio backend",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"directwrite": {
|
|
"description": "DirectWrite",
|
|
"emitIf": "config.win32",
|
|
"condition": "libs.directwrite",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"directwrite2": {
|
|
"description": "DirectWrite 2",
|
|
"emitIf": "config.win32",
|
|
"condition": "features.directwrite && tests.directwrite2",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"direct2d": {
|
|
"description": "Direct 2D",
|
|
"autoDetect": false,
|
|
"condition": "tests.direct2d",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"sessionmanager": {
|
|
"description": "Session Management",
|
|
"output": [ "feature" ]
|
|
},
|
|
"qml-debug": {
|
|
"description": "QML debugging",
|
|
"output": [ { "type": "publicQtConfig", "negative": true } ]
|
|
},
|
|
"compile_examples": {
|
|
"description": "Compile examples",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"incredibuild_xge": {
|
|
"description": "IncrediBuild",
|
|
"emitIf": "var.QMAKE_HOST.os == 'Windows'",
|
|
"condition": "tests.incredibuild_xge",
|
|
"output": [ "publicConfig" ]
|
|
},
|
|
"msvc_mp": {
|
|
"description": "Use multiple processors when compiling with MSVC",
|
|
"emitIf": "config.msvc",
|
|
"autoDetect": "false",
|
|
"output": [ "privateConfig" ]
|
|
},
|
|
"static_runtime": {
|
|
"description": "Statically link the C/C++ runtime library",
|
|
"emitIf": "config.win32",
|
|
"autoDetect": false,
|
|
"condition": "!features.shared",
|
|
"output": [ "publicConfig", "publicQtConfig" ]
|
|
},
|
|
"wmf-backend": {
|
|
"description": "Windows Media Foundation backend for Qt Multimedia",
|
|
"emitIf": "config.win32",
|
|
"autoDetect": false,
|
|
"condition": "tests.wmf",
|
|
"output": [ "publicQtConfig" ]
|
|
},
|
|
"qpa_default_platform": {
|
|
"description": "QPA default platform",
|
|
"condition": "features.gui",
|
|
"output": [
|
|
{ "type": "define", "name": "QT_QPA_DEFAULT_PLATFORM_NAME", "value": "tests.qpa_default_platform.name" },
|
|
{ "type": "varAssign", "public": true, "name": "QT_DEFAULT_QPA_PLUGIN", "value": "tests.qpa_default_platform.plugin",
|
|
"condition": "!features.shared" }
|
|
]
|
|
},
|
|
"mimetype": {
|
|
"description": "Mimetype handling",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"qeventtransition": {
|
|
"description": "QEventTransition class",
|
|
"output": [ "publicFeature" ]
|
|
},
|
|
"extra_features": {
|
|
"comment": "### remove, once qfeatures.txt is ported to the new system",
|
|
"output": [ "extraFeatures" ]
|
|
}
|
|
},
|
|
|
|
"earlyReport": [
|
|
{
|
|
"type": "warning",
|
|
"condition": "input.debug_and_release == 'yes' && !config.darwin && !config.win32",
|
|
"message": "-debug-and-release is only supported on Darwin and Windows platforms.
|
|
Qt can be built in release mode with separate debug information, so
|
|
-debug-and-release is no longer necessary."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "features.framework && features.debug && !features.debug_and_release",
|
|
"message": "debug-only framework builds are not supported. Configure with -no-framework if you want a pure debug build."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'",
|
|
"message": "XCB plugin requires libxkbcommon. See -qt-xkbcommon-x11 and -system-xkbcommon-x11."
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
],
|
|
|
|
"report": [
|
|
{
|
|
"type": "note",
|
|
"condition": "!features.shared",
|
|
"message": "Using static linking will disable the use of dynamically
|
|
loaded plugins. Make sure to import all needed static plugins,
|
|
or compile needed modules into the library."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "features.journald || features.syslog || (config.qnx && features.slog2)",
|
|
"message": "journald, syslog or slog2 integration is enabled.
|
|
If your users intend to develop applications against this build,
|
|
ensure that the IDEs they use either set QT_LOGGING_TO_CONSOLE to 1
|
|
or are able to read the logged output from journald, syslog or slog2."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "features.release_tools && (!features.debug || features.debug_and_release)",
|
|
"message": "-optimized-tools is not useful in -release mode."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "config.win32 && !config.msvc && features.sql-oci",
|
|
"message": "Qt does not support compiling the Oracle database driver with
|
|
MinGW, due to lack of such support from Oracle. Consider disabling the
|
|
Oracle driver, as the current build will most likely fail."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "features.gui && config.linux && !features.xcb && !features.eglfs && !features.directfb && !features.linuxfb && !features.mirclient",
|
|
"message": "No QPA platform plugin enabled! This will
|
|
produce a Qt that cannot run GUI applications.
|
|
The dependencies needed for xcb to build are listed in
|
|
src/plugins/platforms/xcb/README"
|
|
},
|
|
{
|
|
"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": "warning",
|
|
"condition": "features.xcb && !features.xkbcommon-system && !features.xkb-config-root",
|
|
"message": "Could not find XKB config root, use -xkb-config-root to set a path to
|
|
XKB configuration data. This is required for keyboard input support."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "features.openssl-linked && libs.openssl.source != 0
|
|
&& input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
|
|
"message": "When linking against OpenSSL, you can override the default
|
|
library names through OPENSSL_LIBS.
|
|
For example:
|
|
OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "input.qpa-platform-guard != ''",
|
|
"message": "The [-no]-qpa-platform-guard argument is deprecated and has no effect."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "!features.accessibility",
|
|
"message": "Accessibility disabled. This configuration of Qt is unsupported."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "config.win32 && (features.opengles2 || features.opengl-dynamic) && !features.angle",
|
|
"message": "Using OpenGL ES 2.0 on Windows without ANGLE.
|
|
The build will most likely fail.
|
|
Specify -opengl desktop to use regular OpenGL."
|
|
},
|
|
{
|
|
"type": "note",
|
|
"condition": "features.accessibility && features.xcb && !features.accessibility-atspi-bridge",
|
|
"message": "Disabling Linux Accessibility Bridge: D-Bus is missing."
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "config.darwin && features.system-harfbuzz",
|
|
"message": "On OS X, AAT is supported only with -qt-harfbuzz."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "features.gui && !config.watchos && input.opengl != 'no' && !features.opengl-desktop && !features.opengles2 && !features.opengl-dynamic",
|
|
"message": "The OpenGL functionality tests failed!
|
|
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
|
|
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "input.doubleconversion == 'no' && !tests.xlocalescanprint",
|
|
"message": "Your C library does not provide sscanf_l or snprintf_l.
|
|
You need to use libdouble-conversion for double/string conversion."
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "!tests.atomicfptr",
|
|
"message": "detected a std::atomic implementation that fails for function pointers.
|
|
Please apply the patch corresponding to your Standard Library vendor, found in
|
|
qtbase/config.tests/common/atomicfptr"
|
|
},
|
|
{
|
|
"type": "error",
|
|
"condition": "!features.stl",
|
|
"message": "Qt requires a compliant STL library."
|
|
}
|
|
],
|
|
|
|
"summary": [
|
|
{
|
|
"type": "buildTypeAndConfig"
|
|
},
|
|
{
|
|
"section": "Build options",
|
|
"entries": [
|
|
{
|
|
"message": "Mode",
|
|
"type": "buildMode"
|
|
},
|
|
"shared",
|
|
{
|
|
"message": "Using C++ standard",
|
|
"type": "firstAvailableFeature",
|
|
"args": "c++1z c++14 c++11"
|
|
},
|
|
"use_gold_linker",
|
|
{
|
|
"type": "feature",
|
|
"args": "enable_new_dtags",
|
|
"condition": "config.linux"
|
|
},
|
|
"precompile_header",
|
|
"ltcg",
|
|
{
|
|
"section": "Target compiler supports",
|
|
"entries": [
|
|
{
|
|
"message": "SSE",
|
|
"type": "featureList",
|
|
"args": "sse2 sse3 ssse3 sse4_1 sse4_2",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"message": "AVX",
|
|
"type": "featureList",
|
|
"args": "avx avx2",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"message": "AVX512",
|
|
"type": "featureList",
|
|
"args": "avx512f avx512er avx512cd avx512pf avx512dq avx512bw avx512vl avx512ifma avx512vbmi",
|
|
"condition": "(arch.i386 || arch.x86_64)"
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
]
|
|
}, {
|
|
"section": "Qt modules and options",
|
|
"entries": [
|
|
"concurrent",
|
|
"dbus",
|
|
"dbus-linked",
|
|
"gui",
|
|
"widgets"
|
|
]
|
|
}, {
|
|
"section": "Support enabled for",
|
|
"entries": [
|
|
"accessibility",
|
|
"alsa",
|
|
"cups",
|
|
{
|
|
"type": "feature",
|
|
"args": "directwrite",
|
|
"condition": "config.win32"
|
|
},
|
|
"doubleconversion",
|
|
"system-doubleconversion",
|
|
"evdev",
|
|
"fontconfig",
|
|
"freetype",
|
|
"system-freetype",
|
|
"glib",
|
|
"gstreamer-0_10",
|
|
"gstreamer-1_0",
|
|
"gtk3",
|
|
"harfbuzz",
|
|
"system-harfbuzz",
|
|
"icu",
|
|
"iconv",
|
|
{
|
|
"section": "Image formats",
|
|
"entries": [
|
|
"gif", "ico", "jpeg", "system-jpeg", "png", "system-png"
|
|
]
|
|
},
|
|
{
|
|
"section": "Logging backends",
|
|
"entries": [
|
|
"journald", "syslog"
|
|
]
|
|
},
|
|
"libinput",
|
|
"mtdev",
|
|
{
|
|
"section": "Networking",
|
|
"entries": [
|
|
{
|
|
"type": "feature",
|
|
"args": "corewlan",
|
|
"condition": "config.darwin"
|
|
},
|
|
"getaddrinfo", "getifaddrs", "ipv6ifname", "libproxy",
|
|
{
|
|
"type": "feature",
|
|
"args": "securetransport",
|
|
"condition": "config.darwin"
|
|
},
|
|
"openssl",
|
|
"openssl-linked",
|
|
"sctp",
|
|
"system-proxies"
|
|
]
|
|
},
|
|
{
|
|
"section": "OpenGL",
|
|
"entries": [
|
|
{
|
|
"type": "feature",
|
|
"args": "angle",
|
|
"condition": "config.win32"
|
|
},
|
|
"egl",
|
|
"opengl-desktop",
|
|
{
|
|
"type": "feature",
|
|
"args": "opengl-dynamic",
|
|
"condition": "config.win32"
|
|
},
|
|
"opengles2",
|
|
"opengles3",
|
|
"opengles31"
|
|
]
|
|
},
|
|
"pkg-config",
|
|
"system-pcre",
|
|
"pulseaudio",
|
|
"qml-debug",
|
|
{
|
|
"section": "QNX specific",
|
|
"condition": "config.qnx",
|
|
"entries": [
|
|
"slog2", "qqnx_imf", "qqnx_pps", "lgmon"
|
|
]
|
|
},
|
|
{
|
|
"section": "QPA backends",
|
|
"entries": [
|
|
"directfb", "eglfs",
|
|
{
|
|
"section": "EGLFS details",
|
|
"condition": "features.eglfs",
|
|
"entries": [
|
|
"eglfs_viv", "eglfs_viv_wl", "eglfs_egldevice", "eglfs_gbm", "eglfs_mali", "eglfs_brcm", "egl_x11"
|
|
]
|
|
},
|
|
"linuxfb", "mirclient",
|
|
{
|
|
"message": "INTEGRITY framebuffer",
|
|
"condition": "config.integrity",
|
|
"args": "integrityfb"
|
|
}
|
|
]
|
|
},
|
|
"sessionmanager",
|
|
{
|
|
"section": "SQL drivers",
|
|
"entries": [
|
|
"sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql",
|
|
"sql-sqlite2", "sql-sqlite", "system-sqlite", "sql-tds"
|
|
]
|
|
},
|
|
"tslib",
|
|
"libudev",
|
|
{
|
|
"section": "X11",
|
|
"condition": "features.xcb",
|
|
"entries": [
|
|
"system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xrender", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system"
|
|
]
|
|
},
|
|
"xkbcommon-evdev",
|
|
"system-zlib"
|
|
]
|
|
}
|
|
]
|
|
|
|
}
|