From 2d3c73fcfe7a93cb46190e8e82410fe93145dbe0 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 9 Sep 2016 09:50:08 +0200 Subject: Modularize configure.json/.pri Move the different parts of configure.json/.pri into the libraries where they belong. Gui is not yet fully modularized, and contains many things related to the different QPA plugins. Done-with: Oswald Buddenhagen Change-Id: I6659bb29354ed1f36b95b8c69e7fce58f642053f Reviewed-by: Lars Knoll --- configure.json | 1761 +------------------- configure.pri | 173 -- examples/gui/gui.pro | 4 +- examples/network/network.pro | 1 + mkspecs/features/ctest_testcase_common.prf | 1 + src/3rdparty/freetype/freetype.pro | 2 + src/3rdparty/pcre_dependency.pri | 6 +- src/angle/src/common/common.pri | 1 + .../src/compiler/preprocessor/preprocessor.pro | 1 + src/angle/src/compiler/translator.pro | 1 + src/corelib/configure.json | 434 +++++ src/corelib/global/qglobal.h | 2 +- src/corelib/global/qglobal_p.h | 1 + src/gui/configure.json | 905 ++++++++++ src/gui/configure.pri | 67 + src/gui/kernel/qtguiglobal.h | 1 + src/gui/kernel/qtguiglobal_p.h | 1 + src/network/configure.json | 216 +++ src/network/configure.pri | 12 + src/network/kernel/qtnetworkglobal.h | 1 + src/network/kernel/qtnetworkglobal_p.h | 1 + src/network/ssl/qsslcertificate.cpp | 2 +- src/platformsupport/fbconvenience/qfbvthandler_p.h | 1 + .../input/evdevtouch/qevdevtouchhandler_p.h | 1 + src/plugins/bearer/bearer.pro | 1 + src/plugins/generic/generic.pro | 1 + src/plugins/imageformats/imageformats.pro | 1 + .../platforminputcontexts.pro | 1 + .../eglfs/deviceintegration/deviceintegration.pro | 1 + src/plugins/platforms/platforms.pro | 1 + .../xcb/gl_integrations/gl_integrations.pro | 1 + src/plugins/platforms/xcb/qxcbconnection.h | 1 + src/plugins/platforms/xcb/xcb.pro | 1 + src/plugins/platformthemes/platformthemes.pro | 3 +- src/plugins/printsupport/printsupport.pro | 2 +- src/plugins/sqldrivers/sqldrivers.pro | 1 + src/printsupport/configure.json | 42 + src/printsupport/kernel/qtprintsupportglobal.h | 1 + src/sql/configure.json | 201 +++ src/sql/configure.pri | 89 + src/src.pro | 4 + src/widgets/configure.json | 97 ++ src/widgets/configure.pri | 8 + src/widgets/kernel/qtwidgetsglobal.h | 1 + src/widgets/kernel/qtwidgetsglobal_p.h | 1 + src/widgets/styles/styles.pri | 2 + tests/auto/corelib/json/json.pro | 2 +- tests/auto/corelib/tools/qcollator/qcollator.pro | 2 +- tests/auto/corelib/tools/qstring/qstring.pro | 2 +- tests/auto/gui/image/qmovie/qmovie.pro | 1 + .../network/access/qnetworkreply/test/test.pro | 1 + tests/auto/network/socket/socket.pro | 2 + tests/auto/network/ssl/ssl.pro | 2 + tests/auto/other/other.pro | 2 + .../image/qimageconversion/qimageconversion.pro | 1 + .../gui/image/qimagereader/qimagereader.pro | 1 + tests/benchmarks/network/network.pro | 2 + 57 files changed, 2169 insertions(+), 1906 deletions(-) create mode 100644 src/corelib/configure.json create mode 100644 src/gui/configure.json create mode 100644 src/gui/configure.pri create mode 100644 src/network/configure.json create mode 100644 src/network/configure.pri create mode 100644 src/printsupport/configure.json create mode 100644 src/sql/configure.json create mode 100644 src/sql/configure.pri create mode 100644 src/widgets/configure.json create mode 100644 src/widgets/configure.pri diff --git a/configure.json b/configure.json index 46f94573cf..2c37957914 100644 --- a/configure.json +++ b/configure.json @@ -6,18 +6,19 @@ "privatePro": "mkspecs/qmodule.pri" }, + "subconfigs": [ + "src/corelib", + "src/network", + "src/sql", + "src/gui", + "src/widgets", + "src/printsupport" + ], + "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", @@ -51,12 +52,10 @@ "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", @@ -66,7 +65,6 @@ "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" }, @@ -75,78 +73,36 @@ "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" }, @@ -156,70 +112,28 @@ "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": { @@ -234,35 +148,6 @@ }, "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", @@ -271,106 +156,6 @@ { "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": "", @@ -404,29 +189,6 @@ "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", @@ -451,28 +213,6 @@ { "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", @@ -480,284 +220,6 @@ { "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" } - ] } }, @@ -768,14 +230,11 @@ "detectPkgConfig": [ "cross_compile" ], "library": [ "pkg-config" ], "getPkgConfigVariable": [ "pkg-config" ], - "neon": [ "architecture" ], - "directX": [ "architecture", "sse2" ] + "neon": [ "architecture" ] }, "testTypeAliases": { - "compile": [ "library", "architecture" ], - "files": [ "directX" ], - "getPkgConfigVariable": [ "xkbConfigRoot" ] + "compile": [ "library", "architecture" ] }, "tests": { @@ -859,26 +318,11 @@ "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", @@ -987,264 +431,51 @@ "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" + "incredibuild_xge": { + "description": "IncrediBuild", + "type": "files", + "files": [ "BuildConsole.exe", "xgConsole.exe" ] }, - "ppoll": { - "description": "ppoll()", - "type": "compile", - "test": "unix/ppoll" + "wmf": { + "description": "WMF", + "type": "files", + "files": [ "mfapi.h", "mf.lib" ] + } + }, + + "features": { + "shared": { + "description": "Building shared libraries", + "condition": "!config.uikit && !config.integrity", + "output": [ + "shared", + "publicFeature", + "publicQtConfig", + "publicConfig" + ] }, - "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" - ] + "static": { + "condition": "!features.shared", + "output": [ + "publicFeature", + "publicQtConfig", + "publicConfig" + ] }, "cross_compile": { "description": "Cross compiling", @@ -1290,7 +521,6 @@ "description": "Have valid makespec", "condition": "tests.verifyspec" }, - "developer-build": { "description": "Developer build", "autoDetect": false, @@ -1514,31 +744,12 @@ { "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", + "privateFeature", { "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE2", "value": 1 } ] }, @@ -1686,390 +897,40 @@ { "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" ] @@ -2115,108 +976,11 @@ { "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'", @@ -2231,237 +995,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 } ] @@ -2496,23 +1033,6 @@ "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" ] @@ -2532,11 +1052,6 @@ Qt can be built in release mode with separate debug information, so "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", @@ -2556,103 +1071,23 @@ Qt can be built in release mode with separate debug information, so "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", @@ -2747,128 +1182,12 @@ Please apply the patch corresponding to your Standard Library vendor, found in "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" ] } diff --git a/configure.pri b/configure.pri index 03f8323f0d..d68c7dcf7b 100644 --- a/configure.pri +++ b/configure.pri @@ -222,16 +222,6 @@ defineTest(qtConfTest_buildParts) { return(true) } -defineTest(qtConfLibrary_openssl) { - libs = $$getenv("OPENSSL_LIBS") - !isEmpty(libs) { - $${1}.libs = $$libs - export($${1}.libs) - return(true) - } - return(false) -} - defineTest(qtConfTest_checkCompiler) { contains(QMAKE_CXX, ".*clang.*") { qtRunLoggedCommand("$$QMAKE_CXX -v 2>&1", versionstr)|return(false) @@ -274,162 +264,6 @@ defineTest(qtConfTest_checkCompiler) { return(true) } -defineReplace(filterLibraryPath) { - str = $${1} - for (l, QMAKE_DEFAULT_LIBDIRS): \ - str -= "-L$$l" - - return($$str) -} - -defineTest(qtConfLibrary_psqlConfig) { - pg_config = $$config.input.psql_config - isEmpty(pg_config): \ - pg_config = $$qtConfFindInPath("pg_config") - !win32:!isEmpty(pg_config) { - qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false) - qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false) - libdir -= $$QMAKE_DEFAULT_LIBDIRS - libs = - !isEmpty(libdir): libs += "-L$$libdir" - libs += "-lpq" - $${1}.libs = "$$val_escape(libs)" - includedir -= $$QMAKE_DEFAULT_INCDIRS - $${1}.includedir = "$$val_escape(includedir)" - !isEmpty(includedir): \ - $${1}.cflags = "-I$$val_escape(includedir)" - export($${1}.libs) - export($${1}.includedir) - export($${1}.cflags) - return(true) - } - return(false) -} - -defineTest(qtConfLibrary_psqlEnv) { - # Respect PSQL_LIBS if set - PSQL_LIBS = $$getenv(PSQL_LIBS) - !isEmpty(PSQL_LIBS) { - $${1}.libs = $$PSQL_LIBS - export($${1}.libs) - } - return(true) -} - -defineTest(qtConfLibrary_mysqlConfig) { - mysql_config = $$config.input.mysql_config - isEmpty(mysql_config): \ - mysql_config = $$qtConfFindInPath("mysql_config") - !isEmpty(mysql_config) { - qtRunLoggedCommand("$$mysql_config --version", version)|return(false) - version = $$split(version, '.') - version = $$first(version) - isEmpty(version)|lessThan(version, 4): return(false)] - - # query is either --libs or --libs_r - query = $$eval($${1}.query) - qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false) - qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false) - eval(libs = $$libs) - libs = $$filterLibraryPath($$libs) - # -rdynamic should not be returned by mysql_config, but is on RHEL 6.6 - libs -= -rdynamic - $${1}.libs = "$$val_escape(libs)" - eval(includedir = $$includedir) - includedir ~= s/^-I//g - includedir -= $$QMAKE_DEFAULT_INCDIRS - $${1}.includedir = "$$val_escape(includedir)" - !isEmpty(includedir): \ - $${1}.cflags = "-I$$val_escape(includedir)" - export($${1}.libs) - export($${1}.includedir) - export($${1}.cflags) - return(true) - } - return(false) -} - -defineTest(qtConfLibrary_sybaseEnv) { - libs = - sybase = $$getenv(SYBASE) - !isEmpty(sybase): \ - libs += "-L$${sybase}/lib" - libs += $$getenv(SYBASE_LIBS) - !isEmpty(libs) { - $${1}.libs = "$$val_escape(libs)" - export($${1}.libs) - } - return(true) -} - -# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc'). -# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the -# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in -# the Windows SDK. Checking for the header is not sufficient, since it -# is also present in MinGW. -defineTest(qtConfTest_directX) { - dxdir = $$getenv("DXSDK_DIR") - !isEmpty(dxdir) { - EXTRA_INCLUDEPATH += $$dxdir/include - arch = $$qtConfEvaluate("tests.architecture.arch") - equals(arch, x86_64): \ - EXTRA_LIBDIR += $$dxdir/lib/x64 - else: \ - EXTRA_LIBDIR += $$dxdir/lib/x86 - EXTRA_PATH += $$dxdir/Utilities/bin/x86 - } - - $$qtConfEvaluate("features.sse2") { - ky = $$size($${1}.files._KEYS_) - $${1}.files._KEYS_ += $$ky - # Not present on MinGW-32 - $${1}.files.$${ky} = "intrin.h" - } - - qtConfTest_files($${1}): return(true) - return(false) -} - -defineTest(qtConfTest_xkbConfigRoot) { - qtConfTest_getPkgConfigVariable($${1}): return(true) - - for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) { - exists($$dir) { - $${1}.value = $$dir - export($${1}.value) - $${1}.cache += value - export($${1}.cache) - return(true) - } - } - return(false) -} - -defineTest(qtConfTest_qpaDefaultPlatform) { - name = - !isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform - else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM - else: winrt: name = winrt - else: win32: name = windows - else: android: name = android - else: osx: name = cocoa - else: ios: name = ios - else: qnx: name = qnx - else: integrity: name = integrityfb - else: name = xcb - - $${1}.value = $$name - $${1}.plugin = q$$name - $${1}.name = "\"$$name\"" - export($${1}.value) - export($${1}.plugin) - export($${1}.name) - $${1}.cache += value plugin name - export($${1}.cache) - return(true) -} - - # custom outputs defineTest(qtConfOutput_shared) { @@ -477,13 +311,6 @@ defineTest(qtConfOutput_architecture) { export(QT_ARCH) } -defineTest(qtConfOutput_styles) { - !$${2}: return() - - style = $$replace($${1}.feature, "style-", "") - qtConfOutputVar(append, "privatePro", "styles", $$style) -} - defineTest(qtConfOutput_qreal) { qreal = $$config.input.qreal isEmpty(qreal): qreal = "double" diff --git a/examples/gui/gui.pro b/examples/gui/gui.pro index e4fec201d7..a4d960d3f5 100644 --- a/examples/gui/gui.pro +++ b/examples/gui/gui.pro @@ -1,10 +1,10 @@ requires(qtHaveModule(gui)) TEMPLATE = subdirs +QT_FOR_CONFIG += gui CONFIG += no_docs_target SUBDIRS += analogclock SUBDIRS += rasterwindow -qtConfig(opengl(es2)?) { +qtConfig(opengl): \ SUBDIRS += openglwindow -} diff --git a/examples/network/network.pro b/examples/network/network.pro index a6a6f3ef52..759f730af3 100644 --- a/examples/network/network.pro +++ b/examples/network/network.pro @@ -1,6 +1,7 @@ requires(qtHaveModule(network)) TEMPLATE = subdirs +QT_FOR_CONFIG += network-private SUBDIRS = \ download \ downloadmanager diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf index 40e41900e8..af80fc00a1 100644 --- a/mkspecs/features/ctest_testcase_common.prf +++ b/mkspecs/features/ctest_testcase_common.prf @@ -69,6 +69,7 @@ for (dep, dependentmodules): \ mod_deps += $$cmakeModuleName($$dep) dependentmodules = $$join(mod_deps, ";") +QT_FOR_CONFIG += gui-private qtConfig(angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True !qtConfig(egl): CMAKE_GL_DEFINES += -DNO_EGL=True diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro index 41ca469576..1e12dadc5d 100644 --- a/src/3rdparty/freetype/freetype.pro +++ b/src/3rdparty/freetype/freetype.pro @@ -68,6 +68,8 @@ DEFINES += FT2_BUILD_LIBRARY DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB include(../zlib_dependency.pri) +QT_FOR_CONFIG += gui-private +include(../../gui/qtgui-config.pri) DEFINES += FT_CONFIG_OPTION_USE_PNG include($$PWD/../png_dependency.pri) diff --git a/src/3rdparty/pcre_dependency.pri b/src/3rdparty/pcre_dependency.pri index fa7df4df0e..f1355eabe6 100644 --- a/src/3rdparty/pcre_dependency.pri +++ b/src/3rdparty/pcre_dependency.pri @@ -1,7 +1,7 @@ -pcre { +qtConfig(system-pcre) { + QMAKE_USE_PRIVATE += pcre +} else { win32: DEFINES += PCRE_STATIC INCLUDEPATH += $$PWD/pcre LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix() -} else { - QMAKE_USE_PRIVATE += pcre } diff --git a/src/angle/src/common/common.pri b/src/angle/src/common/common.pri index c948e27dc3..e9351b2c42 100644 --- a/src/angle/src/common/common.pri +++ b/src/angle/src/common/common.pri @@ -1,4 +1,5 @@ # static builds should still link ANGLE dynamically when dynamic GL is enabled +include(../../../gui/qtgui-config.pri) static:qtConfig(dynamicgl) { CONFIG -= static CONFIG += shared diff --git a/src/angle/src/compiler/preprocessor/preprocessor.pro b/src/angle/src/compiler/preprocessor/preprocessor.pro index f9170b3bee..c13cf7ba8d 100644 --- a/src/angle/src/compiler/preprocessor/preprocessor.pro +++ b/src/angle/src/compiler/preprocessor/preprocessor.pro @@ -1,4 +1,5 @@ CONFIG += static +include(../../../../gui/qtgui-config.pri) qtConfig(dynamicgl): CONFIG += not_installed include(../../config.pri) diff --git a/src/angle/src/compiler/translator.pro b/src/angle/src/compiler/translator.pro index cee13d06bb..4c0a05e45c 100644 --- a/src/angle/src/compiler/translator.pro +++ b/src/angle/src/compiler/translator.pro @@ -1,4 +1,5 @@ CONFIG += static +include(../../../gui/qtgui-config.pri) qtConfig(dynamicgl): CONFIG += not_installed include(../config.pri) diff --git a/src/corelib/configure.json b/src/corelib/configure.json new file mode 100644 index 0000000000..4cccab9f5d --- /dev/null +++ b/src/corelib/configure.json @@ -0,0 +1,434 @@ +{ + "module": "core", + "testDir": "../../config.tests", + + "commandline": { + "options": { + "doubleconversion": { "type": "enum", "values": [ "no", "qt", "system" ] }, + "eventfd": "boolean", + "glib": "boolean", + "iconv": { "type": "enum", "values": [ "no", "yes", "posix", "sun", "gnu" ] }, + "icu": "boolean", + "inotify": "boolean", + "journald": "boolean", + "pcre": { "type": "enum", "values": [ "qt", "system" ] }, + "posix-ipc": { "type": "boolean", "name": "ipc_posix" }, + "pps": { "type": "boolean", "name": "qqnx_pps" }, + "slog2": "boolean", + "syslog": "boolean" + } + }, + + "libraries": { + "doubleconversion": { + "description": "DoubleConversion", + "test": "unix/doubleconversion", + "sources": [ + "-ldouble-conversion" + ] + }, + "glib": { + "description": "GLib", + "test": "unix/glib", + "sources": [ + { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" } + ] + }, + "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" } + ] + }, + "journald": { + "description": "journald", + "test": "unix/journald", + "export": "", + "sources": [ + { "type": "pkgConfig", "args": "libsystemd" }, + { "type": "pkgConfig", "args": "libsystemd-journal" } + ] + }, + "libatomic": { + "description": "64 bit atomics in libatomic", + "test": "common/atomic64", + "sources": [ + "-latomic" + ] + }, + "libdl": { + "description": "dlopen() in libdl", + "export": "", + "test": "unix/dlopen", + "sources": [ + "-ldl" + ] + }, + "pcre": { + "description": "PCRE", + "test": "unix/pcre", + "sources": [ + "-lpcre16" + ] + }, + "pps": { + "description": "PPS", + "test": "unix/pps", + "sources": [ + "-lpps" + ] + }, + "slog2": { + "description": "slog2", + "test": "unix/slog2", + "export": "", + "sources": [ + "-lslog2" + ] + } + }, + + "tests": { + "atomic64": { + "description": "64 bit atomics", + "type": "compile", + "test": "common/atomic64" + }, + "atomicfptr": { + "description": "working std::atomic for function pointers", + "type": "compile", + "test": "common/atomicfptr" + }, + "clock-gettime": { + "description": "clock_gettime()", + "type": "compile", + "test": "unix/clock-gettime" + }, + "clock-monotonic": { + "description": "POSIX monotonic clock", + "type": "compile", + "test": "unix/clock-monotonic" + }, + "cloexec": { + "description": "O_CLOEXEC", + "type": "compile", + "test": "unix/cloexec" + }, + "dlopen": { + "description": "dlopen() in libc", + "type": "compile", + "test": "unix/dlopen" + }, + "eventfd": { + "description": "eventfd", + "type": "compile", + "test": "unix/eventfd" + }, + "posix-iconv": { + "description": "POSIX iconv", + "type": "compile", + "test": "unix/iconv" + }, + "sun-iconv": { + "description": "SUN libiconv", + "type": "compile", + "test": "unix/sun-libiconv" + }, + "inotify": { + "description": "inotify", + "type": "compile", + "test": "unix/inotify" + }, + "ipc_sysv": { + "description": "SysV IPC", + "type": "compile", + "test": "unix/ipc_sysv" + }, + "ipc_posix": { + "description": "POSIX IPC", + "type": "compile", + "test": "unix/ipc_posix" + }, + "journald": { + "description": "journald", + "type": "compile", + "test": "unix/journald" + }, + "ppoll": { + "description": "ppoll()", + "type": "compile", + "test": "unix/ppoll" + }, + "pollts": { + "description": "pollts()", + "type": "compile", + "test": "unix/pollts" + }, + "poll": { + "description": "poll()", + "type": "compile", + "test": "unix/poll" + }, + "syslog": { + "description": "syslog", + "type": "compile", + "test": "unix/syslog" + }, + "xlocalescanprint": { + "description": "xlocale.h (or equivalents)", + "type": "compile", + "test": "common/xlocalescanprint" + } + }, + + "features": { + "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" ] + }, + "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 } ] + }, + "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" ] + }, + "eventfd": { + "description": "eventfd", + "condition": "tests.eventfd", + "output": [ "feature" ] + }, + "glib": { + "description": "GLib", + "autoDetect": "!config.win32", + "condition": "libs.glib", + "output": [ "privateFeature", "feature" ] + }, + "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" ] + }, + "icu": { + "description": "ICU", + "autoDetect": "!config.win32", + "condition": "libs.icu", + "output": [ "privateFeature" ] + }, + "inotify": { + "description": "inotify", + "condition": "tests.inotify", + "output": [ "privateFeature", "feature" ] + }, + "ipc_posix": { + "description": "Using POSIX IPC", + "autoDetect": "!config.win32", + "condition": "!tests.ipc_sysv && tests.ipc_posix", + "output": [ { "type": "define", "name": "QT_POSIX_IPC" } ] + }, + "journald": { + "description": "journald", + "autoDetect": false, + "condition": "libs.journald", + "output": [ "privateConfig" ] + }, + "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" ] + }, + "mimetype": { + "description": "Mimetype handling", + "output": [ "publicFeature", "feature" ] + }, + "system-pcre": { + "description": "Using system PCRE", + "disable": "input.pcre == 'qt'", + "enable": "input.pcre == 'system'", + "condition": "libs.pcre", + "output": [ + "privateFeature", + { "type": "privateConfig", "negative": true, "name": "pcre" } + ] + }, + "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" } + ] + }, + "qqnx_pps": { + "description": "PPS", + "emitIf": "config.qnx", + "condition": "libs.pps", + "output": [ "privateConfig" ] + }, + "qeventtransition": { + "description": "QEventTransition class", + "output": [ "publicFeature" ] + }, + "sharedmemory": { + "description": "Enable QSharedMemory", + "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix", + "output": [ { "type": "define", "negative": true, "name": "QT_NO_SHAREDMEMORY" } ] + }, + "slog2": { + "description": "slog2", + "condition": "libs.slog2", + "emitIf": "config.qnx", + "output": [ "privateConfig" ] + }, + "syslog": { + "description": "syslog", + "autoDetect": false, + "condition": "tests.syslog", + "output": [ "privateConfig" ] + }, + "systemsemaphore": { + "description": "Enable QSystemSemaphore", + "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix", + "output": [ { "type": "define", "negative": true, "name": "QT_NO_SYSTEMSEMAPHORE" } ] + }, + "threadsafe-cloexec": { + "description": "Threadsafe pipe creation", + "condition": "tests.cloexec", + "output": [ + "publicQtConfig", + { "type": "define", "name": "QT_THREADSAFE_CLOEXEC", "value": 1 } + ] + } + }, + + "report": [ + { + "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": "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" + } + ], + + "summary": [ + { + "section": "Qt Core", + "entries": [ + "doubleconversion", + "system-doubleconversion", + "glib", + "iconv", + "icu", + { + "section": "Logging backends", + "entries": [ + "journald", "syslog", "slog2" + ] + }, + { + "type": "feature", + "args": "qqnx_pps", + "condition": "config.qnx" + }, + "system-pcre" + ] + } + ] +} diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index c463a392b7..f11ec127e0 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -58,7 +58,7 @@ #ifndef QT_BOOTSTRAPPED #include -#include +#include #endif // The QT_SUPPORTS macro is deprecated. Don't use it in new code. diff --git a/src/corelib/global/qglobal_p.h b/src/corelib/global/qglobal_p.h index e75d87b384..c329357f46 100644 --- a/src/corelib/global/qglobal_p.h +++ b/src/corelib/global/qglobal_p.h @@ -50,6 +50,7 @@ #ifndef QT_BOOTSTRAPPED #include +#include #endif #define QT_LIBRARY_VERSION(lib) QT_LIBRARY_VERSION_##lib diff --git a/src/gui/configure.json b/src/gui/configure.json new file mode 100644 index 0000000000..c662c0a524 --- /dev/null +++ b/src/gui/configure.json @@ -0,0 +1,905 @@ +{ + "module": "gui", + "depends": [ + "core" + ], + "testDir": "../../config.tests", + + "commandline": { + "options": { + "angle": "boolean", + "directfb": "boolean", + "directwrite": "boolean", + "egl": "boolean", + "eglfs": "boolean", + "evdev": "boolean", + "fontconfig": "boolean", + "freetype": { "type": "enum", "values": [ "no", "qt", "system" ] }, + "gbm": "boolean", + "gif": "boolean", + "harfbuzz": { "type": "enum", "values": [ "no", "qt", "system" ] }, + "ico": "boolean", + "imf": { "type": "boolean", "name": "qqnx_imf" }, + "kms": "boolean", + "lgmon": "boolean", + "libinput": "boolean", + "libjpeg": { "type": "enum", "values": [ "no", "qt", "system" ] }, + "libpng": { "type": "enum", "values": [ "no", "qt", "system" ] }, + "linuxfb": "boolean", + "mirclient": "boolean", + "mtdev": "boolean", + "opengl": { "type": "optionalString", "values": [ "no", "yes", "desktop", "es2", "dynamic" ] }, + "opengl-es-2": { "type": "void", "name": "opengl", "value": "es2" }, + "opengles3": "boolean", + "qpa": { "type": "string", "name": "qpa_default_platform" }, + "qpa-platform-guard": "boolean", + "sm": { "type": "boolean", "name": "sessionmanager" }, + "tslib": "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" ] }, + "xrender": "boolean" + } + }, + + "libraries": { + "bcm_host": { + "export": "", + "sources": [ + "-lbcm_host" + ] + }, + "directfb": { + "description": "DirectFB", + "test": "qpa/directfb", + "sources": [ + { "type": "pkgConfig", "args": "directfb" } + ] + }, + "directwrite": { + "description": "DirectWrite", + "export": "", + "test": "win/directwrite", + "sources": [ + "-ldwrite" + ] + }, + "drm": { + "description": "KMS", + "test": "qpa/kms", + "sources": [ + { "type": "pkgConfig", "args": "libdrm" }, + "-ldrm" + ] + }, + "egl": { + "description": "EGL", + "test": "qpa/egl", + "sources": [ + { "type": "pkgConfig", "args": "egl" }, + { "type": "makeSpec", "spec": "EGL" } + ] + }, + "freetype": { + "description": "FreeType", + "export": "", + "test": "unix/freetype", + "sources": [ + "-lfreetype" + ] + }, + "fontconfig": { + "description": "Fontconfig", + "test": "unix/fontconfig", + "sources": [ + { "type": "pkgConfig", "args": "fontconfig freetype2" }, + "-lfontconfig -lfreetype" + ] + }, + "gbm": { + "description": "GBM", + "test": "qpa/gbm", + "sources": [ + { "type": "pkgConfig", "args": "gbm" } + ] + }, + "harfbuzz": { + "description": "HarfBuzz", + "test": "unix/harfbuzz", + "sources": [ + "-lharfbuzz" + ] + }, + "imf": { + "description": "IMF", + "export": "", + "test": "unix/qqnx_imf", + "sources": [ + "-linput_client" + ] + }, + "lgmon": { + "description": "lgmon", + "test": "unix/lgmon", + "sources": [ + "-llgmon" + ] + }, + "libinput": { + "description": "libinput", + "test": "unix/libinput", + "sources": [ + { "type": "pkgConfig", "args": "libinput" } + ] + }, + "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" } + ] + }, + "mirclient": { + "description": "Mir client libraries", + "export": "", + "test": "qpa/mirclient", + "sources": [ + { "type": "pkgConfig", "args": "egl mirclient ubuntu-platform-api" } + ] + }, + "mtdev": { + "description": "mtdev", + "export": "", + "test": "unix/mtdev", + "sources": [ + { "type": "pkgConfig", "args": "mtdev" } + ] + }, + "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" } + ] + }, + "tslib": { + "description": "tslib", + "test": "unix/tslib", + "sources": [ + "-lts" + ] + }, + "wayland_server": { + "description": "Wayland Server", + "export": "", + "test": "qpa/wayland-server", + "sources": [ + { "type": "pkgConfig", "args": "wayland-server" } + ] + }, + "x11sm": { + "description": "X11 session management", + "sources": [ + { "type": "pkgConfig", "args": "sm ice" } + ] + }, + "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" + ] + }, + "xinput2": { + "description": "Xinput2", + "test": "x11/xinput2", + "sources": [ + { "type": "pkgConfig", "args": "xi" }, + "-lXi" + ] + }, + "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" } + ] + }, + "xrender": { + "description": "XRender", + "test": "x11/xrender", + "sources": [ + "-lXrender" + ] + } + }, + + "testTypeAliases": { + "files": [ "directX" ], + "getPkgConfigVariable": [ "xkbConfigRoot" ] + }, + + "tests": { + "direct2d": { + "description": "Direct 2D", + "type": "compile", + "test": "qpa/direct2d", + "use": "direct2d" + }, + "directwrite2": { + "description": "DirectWrite 2", + "type": "compile", + "test": "win/directwrite2", + "use": "directwrite" + }, + "directx": { + "description": "DirectX SDK", + "type": "directX", + "files": [ + "d3dcompiler.h", + "d3d11.lib", + "fxc.exe" + ] + }, + "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" + }, + "evdev": { + "description": "evdev", + "type": "compile", + "test": "unix/evdev" + }, + "linuxfb": { + "description": "LinuxFB", + "type": "compile", + "test": "qpa/linuxfb" + }, + "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" + }, + "qpa_default_platform": { + "description": "default QPA platform", + "type": "qpaDefaultPlatform", + "log": "value" + }, + "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" + }, + "xlib": { + "description": "XLib", + "type": "compile", + "test": "x11/xlib" + } + }, + + "features": { + "accessibility-atspi-bridge": { + "description": "ATSPI Bridge", + "condition": "features.accessibility && features.xcb && features.dbus", + "output": [ "privateFeature", "feature" ] + }, + "angle": { + "description": "ANGLE", + "autoDetect": "features.opengles2 || features.opengl-dynamic", + "condition": "config.win32 && tests.directx", + "output": [ + "publicFeature", + { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" } + ] + }, + "directfb": { + "description": "DirectFB", + "autoDetect": false, + "condition": "libs.directfb", + "output": [ "privateFeature" ] + }, + "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" ] + }, + "evdev": { + "description": "evdev", + "condition": "tests.evdev", + "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" ] + }, + "gbm": { + "description": "GBM", + "condition": "libs.gbm", + "output": [ "publicQtConfig" ] + }, + "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" ] + }, + "qqnx_imf": { + "description": "IMF", + "emitIf": "config.qnx", + "condition": "libs.imf", + "output": [ "privateConfig" ] + }, + "integrityfb": { + "description": "INTEGRITY framebuffer", + "condition": "config.integrity", + "output": [ "privateFeature" ] + }, + "kms": { + "description": "KMS", + "condition": "libs.drm", + "output": [ "publicQtConfig" ] + }, + "libinput": { + "description": "libinput", + "condition": "features.libudev && libs.libinput", + "output": [ "privateFeature" ] + }, + "lgmon": { + "description": "lgmon", + "emitIf": "config.qnx", + "condition": "libs.lgmon", + "output": [ "privateConfig" ] + }, + "linuxfb": { + "description": "LinuxFB", + "condition": "tests.linuxfb", + "output": [ "privateFeature" ] + }, + "mirclient": { + "description": "Mir client", + "condition": "libs.mirclient", + "output": [ "privateFeature" ] + }, + "mtdev": { + "description": "mtdev", + "condition": "libs.mtdev", + "output": [ "privateFeature" ] + }, + "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" ] + }, + "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" ] + }, + "gif": { + "description": "GIF", + "output": [ + "privateFeature", + { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_GIF" } + ] + }, + "ico": { + "description": "ICO", + "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" ] + }, + "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" ] + }, + "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" } + ] + }, + "sessionmanager": { + "description": "Session Management", + "output": [ "feature" ] + }, + "tslib": { + "description": "tslib", + "condition": "libs.tslib", + "output": [ "privateFeature" ] + }, + "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" ] + }, + "x11-prefix": { + "description": "X11 prefix", + "emitIf": "features.xcb", + "output": [ { "type": "varAssign", "name": "QMAKE_X11_PREFIX", "value": "tests.x11prefix.value" } ] + }, + "xcb-glx": { + "description": "XCB GLX", + "emitIf": "features.xcb", + "condition": "libs.xcb_glx", + "output": [ "privateFeature" ] + }, + "xcb-render": { + "description": "XCB render", + "emitIf": "features.system-xcb", + "condition": "libs.xcb_render", + "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" ] + }, + "xinput2": { + "description": "Xinput2", + "condition": "libs.xinput2", + "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": { + "description": "XCB XKB", + "condition": "features.system-xcb && libs.xcb_xkb", + "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"} ] + }, + "xlib": { + "description": "XLib", + "condition": "tests.xlib", + "output": [ "privateFeature" ] + }, + "xrender": { + "description": "Xrender", + "condition": "libs.xrender", + "output": [ "privateFeature", "feature" ] + } + }, + + "earlyReport": [ + { + "type": "error", + "condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'", + "message": "XCB plugin requires libxkbcommon. See -qt-xkbcommon-x11 and -system-xkbcommon-x11." + } + ], + + "report": [ + { + "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.accessibility && features.xcb && !features.accessibility-atspi-bridge", + "message": "Disabling Linux Accessibility Bridge: D-Bus is missing." + }, + { + "type": "warning", + "condition": "input.qpa-platform-guard != ''", + "message": "The [-no]-qpa-platform-guard argument is deprecated and has no effect." + }, + { + "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": "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": "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." + } + ], + + "summary": [ + { + "section": "Qt Gui", + "entries": [ + "freetype", + "system-freetype", + "harfbuzz", + "system-harfbuzz", + "fontconfig", + { + "section": "Image formats", + "entries": [ + "gif", "ico", "jpeg", "system-jpeg", "png", "system-png" + ] + }, + { + "section": "OpenGL", + "entries": [ + { + "type": "feature", + "args": "angle", + "condition": "config.win32" + }, + "egl", + "opengl-desktop", + { + "type": "feature", + "args": "opengl-dynamic", + "condition": "config.win32" + }, + "opengles2", + "opengles3", + "opengles31" + ] + }, + "sessionmanager" + ] + }, + { + "section": "Features used by QPA backends", + "entries": [ + "evdev", + "libinput", + "mtdev", + "tslib", + "xkbcommon-evdev" + ] + }, + { + "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" + }, + { + "section": "QNX", + "condition": "config.qnx", + "entries": [ + "lgmon", "qqnx_imf" + ] + }, + { + "section": "X11", + "condition": "features.xcb", + "entries": [ + "system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xrender", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system" + ] + }, + { + "section": "Windows", + "condition": "config.win32", + "entries": [ + "direct2d", "directwrite", "directwrite2" + ] + } + ] + } + ] +} diff --git a/src/gui/configure.pri b/src/gui/configure.pri new file mode 100644 index 0000000000..d79c5a6bba --- /dev/null +++ b/src/gui/configure.pri @@ -0,0 +1,67 @@ +# custom tests + +# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc'). +# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the +# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in +# the Windows SDK. Checking for the header is not sufficient, since it +# is also present in MinGW. +defineTest(qtConfTest_directX) { + dxdir = $$getenv("DXSDK_DIR") + !isEmpty(dxdir) { + EXTRA_INCLUDEPATH += $$dxdir/include + equals(QT_ARCH, x86_64): \ + EXTRA_LIBDIR += $$dxdir/lib/x64 + else: \ + EXTRA_LIBDIR += $$dxdir/lib/x86 + EXTRA_PATH += $$dxdir/Utilities/bin/x86 + } + + $$qtConfEvaluate("features.sse2") { + ky = $$size($${1}.files._KEYS_) + $${1}.files._KEYS_ += $$ky + # Not present on MinGW-32 + $${1}.files.$${ky} = "intrin.h" + } + + qtConfTest_files($${1}): return(true) + return(false) +} + +defineTest(qtConfTest_xkbConfigRoot) { + qtConfTest_getPkgConfigVariable($${1}): return(true) + + for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) { + exists($$dir) { + $${1}.value = $$dir + export($${1}.value) + $${1}.cache += value + export($${1}.cache) + return(true) + } + } + return(false) +} + +defineTest(qtConfTest_qpaDefaultPlatform) { + name = + !isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform + else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM + else: winrt: name = winrt + else: win32: name = windows + else: android: name = android + else: macos: name = cocoa + else: ios: name = ios + else: qnx: name = qnx + else: integrity: name = integrityfb + else: name = xcb + + $${1}.value = $$name + $${1}.plugin = q$$name + $${1}.name = "\"$$name\"" + export($${1}.value) + export($${1}.plugin) + export($${1}.name) + $${1}.cache += value plugin name + export($${1}.cache) + return(true) +} diff --git a/src/gui/kernel/qtguiglobal.h b/src/gui/kernel/qtguiglobal.h index f0e64fbc53..8a7409e3d9 100644 --- a/src/gui/kernel/qtguiglobal.h +++ b/src/gui/kernel/qtguiglobal.h @@ -41,6 +41,7 @@ #define QTGUIGLOBAL_H #include +#include QT_BEGIN_NAMESPACE diff --git a/src/gui/kernel/qtguiglobal_p.h b/src/gui/kernel/qtguiglobal_p.h index fd04b8ff95..d2c0b3c5d1 100644 --- a/src/gui/kernel/qtguiglobal_p.h +++ b/src/gui/kernel/qtguiglobal_p.h @@ -53,5 +53,6 @@ #include #include +#include #endif // QTGUIGLOBAL_P_H diff --git a/src/network/configure.json b/src/network/configure.json new file mode 100644 index 0000000000..a647439b19 --- /dev/null +++ b/src/network/configure.json @@ -0,0 +1,216 @@ +{ + "module": "network", + "depends": [ + "core" + ], + "testDir": "../../config.tests", + + "commandline": { + "assignments": { + "OPENSSL_LIBS": "openssl.libs", + "OPENSSL_LIBS_DEBUG": "openssl.libs.debug", + "OPENSSL_LIBS_RELEASE": "openssl.libs.release", + "OPENSSL_PATH": "openssl.prefix" + }, + "options": { + "libproxy": "boolean", + "openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] }, + "openssl-linked": { "type": "void", "name": "openssl", "value": "linked" }, + "openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" }, + "sctp": "boolean", + "securetransport": "boolean", + "ssl": "boolean", + "system-proxies": "boolean" + } + }, + + "libraries": { + "corewlan": { + "description": "CoreWLan", + "export": "", + "test": "mac/corewlan", + "sources": [ + "-framework CoreWLAN -framework Foundation" + ] + }, + "network": { + "export": "", + "sources": [ + { "type": "makeSpec", "spec": "NETWORK" } + ] + }, + "libproxy": { + "description": "libproxy", + "test": "common/libproxy", + "sources": [ + "-lproxy" + ] + }, + "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" } + ] + } + }, + + "tests": { + "getaddrinfo": { + "description": "getaddrinfo()", + "type": "compile", + "test": "unix/getaddrinfo", + "use": "network" + }, + "getifaddrs": { + "description": "getifaddrs()", + "type": "compile", + "test": "unix/getifaddrs", + "use": "network" + }, + "ipv6ifname": { + "description": "IPv6 ifname", + "type": "compile", + "test": "unix/ipv6ifname", + "use": "network" + }, + "openssl": { + "description": "OpenSSL", + "type": "compile", + "test": "unix/openssl" + }, + "sctp": { + "description": "SCTP support", + "type": "compile", + "test": "unix/sctp", + "use": "network" + } + }, + + "features": { + "corewlan": { + "description": "CoreWLan", + "condition": "libs.corewlan", + "emitIf": "config.darwin", + "output": [ "feature", "privateFeature" ] + }, + "getaddrinfo": { + "description": "getaddrinfo()", + "condition": "tests.getaddrinfo", + "output": [ "feature" ] + }, + "getifaddrs": { + "description": "getifaddrs()", + "condition": "tests.getifaddrs", + "output": [ "feature" ] + }, + "ipv6ifname": { + "description": "IPv6 ifname", + "condition": "tests.ipv6ifname", + "output": [ "feature" ] + }, + "libproxy": { + "description": "libproxy", + "autoDetect": false, + "condition": "libs.libproxy", + "output": [ "privateFeature" ] + }, + "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" } + ] + }, + "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" } + ] + }, + "ssl": { + "description": "SSL", + "condition": "config.winrt || features.securetransport || features.openssl", + "output": [ "publicFeature", "feature" ] + }, + "sctp": { + "description": "SCTP", + "autoDetect": false, + "condition": "tests.sctp", + "output": [ "publicFeature", "feature" ] + }, + "system-proxies": { + "description": "Use system proxies", + "output": [ "privateFeature" ] + } + }, + + "report": [ + { + "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" + } + ], + + "summary": [ + { + "section": "Qt Network", + "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" + ] + } + ] +} diff --git a/src/network/configure.pri b/src/network/configure.pri new file mode 100644 index 0000000000..57568902e4 --- /dev/null +++ b/src/network/configure.pri @@ -0,0 +1,12 @@ +# custom tests + +defineTest(qtConfLibrary_openssl) { + libs = $$getenv("OPENSSL_LIBS") + !isEmpty(libs) { + $${1}.libs = $$libs + export($${1}.libs) + return(true) + } + return(false) +} + diff --git a/src/network/kernel/qtnetworkglobal.h b/src/network/kernel/qtnetworkglobal.h index 192601970a..586b847816 100644 --- a/src/network/kernel/qtnetworkglobal.h +++ b/src/network/kernel/qtnetworkglobal.h @@ -41,6 +41,7 @@ #define QTNETWORKGLOBAL_H #include +#include QT_BEGIN_NAMESPACE diff --git a/src/network/kernel/qtnetworkglobal_p.h b/src/network/kernel/qtnetworkglobal_p.h index 51347e440d..859e3d9ebd 100644 --- a/src/network/kernel/qtnetworkglobal_p.h +++ b/src/network/kernel/qtnetworkglobal_p.h @@ -53,5 +53,6 @@ #include #include +#include #endif // QTNETWORKGLOBAL_P_H diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index 96ba68089d..ce78399e01 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -111,7 +111,7 @@ \value EmailAddress The email address associated with the certificate */ -#include +#include #ifndef QT_NO_OPENSSL #include "qsslsocket_openssl_symbols_p.h" #endif diff --git a/src/platformsupport/fbconvenience/qfbvthandler_p.h b/src/platformsupport/fbconvenience/qfbvthandler_p.h index e05a9d3ffc..17d07317b2 100644 --- a/src/platformsupport/fbconvenience/qfbvthandler_p.h +++ b/src/platformsupport/fbconvenience/qfbvthandler_p.h @@ -51,6 +51,7 @@ // We mean it. // +#include #include QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h b/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h index b29aa3a793..6554d4998c 100644 --- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h +++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h @@ -51,6 +51,7 @@ // We mean it. // +#include #include #include #include diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro index 8078a5708c..b362722b28 100644 --- a/src/plugins/bearer/bearer.pro +++ b/src/plugins/bearer/bearer.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += network-private !android:linux*:qtHaveModule(dbus) { SUBDIRS += generic diff --git a/src/plugins/generic/generic.pro b/src/plugins/generic/generic.pro index c0a81d4dc8..69e832906b 100644 --- a/src/plugins/generic/generic.pro +++ b/src/plugins/generic/generic.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private load(qfeatures) diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro index d2588c1b18..9d1c0c8fdf 100644 --- a/src/plugins/imageformats/imageformats.pro +++ b/src/plugins/imageformats/imageformats.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private qtConfig(ico): SUBDIRS += ico qtConfig(jpeg): SUBDIRS += jpeg diff --git a/src/plugins/platforminputcontexts/platforminputcontexts.pro b/src/plugins/platforminputcontexts/platforminputcontexts.pro index f22b8b69db..ed6b1b8702 100644 --- a/src/plugins/platforminputcontexts/platforminputcontexts.pro +++ b/src/plugins/platforminputcontexts/platforminputcontexts.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private qtHaveModule(dbus) { !mac:!win32:SUBDIRS += ibus diff --git a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro index b46b04d149..d86a67b4f4 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private qtConfig(egl_x11): SUBDIRS += eglfs_x11 qtConfig(eglfs_gbm): SUBDIRS += eglfs_kms_support eglfs_kms diff --git a/src/plugins/platforms/platforms.pro b/src/plugins/platforms/platforms.pro index fcfebf6e94..938e63d95a 100644 --- a/src/plugins/platforms/platforms.pro +++ b/src/plugins/platforms/platforms.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private android: SUBDIRS += android diff --git a/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro b/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro index 0cdee03f62..b8f878ffe8 100644 --- a/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro +++ b/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private qtConfig(egl):qtConfig(egl_x11):qtConfig(opengl) { SUBDIRS += xcb_egl diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h index 6ad8a36460..f6ba828a15 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.h +++ b/src/plugins/platforms/xcb/qxcbconnection.h @@ -43,6 +43,7 @@ #include #include +#include #include "qxcbexport.h" #include #include diff --git a/src/plugins/platforms/xcb/xcb.pro b/src/plugins/platforms/xcb/xcb.pro index 7840a4583f..0d27645a60 100644 --- a/src/plugins/platforms/xcb/xcb.pro +++ b/src/plugins/platforms/xcb/xcb.pro @@ -1,5 +1,6 @@ TEMPLATE = subdirs CONFIG += ordered +QT_FOR_CONFIG += gui-private !qtConfig(system-xcb): SUBDIRS += xcb-static diff --git a/src/plugins/platformthemes/platformthemes.pro b/src/plugins/platformthemes/platformthemes.pro index 166b39ce8c..0e2812bed3 100644 --- a/src/plugins/platformthemes/platformthemes.pro +++ b/src/plugins/platformthemes/platformthemes.pro @@ -1,3 +1,4 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += widgets-private -qtConfig(gtk3): SUBDIRS += gtk3 +qtHaveModule(widgets):qtConfig(gtk3): SUBDIRS += gtk3 diff --git a/src/plugins/printsupport/printsupport.pro b/src/plugins/printsupport/printsupport.pro index 55feaba40c..05cf1bc0b2 100644 --- a/src/plugins/printsupport/printsupport.pro +++ b/src/plugins/printsupport/printsupport.pro @@ -1,5 +1,5 @@ -QT += printsupport TEMPLATE = subdirs +QT_FOR_CONFIG += printsupport-private osx: SUBDIRS += cocoa win32: SUBDIRS += windows diff --git a/src/plugins/sqldrivers/sqldrivers.pro b/src/plugins/sqldrivers/sqldrivers.pro index afd2008826..30fb6019ce 100644 --- a/src/plugins/sqldrivers/sqldrivers.pro +++ b/src/plugins/sqldrivers/sqldrivers.pro @@ -1,4 +1,5 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += sql qtConfig(sql-psql) : SUBDIRS += psql qtConfig(sql-mysql) : SUBDIRS += mysql diff --git a/src/printsupport/configure.json b/src/printsupport/configure.json new file mode 100644 index 0000000000..986bb9d678 --- /dev/null +++ b/src/printsupport/configure.json @@ -0,0 +1,42 @@ +{ + "module": "printsupport", + "depends": [ + "core", + "gui", + "widgets" + ], + "testDir": "../../config.tests", + + "commandline": { + "options": { + "cups": "boolean" + } + }, + + "libraries": { + "cups": { + "description": "CUPS", + "test": "unix/cups", + "sources": [ + "-lcups" + ] + } + }, + + "features": { + "cups": { + "description": "CUPS", + "condition": "libs.cups", + "output": [ "privateFeature", "feature" ] + } + }, + + "summary": [ + { + "section": "Qt PrintSupport", + "entries": [ + "cups" + ] + } + ] +} diff --git a/src/printsupport/kernel/qtprintsupportglobal.h b/src/printsupport/kernel/qtprintsupportglobal.h index c060b98958..67779af5a2 100644 --- a/src/printsupport/kernel/qtprintsupportglobal.h +++ b/src/printsupport/kernel/qtprintsupportglobal.h @@ -41,6 +41,7 @@ #define QTPRINTSUPPORTGLOBAL_H #include +#include QT_BEGIN_NAMESPACE diff --git a/src/sql/configure.json b/src/sql/configure.json new file mode 100644 index 0000000000..2277fcb546 --- /dev/null +++ b/src/sql/configure.json @@ -0,0 +1,201 @@ +{ + "module": "sql", + "depends": [ + "core" + ], + "testDir": "../../config.tests", + + "commandline": { + "assignments": { + "MYSQL_PATH": "mysql.prefix", + "PSQL_LIBS": "psql.libs", + "SYBASE": "tds.prefix", + "SYBASE_LIBS": "tds.libs" + }, + "options": { + "mysql_config": "string", + "psql_config": "string", + "sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } }, + "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" } + } + }, + + "libraries": { + "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" } + ] + } + }, + + "tests": { + }, + + "features": { + "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" ] + } + }, + + "report": [ + { + "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." + } + ], + + "summary": [ + { + "section": "Qt Sql", + "entries": [ + "sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql", + "sql-sqlite2", "sql-sqlite", "system-sqlite", "sql-tds" + ] + } + ] +} diff --git a/src/sql/configure.pri b/src/sql/configure.pri new file mode 100644 index 0000000000..948808f4f7 --- /dev/null +++ b/src/sql/configure.pri @@ -0,0 +1,89 @@ +# custom tests + +defineReplace(filterLibraryPath) { + str = $${1} + for (l, QMAKE_DEFAULT_LIBDIRS): \ + str -= "-L$$l" + + return($$str) +} + +defineTest(qtConfLibrary_psqlConfig) { + pg_config = $$config.input.psql_config + isEmpty(pg_config): \ + pg_config = $$qtConfFindInPath("pg_config") + !win32:!isEmpty(pg_config) { + qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false) + qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false) + libdir -= $$QMAKE_DEFAULT_LIBDIRS + libs = + !isEmpty(libdir): libs += "-L$$libdir" + libs += "-lpq" + $${1}.libs = "$$val_escape(libs)" + includedir -= $$QMAKE_DEFAULT_INCDIRS + $${1}.includedir = "$$val_escape(includedir)" + !isEmpty(includedir): \ + $${1}.cflags = "-I$$val_escape(includedir)" + export($${1}.libs) + export($${1}.includedir) + export($${1}.cflags) + return(true) + } + return(false) +} + +defineTest(qtConfLibrary_psqlEnv) { + # Respect PSQL_LIBS if set + PSQL_LIBS = $$getenv(PSQL_LIBS) + !isEmpty(PSQL_LIBS) { + $${1}.libs = $$PSQL_LIBS + export($${1}.libs) + } + return(true) +} + +defineTest(qtConfLibrary_mysqlConfig) { + mysql_config = $$config.input.mysql_config + isEmpty(mysql_config): \ + mysql_config = $$qtConfFindInPath("mysql_config") + !isEmpty(mysql_config) { + qtRunLoggedCommand("$$mysql_config --version", version)|return(false) + version = $$split(version, '.') + version = $$first(version) + isEmpty(version)|lessThan(version, 4): return(false)] + + # query is either --libs or --libs_r + query = $$eval($${1}.query) + qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false) + qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false) + eval(libs = $$libs) + libs = $$filterLibraryPath($$libs) + # -rdynamic should not be returned by mysql_config, but is on RHEL 6.6 + libs -= -rdynamic + $${1}.libs = "$$val_escape(libs)" + eval(includedir = $$includedir) + includedir ~= s/^-I//g + includedir -= $$QMAKE_DEFAULT_INCDIRS + $${1}.includedir = "$$val_escape(includedir)" + !isEmpty(includedir): \ + $${1}.cflags = "-I$$val_escape(includedir)" + export($${1}.libs) + export($${1}.includedir) + export($${1}.cflags) + return(true) + } + return(false) +} + +defineTest(qtConfLibrary_sybaseEnv) { + libs = + sybase = $$getenv(SYBASE) + !isEmpty(sybase): \ + libs += "-L$${sybase}/lib" + libs += $$getenv(SYBASE_LIBS) + !isEmpty(libs) { + $${1}.libs = "$$val_escape(libs)" + export($${1}.libs) + } + return(true) +} diff --git a/src/src.pro b/src/src.pro index 96a88a62ac..60d6a57e2a 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,5 +1,9 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += gui-private +include($$OUT_PWD/corelib/qtcore-config.pri) +include($$OUT_PWD/gui/qtgui-config.pri) + src_qtzlib.file = $$PWD/corelib/qtzlib.pro src_qtzlib.target = sub-zlib diff --git a/src/widgets/configure.json b/src/widgets/configure.json new file mode 100644 index 0000000000..23ee540c32 --- /dev/null +++ b/src/widgets/configure.json @@ -0,0 +1,97 @@ +{ + "module": "widgets", + "depends": [ + "core-private", + "gui" + ], + "testDir": "../../config.tests", + + "commandline": { + "options": { + "android-style-assets": "boolean", + "gtk": { "type": "boolean", "name": "gtk3" }, + "style-windows": "boolean", + "style-windowsxp": "boolean", + "style-windowsvista": "boolean", + "style-fusion": "boolean", + "style-mac": "boolean", + "style-android": "boolean" + } + }, + + "libraries": { + "gtk3": { + "description": "GTK+", + "sources": [ + { "type": "pkgConfig", "args": "gtk+-3.0" } + ] + } + }, + + "tests": { + "uxtheme": { + "description": "uxtheme.h", + "type": "files", + "files": [ "uxtheme.h" ] + } + }, + + "features": { + "gtk3": { + "description": "GTK+", + "autoDetect": "!config.darwin", + "condition": "features.glib && libs.gtk3", + "output": [ "privateFeature" ] + }, + "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" ] + } + }, + + "report": [ + ], + + "summary": [ + { + "section": "Qt Widgets", + "entries": [ + "gtk3", + { + "message": "Styles", + "type": "featureList", + "args": "style-fusion style-mac style-windows style-windowsxp style-windowsvista style-android" + } + ] + } + ] +} diff --git a/src/widgets/configure.pri b/src/widgets/configure.pri new file mode 100644 index 0000000000..ddb3657700 --- /dev/null +++ b/src/widgets/configure.pri @@ -0,0 +1,8 @@ +# custom outputs + +defineTest(qtConfOutput_styles) { + !$${2}: return() + + style = $$replace($${1}.feature, "style-", "") + qtConfOutputVar(append, "privatePro", "styles", $$style) +} diff --git a/src/widgets/kernel/qtwidgetsglobal.h b/src/widgets/kernel/qtwidgetsglobal.h index f6d003e629..1c74f37618 100644 --- a/src/widgets/kernel/qtwidgetsglobal.h +++ b/src/widgets/kernel/qtwidgetsglobal.h @@ -41,6 +41,7 @@ #define QTWIDGETSGLOBAL_H #include +#include QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qtwidgetsglobal_p.h b/src/widgets/kernel/qtwidgetsglobal_p.h index 7dd545415c..22ba876022 100644 --- a/src/widgets/kernel/qtwidgetsglobal_p.h +++ b/src/widgets/kernel/qtwidgetsglobal_p.h @@ -53,5 +53,6 @@ #include #include +#include #endif // QTWIDGETSGLOBAL_P_H diff --git a/src/widgets/styles/styles.pri b/src/widgets/styles/styles.pri index 7b9497172c..69e13fb6ec 100644 --- a/src/widgets/styles/styles.pri +++ b/src/widgets/styles/styles.pri @@ -35,6 +35,8 @@ SOURCES += \ RESOURCES += styles/qstyle.qrc +include($$OUT_PWD/qtwidgets-config.pri) + contains( styles, mac ) { HEADERS += \ styles/qmacstyle_mac_p.h \ diff --git a/tests/auto/corelib/json/json.pro b/tests/auto/corelib/json/json.pro index dc9cd3e383..16c2ae2fb7 100644 --- a/tests/auto/corelib/json/json.pro +++ b/tests/auto/corelib/json/json.pro @@ -1,5 +1,5 @@ TARGET = tst_json -QT = core testlib +QT = core-private testlib CONFIG -= app_bundle CONFIG += testcase diff --git a/tests/auto/corelib/tools/qcollator/qcollator.pro b/tests/auto/corelib/tools/qcollator/qcollator.pro index 7725194e3d..2f3995a75f 100644 --- a/tests/auto/corelib/tools/qcollator/qcollator.pro +++ b/tests/auto/corelib/tools/qcollator/qcollator.pro @@ -1,6 +1,6 @@ CONFIG += testcase TARGET = tst_qcollator -QT = core testlib +QT = core-private testlib SOURCES = tst_qcollator.cpp DEFINES += QT_NO_CAST_TO_ASCII qtConfig(icu): DEFINES += QT_USE_ICU diff --git a/tests/auto/corelib/tools/qstring/qstring.pro b/tests/auto/corelib/tools/qstring/qstring.pro index a94ad3405a..ec8a9b5df5 100644 --- a/tests/auto/corelib/tools/qstring/qstring.pro +++ b/tests/auto/corelib/tools/qstring/qstring.pro @@ -1,6 +1,6 @@ CONFIG += testcase TARGET = tst_qstring -QT = core testlib +QT = core-private testlib SOURCES = tst_qstring.cpp DEFINES += QT_NO_CAST_TO_ASCII qtConfig(icu): DEFINES += QT_USE_ICU diff --git a/tests/auto/gui/image/qmovie/qmovie.pro b/tests/auto/gui/image/qmovie/qmovie.pro index 6a7e23be99..1de428a685 100644 --- a/tests/auto/gui/image/qmovie/qmovie.pro +++ b/tests/auto/gui/image/qmovie/qmovie.pro @@ -1,6 +1,7 @@ CONFIG += testcase TARGET = tst_qmovie QT += testlib +QT_FOR_CONFIG += gui-private qtHaveModule(widgets): QT += widgets SOURCES += tst_qmovie.cpp MOC_DIR=tmp diff --git a/tests/auto/network/access/qnetworkreply/test/test.pro b/tests/auto/network/access/qnetworkreply/test/test.pro index 47e7f5ed15..45a5734305 100644 --- a/tests/auto/network/access/qnetworkreply/test/test.pro +++ b/tests/auto/network/access/qnetworkreply/test/test.pro @@ -5,6 +5,7 @@ SOURCES += ../tst_qnetworkreply.cpp TARGET = ../tst_qnetworkreply QT = core-private network-private testlib +QT_FOR_CONFIG += gui-private RESOURCES += ../qnetworkreply.qrc TESTDATA += ../empty ../rfc3252.txt ../resource ../bigfile ../*.jpg ../certs \ diff --git a/tests/auto/network/socket/socket.pro b/tests/auto/network/socket/socket.pro index 307f7e92de..06fe356a5a 100644 --- a/tests/auto/network/socket/socket.pro +++ b/tests/auto/network/socket/socket.pro @@ -1,4 +1,6 @@ TEMPLATE=subdirs +QT_FOR_CONFIG += network + SUBDIRS=\ qhttpsocketengine \ qudpsocket \ diff --git a/tests/auto/network/ssl/ssl.pro b/tests/auto/network/ssl/ssl.pro index 65e35ea4c0..ec74748f5b 100644 --- a/tests/auto/network/ssl/ssl.pro +++ b/tests/auto/network/ssl/ssl.pro @@ -1,4 +1,6 @@ TEMPLATE=subdirs +QT_FOR_CONFIG += network + SUBDIRS=\ qsslcertificate \ qsslcipher \ diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro index 94b5847b2e..0babac4b6f 100644 --- a/tests/auto/other/other.pro +++ b/tests/auto/other/other.pro @@ -1,4 +1,6 @@ TEMPLATE=subdirs +QT_FOR_CONFIG += gui-private + SUBDIRS=\ # atwrapper \ # QTBUG-19452 compiler \ diff --git a/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro b/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro index 828f36348d..e152ac8200 100644 --- a/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro +++ b/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro @@ -1,6 +1,7 @@ TEMPLATE = app TARGET = tst_bench_imageConversion QT += testlib +QT_FOR_CONFIG += gui-private SOURCES += tst_qimageconversion.cpp qtConfig(gif): DEFINES += QTEST_HAVE_GIF diff --git a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro index 7de1eedbdf..33e0c50bba 100644 --- a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro +++ b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro @@ -1,4 +1,5 @@ QT += testlib +QT_FOR_CONFIG += gui-private TEMPLATE = app TARGET = tst_bench_qimagereader diff --git a/tests/benchmarks/network/network.pro b/tests/benchmarks/network/network.pro index 01b3b80ef4..d53041eb61 100644 --- a/tests/benchmarks/network/network.pro +++ b/tests/benchmarks/network/network.pro @@ -1,4 +1,6 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += network-private + SUBDIRS = \ access \ kernel \ -- cgit v1.2.3