diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-11-28 13:07:09 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-28 12:57:33 +0100 |
commit | d34cae51fa7b3952b651401c9e43ffd7b3d0d32c (patch) | |
tree | bea7613548a978a5a36a7e1550c199633927cc2d | |
parent | 75c9a058b3524de0e7b0575ead85b60be745e874 (diff) |
Add new configure parameter for Xcb-Xlib
This adds a new configuration parameter, xcb-xlib, which allows
overriding the configure test for that existing configuration option.
The use of xcb-xlib in the xcb platform plugin becomes the preferred path
for non-OpenGL ES 2 builds, while the EGL codepath is used otherwise.
This has the advantage that EGL can be used with Desktop OpenGL if Qt is
configured with -no-xcb-xlib.
Change-Id: I5018e31fe0399b94f020c671eff9414d00431c44
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/xcb-plugin.pro | 18 |
2 files changed, 25 insertions, 11 deletions
@@ -647,6 +647,7 @@ CFG_XINPUT=runtime CFG_XKB=auto CFG_XKBCOMMON=auto CFG_XCB=auto +CFG_XCB_XLIB=auto CFG_XCB_GLX=no CFG_EGLFS=auto CFG_DIRECTFB=auto @@ -1690,6 +1691,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + xcb-xlib) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XCB_XLIB="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; wayland) CFG_OBSOLETE_WAYLAND=yes ;; @@ -2335,6 +2343,9 @@ Third Party Libraries: -no-xinput2 ........ Do not compile XInput2 support. * -xinput2 ........... Compile XInput2 support. + -no-xcb-xlib........ Do not compile Xcb-Xlib support. + * -xcb-xlib........... Compile Xcb-Xlib support. + -no-glib ........... Do not compile Glib support. + -glib .............. Compile Glib support. @@ -5128,8 +5139,10 @@ if [ "$CFG_XCB" != "no" ]; then exit 1 fi - if compileTest qpa/xcb-xlib "xcb-xlib" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - QT_CONFIG="$QT_CONFIG xcb-xlib" + if [ "$CFG_XCB_XLIB" != "no" ]; then + if compileTest qpa/xcb-xlib "xcb-xlib" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then + QT_CONFIG="$QT_CONFIG xcb-xlib" + fi fi if [ "$CFG_SM" != "no" ] && [ -n "$PKG_CONFIG" ]; then @@ -6694,6 +6707,7 @@ report_support " LinuxFB .............." "$CFG_LINUXFB" report_support " XCB .................." "$CFG_XCB" system "system library" qt "bundled copy" if [ "$CFG_XCB" != "no" ]; then report_support " MIT-SHM ............" "$CFG_MITSHM" + report_support " Xcb-Xlib ..........." "$CFG_XCB_XLIB" report_support " Xcursor ............" "$CFG_XCURSOR" runtime "loaded at runtime" report_support " Xfixes ............." "$CFG_XFIXES" runtime "loaded at runtime" report_support " Xi ................." "$CFG_XINPUT" runtime "loaded at runtime" diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro index 4f69ca8aab..8968d020c4 100644 --- a/src/plugins/platforms/xcb/xcb-plugin.pro +++ b/src/plugins/platforms/xcb/xcb-plugin.pro @@ -81,15 +81,7 @@ contains(QT_CONFIG, xcb-sm) { } contains(QT_CONFIG, opengl) { - contains(QT_CONFIG, opengles2) { - DEFINES += XCB_USE_EGL - CONFIG += egl - HEADERS += qxcbeglsurface.h - - # EGL on MeeGo 1.2 Harmattan needs this macro to map EGLNativeDisplayType - # and other types to the correct X11 types - DEFINES += SUPPORT_X11 - } else:contains(QT_CONFIG, xcb-xlib) { + contains(QT_CONFIG, xcb-xlib):!contains(QT_CONFIG, opengles2) { DEFINES += XCB_USE_GLX HEADERS += qglxintegration.h SOURCES += qglxintegration.cpp @@ -98,6 +90,14 @@ contains(QT_CONFIG, opengl) { DEFINES += XCB_HAS_XCB_GLX LIBS += -lxcb-glx } + } else:contains(QT_CONFIG, egl) { + DEFINES += XCB_USE_EGL + CONFIG += egl + HEADERS += qxcbeglsurface.h + + # EGL on MeeGo 1.2 Harmattan needs this macro to map EGLNativeDisplayType + # and other types to the correct X11 types + DEFINES += SUPPORT_X11 } } |