diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-12-21 20:33:20 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-12-07 23:49:15 +0000 |
commit | 501ff0a18cff37cf0d237cd2b04b35fff1bd0837 (patch) | |
tree | f6d10e1fbedcde27b8920ab3f57d77ad375528ef | |
parent | 3ee7aa72b78d892153439b668aa9f0a786d9f70e (diff) |
untangle the egl-x11 relationship in the build system
egl-x11 is used in two places:
- the eglfs-x11 plugin, which has a hard dependency on xcb-xlib
- the xcb-egl plugin, which has a soft dependency on xcb-xlib
that means that the egl-x11 configure test needs to be untangled from
xcb, and that eglfs-x11 should be a separate feature with a proper
dependency declaration.
when the plugins that need egl-x11 are not built, it also makes no sense
to build the respective integration in the egl_support module (even if
it's possible to coax it into building), so adjust things accordingly.
Change-Id: Ic729d0b7c893dd00844567329205c24ea2703033
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
-rw-r--r-- | src/gui/configure.json | 11 | ||||
-rw-r--r-- | src/platformsupport/eglconvenience/eglconvenience.pro | 8 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro | 2 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/gui/configure.json b/src/gui/configure.json index 7b78954038..7585e9c8d4 100644 --- a/src/gui/configure.json +++ b/src/gui/configure.json @@ -715,7 +715,7 @@ "// window and pixmap types will be different than what an X-based platform", "// plugin would expect." ], - "include": [ "EGL/egl.h", "xcb/xcb.h", "X11/Xlib.h", "X11/Xlib-xcb.h" ], + "include": [ "EGL/egl.h", "X11/Xlib.h" ], "main": [ "Display *dpy = EGL_DEFAULT_DISPLAY;", "EGLNativeDisplayType egldpy = XOpenDisplay(\"\");", @@ -725,7 +725,7 @@ "XCloseDisplay(dpy);" ] }, - "use": "egl xcb_xlib" + "use": "egl xlib" }, "egl-brcm": { "label": "Broadcom EGL (Raspberry Pi)", @@ -1229,6 +1229,11 @@ "condition": "config.integrity && features.eglfs && tests.egl-openwfd", "output": [ "privateFeature" ] }, + "eglfs_x11": { + "label": "EGLFS X11", + "condition": "features.eglfs && features.xcb && features.xcb-xlib && features.egl_x11", + "output": [ "privateFeature" ] + }, "gif": { "label": "GIF", "condition": "features.imageformatplugin", @@ -1709,7 +1714,7 @@ QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your pla "section": "EGLFS details", "condition": "features.eglfs", "entries": [ - "eglfs_openwfd", "eglfs_viv", "eglfs_viv_wl", "eglfs_rcar", "eglfs_egldevice", "eglfs_gbm", "eglfs_vsp2", "eglfs_mali", "eglfs_brcm", "egl_x11" + "eglfs_openwfd", "eglfs_viv", "eglfs_viv_wl", "eglfs_rcar", "eglfs_egldevice", "eglfs_gbm", "eglfs_vsp2", "eglfs_mali", "eglfs_brcm", "eglfs_x11" ] }, "linuxfb", "vnc", "mirclient", diff --git a/src/platformsupport/eglconvenience/eglconvenience.pro b/src/platformsupport/eglconvenience/eglconvenience.pro index aae72e8e27..df21f14697 100644 --- a/src/platformsupport/eglconvenience/eglconvenience.pro +++ b/src/platformsupport/eglconvenience/eglconvenience.pro @@ -26,15 +26,15 @@ qtConfig(opengl) { qeglpbuffer.cpp } -# Avoid X11 header collision, use generic EGL native types -DEFINES += QT_EGL_NO_X11 - -qtConfig(xlib) { +qtConfig(egl_x11) { HEADERS += \ qxlibeglintegration_p.h SOURCES += \ qxlibeglintegration.cpp QMAKE_USE_PRIVATE += xlib +} else { + # Avoid X11 header collision, use generic EGL native types + DEFINES += QT_EGL_NO_X11 } CONFIG += egl diff --git a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro index 919ecd01f6..360536d22f 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro @@ -1,7 +1,7 @@ TEMPLATE = subdirs QT_FOR_CONFIG += gui-private -qtConfig(egl_x11): SUBDIRS += eglfs_x11 +qtConfig(eglfs_x11): SUBDIRS += eglfs_x11 qtConfig(eglfs_gbm): SUBDIRS *= eglfs_kms_support eglfs_kms qtConfig(eglfs_egldevice): SUBDIRS *= eglfs_kms_support eglfs_kms_egldevice qtConfig(eglfs_vsp2): SUBDIRS += eglfs_kms_vsp2 |