summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2013-11-28 13:07:09 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-28 12:57:33 +0100
commitd34cae51fa7b3952b651401c9e43ffd7b3d0d32c (patch)
treebea7613548a978a5a36a7e1550c199633927cc2d
parent75c9a058b3524de0e7b0575ead85b60be745e874 (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-xconfigure18
-rw-r--r--src/plugins/platforms/xcb/xcb-plugin.pro18
2 files changed, 25 insertions, 11 deletions
diff --git a/configure b/configure
index 72c13ab75d..a20fdaa0bc 100755
--- a/configure
+++ b/configure
@@ -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
}
}