summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure69
1 files changed, 52 insertions, 17 deletions
diff --git a/configure b/configure
index e112999508..3cc52b5541 100755
--- a/configure
+++ b/configure
@@ -901,7 +901,7 @@ CFG_USE_GNUMAKE=no
CFG_XINPUT2=auto
CFG_XINPUT=runtime
CFG_XKB=auto
-CFG_XKBCOMMON=no
+CFG_XKBCOMMON=auto
CFG_XCB=auto
CFG_XCB_GLX=no
CFG_EGLFS=auto
@@ -1839,6 +1839,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ xkbcommon)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
+ CFG_XKBCOMMON="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
xcb)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ] || [ "$VAL" = "qt" ]; then
CFG_XCB="$VAL"
@@ -2360,6 +2367,11 @@ if [ "$PLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
echo
fi
+if [ "$CFG_XCB" != "no" ] && [ "$CFG_XKBCOMMON" = "no" ]; then
+ echo "Error: -no-xkbcommon is not supported on XCB platform plugin."
+ exit 101
+fi
+
if [ "$CFG_SILENT" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG silent"
fi
@@ -3436,6 +3448,9 @@ Third Party Libraries:
(libxcb.so will still be used from operating system).
+ -system-xcb ........ Use xcb- libraries from the operating system.
+ -qt-xkbcommon ...... Use the xkbcommon library bundled with Qt.
+ + -system-xkbcommon .. Use the xkbcommon library from the operating system.
+
Additional options:
-make <part> ....... Add part to the list of parts to be built at make time.
@@ -5168,7 +5183,7 @@ if [ "$CFG_XCB" != "no" ]; then
fi
else
echo "The test for linking against libxcb and support libraries failed!"
- echo " You might need install dependency packages, or pass -qt-xcb."
+ echo " You might need to install dependency packages, or pass -qt-xcb."
echo " See src/plugins/platforms/xcb/README."
exit 1
fi
@@ -5258,18 +5273,32 @@ if [ "$CFG_KMS" != "no" ]; then
fi
# Detect libxkbcommon
-if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xkbcommon >= 0.2.0" 2>/dev/null; then
- QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
- QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
- QT_CONFIG="$QT_CONFIG xkbcommon"
- CFG_XKBCOMMON=yes
-elif [ "$CFG_XCB" != "no" ]; then
- QMakeVar add DEFINES QT_NO_XKBCOMMON
+ORIG_CFG_XKBCOMMON="$CFG_XKBCOMMON"
+if [ "$CFG_XKBCOMMON" != "qt" ]; then
+ # currently only xcb platform plugin requires xkbcommon, for other platforms it can be set to 'no'
+ if [ "$CFG_XKBCOMMON" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xkbcommon >= 0.2.0" 2>/dev/null; then
+ QMAKE_CFLAGS_XKBCOMMON="`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
+ QMAKE_LIBS_XKBCOMMON="`$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
+
+ QMakeVar set QMAKE_CFLAGS_XKBCOMMON "$QMAKE_CFLAGS_XKBCOMMON"
+ QMakeVar set QMAKE_LIBS_XKBCOMMON "$QMAKE_LIBS_XKBCOMMON"
+ CFG_XKBCOMMON=yes
+ else
+ CFG_XKBCOMMON=no
+ fi
+
+ if [ "$CFG_XCB" != "no" ] && [ "$CFG_XKBCOMMON" = "no" ]; then
+ # use the bundled version instead
+ CFG_XKBCOMMON=qt
+ fi
+ fi
fi
-if [ "$CFG_XKBCOMMON" != "no" ]; then
- QMakeVar set QMAKE_CFLAGS_XKBCOMMON "$QMAKE_CFLAGS_XKBCOMMON"
- QMakeVar set QMAKE_LIBS_XKBCOMMON "$QMAKE_LIBS_XKBCOMMON"
+if [ "$CFG_XKBCOMMON" = "qt" ]; then
+ QT_CONFIG="$QT_CONFIG xkbcommon-qt"
+elif [ "$CFG_XKBCOMMON" = "no" ]; then
+ QMakeVar add DEFINES QT_NO_XKBCOMMON
fi
# EGL Support
@@ -6744,7 +6773,14 @@ echo " SQLite 2 ............. $CFG_SQL_sqlite2"
echo " SQLite ............... $CFG_SQL_sqlite ($CFG_SQLITE)"
echo " TDS .................. $CFG_SQL_tds"
echo " udev ................... $CFG_LIBUDEV"
-echo " xkbcommon .............. $CFG_XKBCOMMON"
+if [ "$CFG_XKBCOMMON" = "no" ]; then
+ echo " xkbcommon............... no"
+else
+ xkbcommon_sys=system
+ [ "$CFG_XKBCOMMON" = "qt" ] && xkbcommon_sys=qt
+ echo " xkbcommon............... yes ($xkbcommon_sys)"
+ unset xkbcommon_sys
+fi
if [ "$CFG_ZLIB" = "no" ]; then
echo " zlib ................... no"
else
@@ -6772,10 +6808,9 @@ if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
echo
fi
-if [ "$CFG_XCB" != no ] && [ "$CFG_XKBCOMMON" = "no" ]; then
- echo "WARNING: XCB support enabled but libxkbcommon 0.2.0 (or higher) not found."
- echo "Not satisfying this requirement will disable the compose key functionality,"
- echo "which includes text input with dead keys."
+if [ "$ORIG_CFG_XKBCOMMON" != qt ] && [ "$CFG_XKBCOMMON" = qt ]; then
+ echo "NOTE: libxkbcommon 0.2.0 (or higher) not found on the system, will use "
+ echo "the bundled version from 3rd party directory."
fi
exec 1>&3 3>&- # restore stdout