diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 69 |
1 files changed, 52 insertions, 17 deletions
@@ -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 |