From c0cc5052097c723d0331a7619d686af9eb93d33c Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 15 Aug 2016 14:40:52 +0200 Subject: rewrite library handling in configure so far, each library was distributed over a test and (optionally) a 'library' output of a feature. this was conceptually messy and limiting. so instead, turn libraries into a category of their own. libraries now support multiple properly separated sources, which makes overriding them a lot saner. sources can be conditional to accommodate platform differences. as an immediate consequence, move (almost) all library references from the config test projects to the json file. a few tests were excluded, because they are doing somewhat magic things that should not be handled in this bulk change: - freetype: .pri file shared with actual source code - clock-gettime: -lrt is conditional, and there is a .pri file which is shared with actual source code - ipc_posix: -lrt & -lpthread conditional - iconv: -liconv conditional the multi-source mechanism is used to make a variety of tests work on windows, where the library name differs from unix (and sometimes between build configurations). some tests still needed minor adjustments to actually work. on the way, fix up disagreements between manually specified libraries and pkg-config lines (affecting several xcb-related tests). Change-Id: Ic8c58556fa0cf8f981d386b13ea34b4431b127c5 Reviewed-by: Lars Knoll --- configure.json | 1232 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 683 insertions(+), 549 deletions(-) (limited to 'configure.json') diff --git a/configure.json b/configure.json index df4180636f..56fda6200c 100644 --- a/configure.json +++ b/configure.json @@ -201,6 +201,547 @@ }, + "libraries": { + "libatomic": { + "description": "64 bit atomics in libatomic", + "export": "", + "test": "common/atomic64", + "sources": [ + "-latomic" + ] + }, + "libdl": { + "description": "dlopen() in libdl", + "export": "", + "test": "unix/dlopen", + "sources": [ + "-ldl" + ] + }, + "doubleconversion": { + "description": "DoubleConversion", + "export": "", + "test": "unix/doubleconversion", + "sources": [ + "-ldouble-conversion" + ] + }, + "pcre": { + "description": "PCRE", + "export": "", + "test": "unix/pcre", + "sources": [ + "-lpcre16" + ] + }, + "zlib": { + "description": "zlib", + "test": "unix/zlib", + "export": "", + "sources": [ + { "libs": "-lzdll", "condition": "config.msvc" }, + { "libs": "-lz", "condition": "!config.msvc" } + ] + }, + "gnu_iconv": { + "description": "GNU libiconv", + "export": "", + "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" }, + { "libs": "-lssleay32 -llibeay32", "condition": "config.win32 && features.shared" }, + { "libs": "-lssl -lcrypto", "condition": "!config.win32" } + ] + }, + "libproxy": { + "description": "libproxy", + "export": "", + "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", + "export": "", + "test": "unix/cups", + "sources": [ + "-lcups" + ] + }, + "libjpeg": { + "description": "libjpeg", + "export": "", + "test": "unix/libjpeg", + "sources": [ + { "libs": "-llibjpeg", "condition": "config.msvc" }, + { "libs": "-ljpeg", "condition": "!config.msvc" } + ] + }, + "libpng": { + "description": "libpng", + "export": "", + "test": "unix/libpng", + "sources": [ + { "type": "pkgConfig", "args": "libpng" }, + { "libs": "-llibpng", "condition": "config.msvc" }, + { "libs": "-lpng", "condition": "!config.msvc" } + ] + }, + "alsa": { + "description": "ALSA", + "export": "", + "test": "unix/alsa", + "sources": [ + "-lasound" + ] + }, + "pulseaudio": { + "description": "PulseAudio >= 0.9.10", + "test": "unix/pulseaudio", + "sources": [ + { "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" } + ] + }, + "gstreamer_1_0": { + "description": "GStreamer 1.0", + "export": "", + "test": "unix/gstreamer", + "sources": [ + { "type": "pkgConfig", + "args": "gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0" } + ] + }, + "gstreamer_0_10": { + "description": "GStreamer 0.10", + "export": "", + "test": "unix/gstreamer", + "sources": [ + { "type": "pkgConfig", + "args": "gstreamer-0.10 gstreamer-base-0.10 gstreamer-audio-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10" } + ] + }, + "freetype": { + "description": "FreeType", + "export": "", + "test": "unix/freetype", + "sources": [ + "-lfreetype" + ] + }, + "fontconfig": { + "description": "Fontconfig", + "test": "unix/fontconfig", + "sources": [ + { "type": "pkgConfig", "args": "fontconfig freetype2" }, + "-lfontconfig -lfreetype" + ] + }, + "harfbuzz": { + "description": "HarfBuzz", + "export": "", + "test": "unix/harfbuzz", + "sources": [ + "-lharfbuzz" + ] + }, + "dbus": { + "description": "D-Bus >= 1.2", + "test": "unix/dbus", + "sources": [ + { "type": "pkgConfig", "args": "dbus-1 >= 1.2" }, + { + "libs": "", + "builds": { + "debug": "-ldbus-1d", + "release": "-ldbus-1" + }, + "condition": "config.win32" + }, + { "libs": "-ldbus-1", "condition": "!config.win32" } + ] + }, + "host_dbus": { + "description": "D-Bus >= 1.2 (host)", + "export": "", + "sources": [ + { "type": "pkgConfig", "host": true, "args": "dbus-1 >= 1.2" } + ] + }, + "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", + "export": "", + "test": "unix/tslib", + "sources": [ + "-lts" + ] + }, + "libudev": { + "description": "udev", + "test": "unix/libudev", + "sources": [ + { "type": "pkgConfig", "args": "libudev" }, + "-ludev" + ] + }, + "xkbcommon": { + "description": "xkbcommon", + "export": "xkbcommon_evdev", + "test": "unix/xkbcommon", + "sources": [ + { "type": "pkgConfig", "args": "xkbcommon" } + ] + }, + "xkbcommon_x11": { + "description": "xkbcommon-x11 >= 0.4.1", + "export": "xkbcommon", + "sources": [ + { "type": "pkgConfig", "args": "xkbcommon xkbcommon-x11 >= 0.4.1" } + ] + }, + "xinput2": { + "description": "Xinput2", + "test": "x11/xinput2", + "sources": [ + { "type": "pkgConfig", "args": "xi" }, + "-lXi" + ] + }, + "xrender": { + "description": "XRender", + "export": "", + "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)", + "export": "", + "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", + "export": "", + "test": "qpa/xcb-xlib", + "sources": [ + { "type": "pkgConfig", "args": "X11-xcb x11 xcb" }, + "-lxcb -lX11 -lX11-xcb" + ] + }, + "xcb_xkb": { + "description": "XCB XKB >= 1.10", + "export": "", + "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", + "export": "", + "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", + "export": "", + "test": "qpa/gbm", + "sources": [ + { "type": "pkgConfig", "args": "gbm" } + ] + }, + "drm": { + "description": "KMS", + "export": "", + "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", + "export": "", + "test": "unix/pps", + "sources": [ + "-lpps" + ] + }, + "lgmon": { + "description": "lgmon", + "test": "unix/lgmon", + "export": "", + "sources": [ + "-llgmon" + ] + }, + "db2": { + "description": "DB2 (IBM)", + "export": "", + "test": "unix/db2", + "sources": [ + { "libs": "-ldb2cli", "condition": "config.win32" }, + { "libs": "-ldb2", "condition": "!config.win32" } + ] + }, + "ibase": { + "description": "InterBase", + "export": "", + "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)", + "export": "", + "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)", + "export": "", + "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": { "architecture": { "description": "target architecture", @@ -289,11 +830,6 @@ "type": "compile", "test": "unix/dlopen" }, - "libdl": { - "description": "dlopen() in libdl", - "type": "compile", - "test": "unix/libdl" - }, "separate_debug_info": { "description": "separate debug information support", "type": "compile", @@ -304,12 +840,6 @@ "type": "compile", "test": "common/atomic64" }, - "atomic64_libatomic": { - "description": "64 bit atomics in libatomic", - "type": "compile", - "test": "common/atomic64", - "libs": "-latomic" - }, "atomicfptr": { "description": "working std::atomic for function pointers", "type": "compile", @@ -433,11 +963,6 @@ "type": "compile", "test": "unix/clock-monotonic" }, - "alsa": { - "description": "ALSA", - "type": "compile", - "test": "unix/alsa" - }, "evdev": { "description": "evdev", "type": "compile", @@ -448,20 +973,17 @@ "type": "compile", "test": "unix/eventfd" }, - "gbm": { - "description": "GBM", - "type": "compile", - "test": "qpa/gbm" - }, "getaddrinfo": { "description": "getaddrinfo()", "type": "compile", - "test": "unix/getaddrinfo" + "test": "unix/getaddrinfo", + "use": "network" }, "getifaddrs": { "description": "getifaddrs()", "type": "compile", - "test": "unix/getifaddrs" + "test": "unix/getifaddrs", + "use": "network" }, "inotify": { "description": "inotify", @@ -471,38 +993,19 @@ "ipv6ifname": { "description": "IPv6 ifname", "type": "compile", - "test": "unix/ipv6ifname" - }, - "libproxy": { - "description": "libproxy", - "type": "compile", - "test": "common/libproxy" + "test": "unix/ipv6ifname", + "use": "network" }, "linuxfb": { "description": "LinuxFB", "type": "compile", "test": "qpa/linuxfb" }, - "kms": { - "description": "KMS", - "type": "compile", - "test": "qpa/kms" - }, - "mirclient": { - "description": "Mir client libraries", - "type": "compile", - "test": "qpa/mirclient" - }, "mremap": { "description": "mremap()", "type": "compile", "test": "unix/mremap" }, - "mtdev": { - "description": "mtdev", - "type": "compile", - "test": "unix/mtdev" - }, "journald": { "description": "journald", "type": "compile", @@ -523,323 +1026,103 @@ "type": "compilerSupportsFlag", "test": "-fstack-protector-strong" }, - "slog2": { - "description": "slog2", - "type": "compile", - "test": "unix/slog2" - }, - "imf": { - "description": "IMF", - "type": "compile", - "test": "unix/qqnx_imf" - }, - "pps": { - "description": "PPS", - "type": "compile", - "test": "unix/pps" - }, - "lgmon": { - "description": "lgmon", - "type": "compile", - "test": "unix/lgmon" - }, - "ipc_sysv": { - "description": "SysV IPC", - "type": "compile", - "test": "unix/ipc_sysv" - }, - "ipc_posix": { - "description": "POSIX IPC", - "type": "compile", - "test": "unix/ipc_posix" - }, - "tslib": { - "description": "tslib", - "type": "compile", - "test": "unix/tslib" - }, - "ppoll": { - "description": "ppoll()", - "type": "compile", - "test": "unix/ppoll" - }, - "pollts": { - "description": "pollts()", - "type": "compile", - "test": "unix/pollts" - }, - "poll": { - "description": "poll()", - "type": "compile", - "test": "unix/poll" - }, - "cloexec": { - "description": "O_CLOEXEC", - "type": "compile", - "test": "unix/cloexec" - }, - "corewlan": { - "description": "CoreWLan", - "type": "compile", - "test": "mac/corewlan" - }, - "openssl": { - "description": "OpenSSL", - "type": "compile", - "test": "unix/openssl" - }, - "openssl-libs": { - "description": "OpenSSL Libraries", - "type": "openssl", - "libs": "-lssl -lcrypto" - }, - "sctp": { - "description": "SCTP support", - "type": "compile", - "test": "unix/sctp" - }, - "icu": { - "description": "ICU", - "type": "compile", - "test": "unix/icu" - }, - "glib": { - "description": "GLib", - "type": "compile", - "test": "unix/glib", - "pkg-config-args": "glib-2.0 gthread-2.0" - }, - "gtk": { - "description": "GTK+", - "type": "pkgConfig", - "pkg-config-args": "gtk+-3.0" - }, - "pulseaudio": { - "description": "PulseAudio >= 0.9.10", - "type": "compile", - "test": "unix/pulseaudio", - "pkg-config-args": "libpulse >= 0.9.10 libpulse-mainloop-glib" - }, - "cups": { - "description": "CUPS", - "type": "compile", - "test": "unix/cups" - }, - "libjpeg": { - "description": "libjpeg", - "type": "compile", - "test": "unix/libjpeg" - }, - "libpng": { - "description": "libpng", - "type": "compile", - "test": "unix/libpng" - }, - "zlib": { - "description": "zlib", - "type": "compile", - "test": "unix/zlib" - }, - "posix-iconv": { - "description": "POSIX iconv", + "ipc_sysv": { + "description": "SysV IPC", "type": "compile", - "test": "unix/iconv" + "test": "unix/ipc_sysv" }, - "sun-iconv": { - "description": "SUN libiconv", + "ipc_posix": { + "description": "POSIX IPC", "type": "compile", - "test": "unix/sun-libiconv" + "test": "unix/ipc_posix" }, - "gnu-iconv": { - "description": "GNU libiconv", + "ppoll": { + "description": "ppoll()", "type": "compile", - "test": "unix/gnu-libiconv" + "test": "unix/ppoll" }, - "freetype": { - "description": "FreeType", + "pollts": { + "description": "pollts()", "type": "compile", - "test": "unix/freetype" + "test": "unix/pollts" }, - "fontconfig": { - "description": "Fontconfig", + "poll": { + "description": "poll()", "type": "compile", - "test": "unix/fontconfig", - "pkg-config-args": "fontconfig freetype2", - "libs": "-lfontconfig -lfreetype" + "test": "unix/poll" }, - "harfbuzz": { - "description": "HarfBuzz", + "cloexec": { + "description": "O_CLOEXEC", "type": "compile", - "test": "unix/harfbuzz" + "test": "unix/cloexec" }, - "dbus": { - "description": "D-Bus >= 1.2", + "openssl": { + "description": "OpenSSL", "type": "compile", - "test": "unix/dbus", - "pkg-config-args": "dbus-1 >= 1.2" + "test": "unix/openssl" }, - "host-dbus": { - "description": "D-Bus >= 1.2 (host)", - "type": "pkgConfig", - "host": true, - "pkg-config-args": "dbus-1 >= 1.2" + "sctp": { + "description": "SCTP support", + "type": "compile", + "test": "unix/sctp", + "use": "network" }, - "directfb": { - "description": "DirectFB", + "posix-iconv": { + "description": "POSIX iconv", "type": "compile", - "test": "qpa/directfb", - "pkg-config-args": "directfb" + "test": "unix/iconv" }, - "egl": { - "description": "EGL", + "sun-iconv": { + "description": "SUN libiconv", "type": "compile", - "test": "qpa/egl", - "pkg-config-args": "egl" + "test": "unix/sun-libiconv" }, "egl-x11": { "description": "EGL on X11", "type": "compile", "test": "qpa/egl-x11", - "pkg-config-args": "egl" + "use": "egl xcb_xlib" }, "egl-brcm": { "description": "Broadcom EGL (Rasberry Pi)", "type": "compile", "test": "qpa/eglfs-brcm", - "pkg-config-args": "egl" + "use": "egl bcm_host" }, "egl-egldevice": { "description": "EGLDevice", "type": "compile", - "test": "qpa/eglfs-egldevice" + "test": "qpa/eglfs-egldevice", + "use": "egl" }, "egl-mali": { "description": "Mali EGL", "type": "compile", - "test": "qpa/eglfs-mali" + "test": "qpa/eglfs-mali", + "use": "egl" }, "egl-mali-2": { "description": "Mali 2 EGL", "type": "compile", - "test": "qpa/eglfs-mali-2" + "test": "qpa/eglfs-mali-2", + "use": "egl" }, "egl-viv": { "description": "i.Mx6 EGL", "type": "compile", - "test": "qpa/eglfs-viv" - }, - "wayland-server": { - "description": "Wayland Server", - "type": "compile", - "test": "qpa/wayland-server" - }, - "libinput": { - "description": "libinput", - "type": "compile", - "test": "unix/libinput", - "pkg-config-args": "libinput" - }, - "libudev": { - "description": "udev", - "type": "compile", - "test": "unix/libudev", - "pkg-config-args": "libudev" - }, - "xkbcommon": { - "description": "xkbcommon", - "type": "compile", - "test": "unix/xkbcommon", - "pkg-config-args": "xkbcommon" - }, - "xkbcommon-x11": { - "description": "xkbcommon-x11 >= 0.4.1", - "type": "pkgConfig", - "pkg-config-args": "xkbcommon xkbcommon-x11 >= 0.4.1" - }, - "xinput2": { - "description": "Xinput2", - "type": "compile", - "test": "x11/xinput2", - "pkg-config-args": "xi" - }, - "doubleconversion": { - "description": "DoubleConversion", - "type": "compile", - "test": "unix/doubleconversion" + "test": "qpa/eglfs-viv", + "use": "egl" }, "xlocalescanprint": { "description": "xlocale.h (or equivalents)", "type": "compile", "test": "common/xlocalescanprint" }, - "pcre": { - "description": "PCRE", - "type": "compile", - "test": "unix/pcre" - }, - "gstreamer-1_0": { - "description": "GStreamer 1.0", - "type": "compile", - "test": "unix/gstreamer", - "args": "-config gst-1.0" - }, - "gstreamer-0_10": { - "description": "GStreamer 0.10", - "type": "compile", - "test": "unix/gstreamer", - "args": "-config gst-0.10" - }, - "xcb": { - "description": "XCB >= 1.5 (core)", - "type": "compile", - "test": "qpa/xcb", - "pkg-config-args": "xcb >= 1.5" - }, - "xcb-syslibs": { - "description": "XCB (secondary)", - "type": "compile", - "test": "qpa/xcb-syslibs", - "pkg-config-args": "xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm xcb-shape" - }, - "xcb-xkb": { - "description": "XCB XKB >= 1.10", - "type": "compile", - "test": "qpa/xcb-xkb", - "pkg-config-args": "xcb-xkb >= 1.10" - }, - "xcb-render": { - "description": "XCB XRender", - "type": "compile", - "test": "qpa/xcb-render", - "pkg-config-args": "xcb" - }, - "xcb-glx": { - "description": "XCB GLX", - "type": "compile", - "test": "qpa/xcb-glx", - "pkg-config-args": "xcb" - }, - "xcb-xlib": { - "description": "XCB Xlib", - "type": "compile", - "test": "qpa/xcb-xlib", - "pkg-config-args": "xcb" - }, - "x11-sm": { - "description": "X11 session management", - "type": "pkgConfig", - "pkg-config-args": "sm ice" - }, "xlib": { "description": "XLib", "type": "compile", "test": "x11/xlib" }, - "xrender": { - "description": "XRender", - "type": "compile", - "test": "x11/xrender" - }, "x11prefix": { "description": "X11 prefix", "type": "getPkgConfigVariable", @@ -855,105 +1138,23 @@ "pkg-config-variable": "xkb_base", "log": "value" }, - "opengl-desktop": { - "description": "Desktop OpenGL", - "type": "compile", - "test": "unix/opengldesktop", - "pkg-config-args": "gl" - }, - "opengl-mingw": { - "description": "Desktop OpenGL", - "type": "compile", - "test": "x11/opengl" - }, - "opengles2": { - "description": "OpenGL ES 2.0", - "type": "compile", - "test": "unix/opengles2", - "pkg-config-args": "glesv2" - }, "opengles3": { "description": "OpenGL ES 3.0", "type": "compile", "test": "unix/opengles3", - "pkg-config-args": "glesv2" + "use": "opengl_es2" }, "opengles31": { "description": "OpenGL ES 3.1", "type": "compile", "test": "unix/opengles31", - "pkg-config-args": "glesv2" - }, - "db2": { - "description": "DB2 (IBM)", - "type": "compile", - "test": "unix/db2" - }, - "ibase": { - "description": "InterBase", - "type": "compile", - "test": "unix/ibase" - }, - "mysql": { - "description": "MySQL", - "type": "mysqlCompile", - "test": "unix/mysql", - "query": "--libs" - }, - "mysql_r": { - "description": "MySQL (threadsafe)", - "type": "mysqlCompile", - "test": "unix/mysql_r", - "query": "--libs_r" - }, - "oci": { - "description": "OCI (Oracle)", - "type": "compile", - "test": "unix/oci" - }, - "odbc": { - "description": "ODBC", - "type": "compile", - "test": "unix/odbc", - "libs": "-lodbc" - }, - "iodbc": { - "description": "iODBC", - "type": "compile", - "test": "unix/iodbc", - "libs": "-liodbc" - }, - "psql": { - "description": "PostgreSQL", - "type": "psqlCompile", - "test": "unix/psql" - }, - "sqlite2": { - "description": "SQLite (version 2)", - "type": "compile", - "test": "unix/sqlite2" - }, - "sqlite": { - "description": "SQLite (version 3)", - "type": "compile", - "test": "unix/sqlite", - "pkg-config-args": "sqlite3", - "libs": "-lsqlite3 -lz" - }, - "tds": { - "description": "TDS (Sybase)", - "type": "tdsCompile", - "test": "unix/tds" - }, - "directwrite": { - "description": "DirectWrite", - "type": "compile", - "test": "win/directwrite" + "use": "opengl_es2" }, "directwrite2": { "description": "DirectWrite 2", "type": "compile", - "test": "win/directwrite2" + "test": "win/directwrite2", + "use": "directwrite" }, "qpa_default_platform": { "description": "default QPA platform", @@ -1232,21 +1433,20 @@ }, "dlopen": { "description": "dlopen()", - "condition": "tests.dlopen || tests.libdl", + "condition": "tests.dlopen || libs.libdl", "output": [ { "type": "define", "negative": true, "name": "QT_NO_DYNAMIC_LIBRARY" } ] }, "libdl": { "description": "dlopen() in libdl", - "condition": "!tests.dlopen && tests.libdl", + "condition": "!tests.dlopen && libs.libdl", "output": [ { "type": "privateConfig", "negative": true } ] }, "std-atomic64": { "description": "64 bit atomic operations", - "condition": "tests.atomic64 || tests.atomic64_libatomic", + "condition": "tests.atomic64 || libs.libatomic", "output": [ { "type": "define", "negative": true, "name": "QT_NO_STD_ATOMIC64" }, - { "type": "privateConfig", "name": "atomic64-libatomic", - "condition": "!tests.atomic64 && tests.atomic64_libatomic" } + { "type": "privateConfig", "name": "atomic64-libatomic", "condition": "!tests.atomic64" } ] }, "sse2": { @@ -1413,7 +1613,7 @@ }, "alsa": { "description": "ALSA", - "condition": "tests.alsa", + "condition": "libs.alsa", "output": [ "feature" ] }, "evdev": { @@ -1428,7 +1628,7 @@ }, "gbm": { "description": "GBM", - "condition": "tests.gbm", + "condition": "libs.gbm", "output": [ "publicQtConfig" ] }, "getaddrinfo": { @@ -1454,7 +1654,7 @@ "libproxy": { "description": "libproxy", "autoDetect": false, - "condition": "tests.libproxy", + "condition": "libs.libproxy", "output": [ "feature" ] }, "linuxfb": { @@ -1465,11 +1665,8 @@ "directfb": { "description": "DirectFB", "autoDetect": false, - "condition": "tests.directfb", - "output": [ - "publicQtConfig", - { "type": "library", "test": "directfb" } - ] + "condition": "libs.directfb", + "output": [ "publicQtConfig" ] }, "integrityfb": { "description": "INTEGRITY framebuffer", @@ -1478,12 +1675,12 @@ }, "kms": { "description": "KMS", - "condition": "tests.kms", + "condition": "libs.drm", "output": [ "publicQtConfig" ] }, "mirclient": { "description": "Mir client", - "condition": "tests.mirclient", + "condition": "libs.mirclient", "output": [ "publicQtConfig" ] }, "mremap": { @@ -1493,13 +1690,13 @@ }, "mtdev": { "description": "mtdev", - "condition": "tests.mtdev", + "condition": "libs.mtdev", "output": [ "privateFeature" ] }, "journald": { "description": "journald", "autoDetect": false, - "condition": "tests.journald", + "condition": "libs.journald", "output": [ "privateConfig" ] }, "posix_fallocate": { @@ -1520,26 +1717,26 @@ }, "slog2": { "description": "slog2", - "condition": "tests.slog2", + "condition": "libs.slog2", "emitIf": "config.qnx", "output": [ "privateConfig" ] }, "qqnx_imf": { "description": "IMF", "emitIf": "config.qnx", - "condition": "tests.imf", + "condition": "libs.imf", "output": [ "privateConfig" ] }, "qqnx_pps": { "description": "PPS", "emitIf": "config.qnx", - "condition": "tests.pps", + "condition": "libs.pps", "output": [ "privateConfig" ] }, "lgmon": { "description": "lgmon", "emitIf": "config.qnx", - "condition": "tests.lgmon", + "condition": "libs.lgmon", "output": [ "privateConfig" ] }, "poll_ppoll": { @@ -1590,12 +1787,12 @@ }, "tslib": { "description": "tslib", - "condition": "tests.tslib", + "condition": "libs.tslib", "output": [ "privateFeature" ] }, "corewlan": { "description": "CoreWLan", - "condition": "tests.corewlan", + "condition": "libs.corewlan", "emitIf": "config.darwin", "output": [ "feature" ] }, @@ -1622,10 +1819,10 @@ "description": " Qt directly linked to OpenSSL", "enable": "input.openssl == 'linked'", "disable": "input.openssl != 'linked'", - "condition": "features.openssl && tests.openssl-libs", + "condition": "features.openssl && libs.openssl", "output": [ "publicQtConfig", - { "type": "varAssign", "name": "OPENSSL_LIBS", "value": "tests.openssl-libs.libs", "eval": "true" }, + { "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" }, { "type": "define", "name": "QT_LINKED_OPENSSL" } ] }, @@ -1652,38 +1849,29 @@ }, "glib": { "description": "GLib", - "condition": "tests.glib", - "output": [ - "feature", - { "type": "library", "test": "glib" } - ] + "condition": "libs.glib", + "output": [ "feature" ] }, "gtk3": { "description": "GTK+", "autoDetect": "!config.darwin", - "condition": "features.glib && tests.gtk", - "output": [ - "publicQtConfig", - { "type": "library", "test": "gtk" } - ] + "condition": "features.glib && libs.gtk3", + "output": [ "publicQtConfig" ] }, "icu": { "description": "ICU", "autoDetect": "!config.win32", - "condition": "tests.icu", + "condition": "libs.icu", "output": [ "publicQtConfig" ] }, "pulseaudio": { "description": "PulseAudio", - "condition": "tests.pulseaudio", - "output": [ - "feature", - { "type": "library", "test": "pulseaudio" } - ] + "condition": "libs.pulseaudio", + "output": [ "feature" ] }, "cups": { "description": "CUPS", - "condition": "tests.cups", + "condition": "libs.cups", "output": [ "feature" ] }, "jpeg": { @@ -1698,7 +1886,7 @@ "description": " Using system libjpeg", "disable": "input.libjpeg == 'qt'", "enable": "input.libjpeg == 'system'", - "condition": "features.jpeg && tests.libjpeg", + "condition": "features.jpeg && libs.libjpeg", "output": [ "publicQtConfig" ] }, "gif": { @@ -1720,12 +1908,12 @@ "description": " Using system libpng", "disable": "input.libpng == 'qt'", "enable": "input.libpng == 'system'", - "condition": "features.png && tests.libpng", + "condition": "features.png && libs.libpng", "output": [ "publicQtConfig" ] }, "system-zlib": { "description": "Using system zlib", - "condition": "config.darwin || tests.zlib", + "condition": "config.darwin || libs.zlib", "output": [ "publicQtConfig" ] }, "iconv": { @@ -1750,7 +1938,7 @@ "description": "GNU iconv", "enable": "input.iconv == 'gnu'", "disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'", - "condition": "!config.win32 && !features.posix-libiconv && !features.sun-libiconv && tests.gnu-iconv", + "condition": "!config.win32 && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv", "output": [ "publicQtConfig" ] }, "freetype": { @@ -1762,16 +1950,13 @@ "enable": "input.freetype == 'system'", "disable": "input.freetype == 'qt'", "autoDetect": "!config.win32", - "condition": "features.freetype && tests.freetype", + "condition": "features.freetype && libs.freetype", "output": [ "publicQtConfig" ] }, "fontconfig": { "description": "Fontconfig", - "condition": "features.system-freetype && tests.fontconfig", - "output": [ - "feature", - { "type": "library", "test": "fontconfig" } - ] + "condition": "features.system-freetype && libs.fontconfig", + "output": [ "feature" ] }, "harfbuzz": { "description": "HarfBuzz", @@ -1782,7 +1967,7 @@ "enable": "input.harfbuzz == 'system'", "disable": "input.harfbuzz == 'qt'", "autoDetect": "!config.darwin", - "condition": "features.harfbuzz && tests.harfbuzz", + "condition": "features.harfbuzz && libs.harfbuzz", "output": [ "publicQtConfig" ] }, "concurrent": { @@ -1798,17 +1983,14 @@ "description": "Qt D-Bus directly linked to libdbus", "enable": "input.dbus == 'linked'", "disable": "input.dbus == 'runtime'", - "condition": "features.dbus && tests.dbus", - "output": [ - "publicQtConfig", - { "type": "library", "name": "dbus", "test": "dbus" } - ] + "condition": "features.dbus && libs.dbus", + "output": [ "publicQtConfig" ] }, "host-dbus": { "description": "Qt D-Bus (Host)", "autoDetect": "!config.android", - "condition": "tests.host-dbus", - "output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "tests.host-dbus.cflags", "eval": "true" } ] + "condition": "libs.host_dbus", + "output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "libs.host_dbus.cflags", "eval": "true" } ] }, "skip_modules": { "output": [ { "type": "varAssign", "name": "QT_SKIP_MODULES", "value": "tests.skip_modules.value" } ] @@ -1839,11 +2021,8 @@ }, "egl": { "description": "EGL", - "condition": "features.opengl && tests.egl", - "output": [ - "feature", - { "type": "library", "test": "egl" } - ] + "condition": "features.opengl && libs.egl", + "output": [ "feature" ] }, "egl_x11": { "description": "EGL on X11", @@ -1883,43 +2062,31 @@ }, "eglfs_viv_wl": { "description": "EGLFS i.Mx6 Wayland", - "condition": "features.eglfs_viv && tests.wayland-server", + "condition": "features.eglfs_viv && libs.wayland_server", "output": [ "publicQtConfig" ] }, "libudev": { "description": "udev", - "condition": "tests.libudev", - "output": [ - "privateFeature", - { "type": "library", "test": "libudev" } - ] + "condition": "libs.libudev", + "output": [ "privateFeature" ] }, "libinput": { "description": "libinput", - "condition": "features.libudev && tests.libinput", - "output": [ - "privateFeature", - { "type": "library", "test": "libinput" } - ] + "condition": "features.libudev && libs.libinput", + "output": [ "privateFeature" ] }, "xkbcommon-evdev": { "description": "xkbcommon-evdev", - "condition": "tests.xkbcommon", - "output": [ - "publicQtConfig", - { "type": "library", "test": "xkbcommon" } - ] + "condition": "libs.xkbcommon", + "output": [ "publicQtConfig" ] }, "xkbcommon-system": { "description": "Using system-provided xkbcommon", "emitIf": "features.xcb", "enable": "input.xkbcommon == 'system'", "disable": "input.xkbcommon == 'qt' || input.xkbcommon == 'no'", - "condition": "tests.xkbcommon-x11", - "output": [ - { "type": "publicQtConfig", "negative": true, "name": "xkbcommon-qt" }, - { "type": "library", "name": "xkbcommon", "test": "xkbcommon-x11" } - ] + "condition": "libs.xkbcommon_x11", + "output": [ { "type": "publicQtConfig", "negative": true, "name": "xkbcommon-qt" } ] }, "xkb-config-root": { "description": "XKB config root", @@ -1929,11 +2096,8 @@ }, "xinput2": { "description": "Xinput2", - "condition": "tests.xinput2", - "output": [ - "publicQtConfig", - { "type": "library", "test": "xinput2" } - ] + "condition": "libs.xinput2", + "output": [ "publicQtConfig" ] }, "doubleconversion": { "description": "DoubleConversion", @@ -1943,40 +2107,38 @@ "description": " Using system DoubleConversion", "enable": "input.doubleconversion == 'system'", "disable": "input.doubleconversion == 'qt'", - "condition": "features.doubleconversion && tests.doubleconversion", + "condition": "features.doubleconversion && libs.doubleconversion", "output": [ "publicQtConfig" ] }, "system-pcre": { "description": "Using system PCRE", "disable": "input.pcre == 'qt'", "enable": "input.pcre == 'system'", - "condition": "tests.pcre", + "condition": "libs.pcre", "output": [ { "type": "privateConfig", "negative": true, "name": "pcre" } ] }, "gstreamer-1_0": { "description": "GStreamer 1.0", "disable": "input.gstreamer == '0.10' || input.gstreamer == 'no'", "enable": "input.gstreamer == '1.0'", - "condition": "tests.gstreamer-1_0", + "condition": "libs.gstreamer_1_0", "output": [ { "type": "publicQtConfig", "name": "gstreamer-1.0" } ] }, "gstreamer-0_10": { "description": "GStreamer 0.10", "disable": "input.gstreamer == 'no'", "enable": "input.gstreamer == '0.10'", - "condition": "!features.gstreamer-1_0 && tests.gstreamer-0_10", + "condition": "!features.gstreamer-1_0 && libs.gstreamer_0_10", "output": [ { "type": "publicQtConfig", "name": "gstreamer-0.10" } ] }, "xcb": { "description": "XCB", "autoDetect": "!config.darwin", - "condition": "tests.xcb", + "condition": "libs.xcb", "output": [ "publicQtConfig", { "type": "publicQtConfig", "name": "xcb-qt", "condition": "!features.system-xcb" }, - { "type": "publicQtConfig", "name": "xcb-plugin" }, - { "type": "library", "test": "xcb", "condition": "!features.system-xcb" }, - { "type": "library", "test": "xcb-syslibs", "condition": "features.system-xcb" } + { "type": "publicQtConfig", "name": "xcb-plugin" } ] }, "system-xcb": { @@ -1984,45 +2146,36 @@ "enable": "input.xcb == 'system' || input.xcb == 'yes'", "disable": "input.xcb == 'qt' || input.xcb == 'no'", "autoDetect": "!config.darwin", - "condition": "tests.xcb && tests.xcb-syslibs" + "condition": "libs.xcb && libs.xcb_syslibs" }, "xcb-render": { "description": "XCB render", "emitIf": "features.system-xcb", - "condition": "tests.xcb-render", - "output": [ - "publicQtConfig", - { "type": "library", "test": "xcb-render" } - ] + "condition": "libs.xcb_render", + "output": [ "publicQtConfig" ] }, "xcb-glx": { "description": "XCB GLX", "emitIf": "features.xcb", - "condition": "tests.xcb-glx", - "output": [ - "publicQtConfig", - { "type": "library", "test": "xcb-glx" } - ] + "condition": "libs.xcb_glx", + "output": [ "publicQtConfig" ] }, "xcb-xlib": { "description": "XCB Xlib", "emitIf": "features.xcb", - "condition": "tests.xcb-xlib", + "condition": "libs.xcb_xlib", "output": [ "publicQtConfig" ] }, "xcb-sm": { "description": "xcb-sm", "emitIf": "features.xcb", - "condition": "features.sessionmanager && tests.x11-sm", + "condition": "features.sessionmanager && libs.x11sm", "output": [ "publicQtConfig" ] }, "xkb": { "description": "XCB XKB", - "condition": "features.system-xcb && tests.xcb-xkb", - "output": [ - "privateFeature", - { "type": "library", "test": "xcb-xkb" } - ] + "condition": "features.system-xcb && libs.xcb_xkb", + "output": [ "privateFeature" ] }, "xlib": { "description": "XLib", @@ -2031,7 +2184,7 @@ }, "xrender": { "description": "Xrender", - "condition": "tests.xrender", + "condition": "libs.xrender", "output": [ "feature" ] }, "x11-prefix": { @@ -2043,12 +2196,11 @@ "description": "OpenGL ES 2.0", "enable": "input.opengl == 'es2'", "disable": "input.opengl == 'desktop' || input.opengl == 'no'", - "condition": "!features.opengl-desktop && tests.opengles2", + "condition": "!features.opengl-desktop && libs.opengl_es2", "output": [ "publicQtConfig", { "type": "define", "name": "QT_OPENGL_ES" }, - { "type": "define", "name": "QT_OPENGL_ES_2" }, - { "type": "library", "name": "OPENGL_ES2", "test": "opengles2" } + { "type": "define", "name": "QT_OPENGL_ES_2" } ] }, "opengles3": { @@ -2065,8 +2217,7 @@ "description": "Desktop OpenGL", "enable": "input.opengl == 'desktop'", "disable": "input.opengl == 'es2' || input.opengl == 'no'", - "condition": "(config.win32 && tests.opengl-mingw) || (!config.win32 && tests.opengl-desktop)", - "output": [ { "type": "library", "name": "OPENGL", "test": "opengl-desktop", "condition": "!config.win32" } ] + "condition": "libs.opengl" }, "opengl": { "description": "OpenGL", @@ -2075,53 +2226,42 @@ }, "db2": { "description": "DB2 (IBM)", - "condition": "tests.db2", + "condition": "libs.db2", "output": [ "sqldriver" ] }, "ibase": { "description": "InterBase", - "condition": "tests.ibase", + "condition": "libs.ibase", "output": [ "sqldriver" ] }, "mysql": { "description": "MySql", - "condition": "tests.mysql", - "output": [ - "sqldriver", - { "type": "library", "test": "mysql", "condition": "!features.use_libmysqlclient_r" }, - { "type": "library", "test": "mysql_r", "condition": "features.use_libmysqlclient_r" } - ] + "condition": "libs.mysql", + "output": [ "sqldriver" ] }, "use_libmysqlclient_r": { "description": "MySql (threadsafe)", - "condition": "features.mysql && tests.mysql_r", + "condition": "features.mysql && (libs.mysql.source == 0 || libs.mysql.source == 2)", "output": [ "privateConfig" ] }, "oci": { "description": "OCI (Oracle)", - "condition": "tests.oci", + "condition": "libs.oci", "output": [ "sqldriver" ] }, "odbc": { "description": "ODBC", - "condition": "(!config.darwin && tests.odbc) || tests.iodbc", - "output": [ - "sqldriver", - { "type": "library", "test": "odbc", "condition": "!config.darwin && tests.odbc" }, - { "type": "library", "test": "iodbc", "condition": "config.darwin || !tests.odbc" } - ] + "condition": "libs.odbc", + "output": [ "sqldriver" ] }, "psql": { "description": "PostgreSQL", - "condition": "tests.psql", - "output": [ - "sqldriver", - { "type": "library", "test": "psql" } - ] + "condition": "libs.psql", + "output": [ "sqldriver" ] }, "sqlite2": { "description": "SQLite2", - "condition": "tests.sqlite2", + "condition": "libs.sqlite2", "output": [ "sqldriver" ] }, "sqlite": { @@ -2131,19 +2271,13 @@ "system-sqlite": { "description": " Using system provided SQLite", "autoDetect": false, - "condition": "features.sqlite && tests.sqlite", - "output": [ - "publicQtConfig", - { "type": "library", "test": "sqlite" } - ] + "condition": "features.sqlite && libs.sqlite3", + "output": [ "publicQtConfig" ] }, "tds": { "description": "TDS (Sybase)", - "condition": "tests.tds", - "output": [ - "sqldriver", - { "type": "library", "test": "tds" } - ] + "condition": "libs.tds", + "output": [ "sqldriver" ] }, "fusion-style": { "description": "Fusion Style", @@ -2184,7 +2318,7 @@ "directwrite": { "description": "DirectWrite", "emitIf": "config.win32", - "condition": "tests.directwrite", + "condition": "libs.directwrite", "output": [ "publicQtConfig" ] }, "directwrite2": { @@ -2293,7 +2427,7 @@ XKB configuration data. This is required for keyboard input support." }, { "type": "note", - "condition": "features.openssl-linked && tests.openssl-libs.showNote", + "condition": "features.openssl-linked && libs.openssl.source != 0", "message": "When linking against OpenSSL, you can override the default library names through OPENSSL_LIBS. For example: -- cgit v1.2.3