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>
This commit is contained in:
parent
75c9a058b3
commit
d34cae51fa
14
configure
vendored
14
configure
vendored
@ -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,9 +5139,11 @@ if [ "$CFG_XCB" != "no" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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
|
||||
if $PKG_CONFIG --exists "sm" 2>/dev/null && $PKG_CONFIG --exists "ice" 2>/dev/null; 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"
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user