diff options
Diffstat (limited to 'src/gui/configure.json')
-rw-r--r-- | src/gui/configure.json | 155 |
1 files changed, 95 insertions, 60 deletions
diff --git a/src/gui/configure.json b/src/gui/configure.json index 219385a108..0332631ec8 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -44,7 +44,7 @@ "xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] }, "xcb-native-painting": "boolean", "xcb-xlib": "boolean", - "xinput2": "boolean", + "xcb-xinput": "boolean", "xkb": "boolean", "xkbcommon": { "type": "enum", "values": [ "no", "qt", "system" ] }, "xkbcommon-evdev": "boolean", @@ -114,11 +114,16 @@ "drm": { "label": "KMS", "test": { - "include": [ "stdlib.h", "stdint.h" ], + "head": [ + "#include <stdlib.h>", + "#include <stdint.h>", + "extern \"C\" {" + ], + "include": [ + "xf86drmMode.h", + "xf86drm.h" + ], "tail": [ - "extern \"C\" {", - "#include <xf86drmMode.h>", - "#include <xf86drm.h>", "}" ], "main": "(void) drmModeGetCrtc(0, 0);" @@ -146,8 +151,8 @@ "freetype": { "label": "FreeType", "test": { - "head": [ - "#include <ft2build.h>", + "include": "ft2build.h", + "tail": [ "#include FT_FREETYPE_H", "#if ((FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH) < 20200)", "# error This version of freetype is too old.", @@ -159,14 +164,15 @@ }, "sources": [ { "type": "pkgConfig", "args": "freetype2" }, - { "type": "freetype", "libs": "-lfreetype" } + { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" }, + { "type": "freetype", "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" } ] }, "fontconfig": { "label": "Fontconfig", "test": { - "head": [ - "#include <fontconfig/fontconfig.h>", + "include": "fontconfig/fontconfig.h", + "tail": [ "#ifndef FC_RGBA_UNKNOWN", "# error This version of fontconfig is tool old, it is missing the FC_RGBA_UNKNOWN define", "#endif" @@ -184,10 +190,13 @@ "gbm": { "label": "GBM", "test": { - "include": [ "stdlib.h", "stdint.h" ], + "head": [ + "#include <stdlib.h>", + "#include <stdint.h>", + "extern \"C\" {" + ], + "include": "gbm.h", "tail": [ - "extern \"C\" {", - "#include <gbm.h>", "}" ], "main": "gbm_surface *surface = 0;" @@ -252,7 +261,11 @@ "integrityhid": { "label": "integrityhid", "test": { - "include": [ "stdlib.h", "stdint.h", "device/hiddriver.h" ], + "head": [ + "#include <stdlib.h>", + "#include <stdint.h>" + ], + "include": "device/hiddriver.h", "main": [ "HIDDriver *driver;", "uintptr_t devicecontext;", @@ -267,10 +280,13 @@ "libjpeg": { "label": "libjpeg", "test": { - "include": [ "sys/types.h", "stdio.h" ], + "head": [ + "#include <sys/types.h>", + "#include <stdio.h>", + "extern \"C\" {" + ], + "include": "jpeglib.h", "tail": [ - "extern \"C\" {", - "#include <jpeglib.h>", "}", "", "j_compress_ptr cinfo;" @@ -279,7 +295,7 @@ }, "sources": [ { "libs": "-llibjpeg", "condition": "config.msvc" }, - { "libs": "-ljpeg", "condition": "!config.msvc" } + "-ljpeg" ] }, "libpng": { @@ -290,8 +306,11 @@ }, "sources": [ { "type": "pkgConfig", "args": "libpng" }, + { "libs": "-llibpng16", "condition": "config.msvc" }, { "libs": "-llibpng", "condition": "config.msvc" }, - { "libs": "-lpng", "condition": "!config.msvc" } + { "libs": "-lpng16", "condition": "!config.msvc" }, + { "libs": "-lpng", "condition": "!config.msvc" }, + { "libs": "-s USE_LIBPNG=1", "condition": "config.wasm" } ], "use": [ { "lib": "zlib", "condition": "features.system-zlib" } @@ -393,13 +412,15 @@ "v4l2": { "label": "V4L2", "test": { + "head": [ + "#include <cstddef>", + "extern \"C\" {" + ], "include": [ - "cstddef" + "mediactl/mediactl.h", + "mediactl/v4l2subdev.h" ], "tail": [ - "extern \"C\" {", - "#include <mediactl/mediactl.h>", - "#include <mediactl/v4l2subdev.h>", "}" ], "main": [ @@ -439,18 +460,18 @@ ] }, "xcb": { - "label": "XCB >= 1.5 (core)", + "label": "XCB >= 1.9 (core)", "test": { "include": "xcb/xcb.h", "main": [ "int primaryScreen = 0;", "(void)xcb_connect(\"\", &primaryScreen);", - "// This won't compile unless libxcb >= 1.5 which defines XCB_ATOM_PRIMARY.", - "int xcbAtomPrimary = XCB_ATOM_PRIMARY;" + "// This won't compile unless libxcb >= 1.9 which defines XCB_CONN_CLOSED_INVALID_SCREEN.", + "int xcbScreenError = XCB_CONN_CLOSED_INVALID_SCREEN;" ] }, "sources": [ - { "type": "pkgConfig", "args": "xcb >= 1.5" }, + { "type": "pkgConfig", "args": "xcb >= 1.9" }, "-lxcb" ] }, @@ -566,33 +587,22 @@ "-lxcb-glx -lxcb" ] }, - "xinput2": { - "label": "Xinput2", + "xcb_xinput": { + "label": "XCB XInput", "test": { - "include": [ "X11/Xlib.h", "X11/extensions/XInput2.h", "X11/extensions/Xge.h" ], - "tail": [ - "#ifndef XInput_2_0", - "# error Missing XInput_2_0 #define", - "#endif" - ], + "include": [ "xcb/xcb.h", "xcb/xinput.h" ], "main": [ - "// need XGenericEventCookie for XInput2 to work", - "Display *dpy = 0;", - "XEvent xevent;", - "XIEvent *xievent = 0;", - "XIDeviceEvent *xideviceevent = 0;", - "XIHierarchyEvent *xihierarchyevent = 0;", - "int deviceid = 0;", - "int len = 0;", - "(void) XGetEventData(dpy, &xevent.xcookie);", - "XFreeEventData(dpy, &xevent.xcookie);", - "(void) XIListProperties(dpy, deviceid, &len);" - ], - "qmake": "CONFIG += x11" + "int primaryScreen = 0;", + "xcb_connection_t *connection = xcb_connect(\"\", &primaryScreen);", + "xcb_generic_error_t *error = 0;", + "xcb_input_xi_query_version_cookie_t xinput_query_cookie = xcb_input_xi_query_version(", + " connection, XCB_INPUT_MAJOR_VERSION, XCB_INPUT_MINOR_VERSION);", + "xcb_input_xi_query_version_reply(connection, xinput_query_cookie, &error);" + ] }, "sources": [ - { "type": "pkgConfig", "args": "xi" }, - "-lXi" + { "type": "pkgConfig", "args": "xcb-xinput >= 1.12 xcb" }, + "-lxcb-xinput -lxcb" ] }, "xkbcommon": { @@ -661,6 +671,26 @@ "fxc.exe" ] }, + "drm_atomic": { + "label": "DRM Atomic API", + "type": "compile", + "test": { + "head": [ + "#include <stdlib.h>", + "#include <stdint.h>", + "extern \"C\" {" + ], + "include": [ + "xf86drmMode.h", + "xf86drm.h" + ], + "tail": [ + "}" + ], + "main": "drmModeAtomicReq *request;" + }, + "use": "drm" + }, "egl-x11": { "label": "EGL on X11", "type": "compile", @@ -953,7 +983,7 @@ }, "evdev": { "label": "evdev", - "condition": "tests.evdev", + "condition": "features.thread && tests.evdev", "output": [ "privateFeature" ] }, "freetype": { @@ -1010,6 +1040,11 @@ "condition": "libs.drm", "output": [ "publicQtConfig", "privateFeature" ] }, + "drm_atomic": { + "label": "DRM Atomic API", + "condition": "libs.drm && tests.drm_atomic", + "output": [ "privateFeature" ] + }, "libinput": { "label": "libinput", "condition": "features.libudev && libs.libinput", @@ -1078,7 +1113,7 @@ }, "opengles3": { "label": "OpenGL ES 3.0", - "condition": "features.opengles2 && !features.angle && tests.opengles3", + "condition": "features.opengles2 && !features.angle && tests.opengles3 && !config.wasm", "output": [ "publicFeature", { "type": "define", "name": "QT_OPENGL_ES_3" } @@ -1105,7 +1140,7 @@ "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)" + || (!config.watchos && !config.win32 && !config.wasm && libs.opengl)" }, "opengl-dynamic": { "label": "Dynamic OpenGL", @@ -1139,7 +1174,7 @@ }, "egl_x11": { "label": "EGL on X11", - "condition": "features.egl && tests.egl-x11", + "condition": "features.thread && features.egl && tests.egl-x11", "output": [ "privateFeature" ] }, "eglfs": { @@ -1269,7 +1304,7 @@ "section": "Platform plugins", "autoDetect": "!config.darwin", "enable": "input.xcb == 'system' || input.xcb == 'qt' || input.xcb == 'yes'", - "condition": "libs.xcb", + "condition": "features.thread && libs.xcb", "output": [ "privateFeature" ] }, "system-xcb": { @@ -1327,10 +1362,10 @@ "condition": "features.sessionmanager && libs.x11sm", "output": [ "privateFeature" ] }, - "xinput2": { - "label": "Xinput2", + "xcb-xinput": { + "label": "XCB XInput", "emitIf": "features.xcb", - "condition": "features.xcb-xlib && libs.xinput2", + "condition": "!features.system-xcb || libs.xcb_xinput", "output": [ "privateFeature" ] }, "xkbcommon-evdev": { @@ -1542,7 +1577,7 @@ }, "multiprocess": { "label": "Multi process", - "description": "Provides support for detecting the desktop environment, launching external processes and opening URLs.", + "purpose": "Provides support for detecting the desktop environment, launching external processes and opening URLs.", "section": "Utilities", "condition": "!config.integrity", "output": [ "privateFeature" ] @@ -1701,7 +1736,7 @@ QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your pla "section": "X11", "condition": "features.xcb", "entries": [ - "system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system", "xcb-native-painting" + "system-xcb", "egl_x11", "xkb", "xlib", "xcb-render", "xcb-glx", "xcb-xinput", "xcb-xlib", "xkbcommon-system", "xcb-native-painting" ] }, { |