summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2014-12-09 11:45:29 +0100
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2014-12-20 23:26:49 +0100
commite78ec1c48aa9e8912fe9ef96d5f0eb7ef66feadf (patch)
treecd49d317d97c54ce7163dae5af1e1b16bc9e49b5 /configure
parent4016b2500dcc0394da462390a94a88e2466e154c (diff)
Add libinput support
Supports relative pointer, axis, keyboard and touch events. libinput support is only available in combination with libudev. libxkbcommon is required to perform key mapping. For now the default keymap is used always (selected when building xkbcommon). [ChangeLog][QtGui] Added a plugin to get mouse, keyboard and touch events via libinput. Change-Id: I469d8992c0cd3e79225cefaeb931697baf86a92b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure173
1 files changed, 119 insertions, 54 deletions
diff --git a/configure b/configure
index 5024dc2e4e..d39478c3f5 100755
--- a/configure
+++ b/configure
@@ -643,6 +643,7 @@ CFG_XINPUT2=auto
CFG_XINPUT=runtime
CFG_XKB=auto
CFG_XKBCOMMON=yes
+CFG_XKBCOMMON_EVDEV=auto
CFG_XKB_CONFIG_ROOT=auto
CFG_XCB=auto
CFG_XCB_XLIB=auto
@@ -652,6 +653,7 @@ CFG_DIRECTFB=auto
CFG_LINUXFB=auto
CFG_KMS=auto
CFG_LIBUDEV=auto
+CFG_LIBINPUT=auto
CFG_OBSOLETE_WAYLAND=no
CFG_EVDEV=auto
CFG_TSLIB=auto
@@ -1722,7 +1724,14 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
- xkbcommon)
+ xkbcommon-evdev)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_XKBCOMMON_EVDEV="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
+ xkbcommon|xkbcommon-x11)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "qt" ] || [ "$VAL" = "system" ]; then
CFG_XKBCOMMON="$VAL"
else
@@ -1784,6 +1793,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ libinput)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_LIBINPUT="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
evdev)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_EVDEV="$VAL"
@@ -2360,74 +2376,77 @@ Configure options:
Third Party Libraries:
- -qt-zlib ........... Use the zlib bundled with Qt.
- + -system-zlib ....... Use zlib from the operating system.
- See http://www.gzip.org/zlib
+ -qt-zlib ............ Use the zlib bundled with Qt.
+ + -system-zlib ........ Use zlib from the operating system.
+ See http://www.gzip.org/zlib
- -no-mtdev ......... Do not compile mtdev support.
- + -mtdev ............. Enable mtdev support.
+ -no-mtdev ........... Do not compile mtdev support.
+ + -mtdev .............. Enable mtdev support.
- + -no-journald ....... Do not send logging output to journald.
- -journald .......... Send logging output to journald.
+ + -no-journald ........ Do not send logging output to journald.
+ -journald ........... Send logging output to journald.
- -no-gif ............ Do not compile GIF reading support.
+ -no-gif ............. Do not compile GIF reading support.
- -no-libpng ......... Do not compile PNG support.
- -qt-libpng ......... Use the libpng bundled with Qt.
- + -system-libpng ..... Use libpng from the operating system.
- See http://www.libpng.org/pub/png
+ -no-libpng .......... Do not compile PNG support.
+ -qt-libpng .......... Use the libpng bundled with Qt.
+ + -system-libpng ...... Use libpng from the operating system.
+ See http://www.libpng.org/pub/png
- -no-libjpeg ........ Do not compile JPEG support.
- -qt-libjpeg ........ Use the libjpeg bundled with Qt.
- + -system-libjpeg .... Use libjpeg from the operating system.
- See http://www.ijg.org
+ -no-libjpeg ......... Do not compile JPEG support.
+ -qt-libjpeg ......... Use the libjpeg bundled with Qt.
+ + -system-libjpeg ..... Use libjpeg from the operating system.
+ See http://www.ijg.org
- -no-freetype ....... Do not compile in Freetype2 support.
- -qt-freetype ....... Use the libfreetype bundled with Qt.
- + -system-freetype.... Use the libfreetype provided by the system (enabled if -fontconfig is active).
- See http://www.freetype.org
+ -no-freetype ........ Do not compile in Freetype2 support.
+ -qt-freetype ........ Use the libfreetype bundled with Qt.
+ + -system-freetype..... Use the libfreetype provided by the system (enabled if -fontconfig is active).
+ See http://www.freetype.org
- -no-harfbuzz ....... Do not compile HarfBuzz-NG support.
- * -qt-harfbuzz ....... Use HarfBuzz-NG bundled with Qt to do text shaping.
- It can still be disabled by setting
- the QT_HARFBUZZ environment variable to "old".
- -system-harfbuzz ... Use HarfBuzz-NG from the operating system
- to do text shaping. It can still be disabled
- by setting the QT_HARFBUZZ environment variable to "old".
- See http://www.harfbuzz.org
+ -no-harfbuzz ........ Do not compile HarfBuzz-NG support.
+ * -qt-harfbuzz ........ Use HarfBuzz-NG bundled with Qt to do text shaping.
+ It can still be disabled by setting
+ the QT_HARFBUZZ environment variable to "old".
+ -system-harfbuzz .... Use HarfBuzz-NG from the operating system
+ to do text shaping. It can still be disabled
+ by setting the QT_HARFBUZZ environment variable to "old".
+ See http://www.harfbuzz.org
- -no-openssl ........ Do not compile support for OpenSSL.
- + -openssl ........... Enable run-time OpenSSL support.
- -openssl-linked .... Enabled linked OpenSSL support.
+ -no-openssl ......... Do not compile support for OpenSSL.
+ + -openssl ............ Enable run-time OpenSSL support.
+ -openssl-linked ..... Enabled linked OpenSSL support.
- -qt-pcre ........... Use the PCRE library bundled with Qt.
- + -system-pcre ....... Use the PCRE library from the operating system.
+ -qt-pcre ............ Use the PCRE library bundled with Qt.
+ + -system-pcre ........ Use the PCRE library from the operating system.
- -qt-xcb ............ Use xcb- libraries bundled with Qt.
- (libxcb.so will still be used from operating system).
- + -system-xcb ........ Use xcb- libraries from the operating system.
+ -qt-xcb ............. Use xcb- libraries bundled with Qt.
+ (libxcb.so will still be used from operating system).
+ + -system-xcb ......... Use xcb- libraries from the operating system.
- -xkb-config-root ... Set default XKB config root. This option is used only together with -qt-xkbcommon.
- -qt-xkbcommon ...... Use the xkbcommon library bundled with Qt.
- + -system-xkbcommon .. Use the xkbcommon library from the operating system.
+ -xkb-config-root .... Set default XKB config root. This option is used only together with -qt-xkbcommon-x11.
+ -qt-xkbcommon-x11 ... Use the xkbcommon library bundled with Qt in combination with xcb.
+ + -system-xkbcommon-x11 Use the xkbcommon library from the operating system in combination with xcb.
- -no-xinput2 ........ Do not compile XInput2 support.
- * -xinput2 ........... Compile XInput2 support.
+ -no-xkbcommon-evdev . Do not use X-less xkbcommon when compiling libinput support.
+ * -xkbcommon-evdev .... Use X-less xkbcommon when compiling libinput support.
- -no-xcb-xlib........ Do not compile Xcb-Xlib support.
- * -xcb-xlib........... Compile Xcb-Xlib support.
+ -no-xinput2 ......... Do not compile XInput2 support.
+ * -xinput2 ............ Compile XInput2 support.
- -no-glib ........... Do not compile Glib support.
- + -glib .............. Compile Glib support.
+ -no-xcb-xlib......... Do not compile Xcb-Xlib support.
+ * -xcb-xlib............ Compile Xcb-Xlib support.
- -no-pulseaudio ..... Do not compile PulseAudio support.
- + -pulseaudio ........ Compile PulseAudio support.
+ -no-glib ............ Do not compile Glib support.
+ + -glib ............... Compile Glib support.
- -no-alsa ........... Do not compile ALSA support.
- + -alsa .............. Compile ALSA support.
+ -no-pulseaudio ...... Do not compile PulseAudio support.
+ + -pulseaudio ......... Compile PulseAudio support.
- -no-gtkstyle ....... Do not compile GTK theme support.
- + -gtkstyle .......... Compile GTK theme support.
+ -no-alsa ............ Do not compile ALSA support.
+ + -alsa ............... Compile ALSA support.
+
+ -no-gtkstyle ........ Do not compile GTK theme support.
+ + -gtkstyle ........... Compile GTK theme support.
Additional options:
@@ -2554,6 +2573,9 @@ Additional options:
OpenGL ES 2.0 and higher, or regular desktop OpenGL.
Use es2 for <api> to override auto-detection.
+ -no-libinput ........ Do not support libinput.
+ * -libinput ........... Enable libinput support.
+
* -no-system-proxies .. Do not use system network proxies by default.
-system-proxies ..... Use system network proxies by default.
@@ -2991,7 +3013,7 @@ if [ "$XPLATFORM_MAC" = "no" -a "$CFG_DEBUG_RELEASE" = "yes" ]; then
fi
if ( [ "$CFG_XCB" = "system" ] || [ "$CFG_XCB" = "qt" ] ) && [ "$CFG_XKBCOMMON" = "no" ]; then
- echo "Error: -no-xkbcommon is not supported on XCB platform plugin."
+ echo "Error: -no-xkbcommon-x11 is not supported on XCB platform plugin."
exit 101
fi
@@ -5086,6 +5108,47 @@ if [ "$CFG_TSLIB" = "no" ]; then
QMakeVar add DEFINES QT_NO_TSLIB
fi
+if [ "$CFG_XKBCOMMON_EVDEV" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
+ QMAKE_INCDIR_XKBCOMMON_EVDEV=`$PKG_CONFIG --cflags-only-I xkbcommon 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+ QMAKE_LIBS_XKBCOMMON_EVDEV=`$PKG_CONFIG --libs xkbcommon 2>/dev/null`
+ QMAKE_CFLAGS_XKBCOMMON_EVDEV=`$PKG_CONFIG --cflags xkbcommon 2>/dev/null`
+ QMakeVar set QMAKE_INCDIR_XKBCOMMON_EVDEV "$QMAKE_INCDIR_XKBCOMMON_EVDEV"
+ QMakeVar set QMAKE_LIBS_XKBCOMMON_EVDEV "$QMAKE_LIBS_XKBCOMMON_EVDEV"
+ fi
+ if compileTest unix/xkbcommon "xkbcommon" $QMAKE_CFLAGS_XKBCOMMON_EVDEV $QMAKE_LIBS_XKBCOMMON_EVDEV; then
+ CFG_XKBCOMMON_EVDEV=yes
+ QT_CONFIG="$QT_CONFIG xkbcommon-evdev"
+ elif [ "$CFG_XKBCOMMON_EVDEV" = "yes" ]; then
+ echo "The xkbcommon-evdev functionality test failed!"
+ exit 1
+ else
+ CFG_XKBCOMMON_EVDEV=no
+ fi
+fi
+
+if [ "$CFG_LIBINPUT" != "no" ] && [ "$CFG_LIBUDEV" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libinput 2>/dev/null; then
+ QMAKE_INCDIR_LIBINPUT=`$PKG_CONFIG --cflags-only-I libinput 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+ QMAKE_LIBS_LIBINPUT=`$PKG_CONFIG --libs libinput 2>/dev/null`
+ QMAKE_CFLAGS_LIBINPUT=`$PKG_CONFIG --cflags libinput 2>/dev/null`
+ QMakeVar set QMAKE_INCDIR_LIBINPUT "$QMAKE_INCDIR_LIBINPUT"
+ QMakeVar set QMAKE_LIBS_LIBINPUT "$QMAKE_LIBS_LIBINPUT"
+ fi
+ if compileTest unix/libinput "libinput" $QMAKE_CFLAGS_LIBINPUT $QMAKE_LIBS_LIBINPUT; then
+ CFG_LIBINPUT=yes
+ QT_CONFIG="$QT_CONFIG libinput"
+ elif [ "$CFG_LIBINPUT" = "yes" ]; then
+ echo "The libinput functionality test failed!"
+ exit 1
+ else
+ CFG_LIBINPUT=no
+ fi
+fi
+if [ "$CFG_LIBINPUT" = "no" ]; then
+ QMakeVar add DEFINES QT_NO_LIBINPUT
+fi
+
# Check we actually have X11 :-)
if compileTest x11/xlib "XLib"; then
QT_CONFIG="$QT_CONFIG xlib"
@@ -6716,6 +6779,7 @@ report_support_plugin " GIF .................." "$CFG_GIF" qt QtGui
report_support_plugin " JPEG ................." "$CFG_JPEG" "$CFG_LIBJPEG" QtGui
report_support_plugin " PNG .................." "$CFG_PNG" "$CFG_LIBPNG" QtGui
report_support " journald ..............." "$CFG_JOURNALD"
+report_support " libinput................" "$CFG_LIBINPUT"
report_support " mtdev .................." "$CFG_MTDEV" yes "system library"
report_support " Networking:"
[ "$XPLATFORM_MAC" = "yes" ] && \
@@ -6778,7 +6842,8 @@ report_support_plugin " SQLite ..............." "$CFG_SQL_sqlite" "$CFG_SQLIT
report_support " TDS .................." "$CFG_SQL_tds" plugin "plugin" yes "built into QtSql"
report_support " tslib .................." "$CFG_TSLIB"
report_support " udev ..................." "$CFG_LIBUDEV"
-report_support " xkbcommon .............." "$CFG_XKBCOMMON" system "system library" qt "bundled copy, XKB config root: $CFG_XKB_CONFIG_ROOT"
+report_support " xkbcommon-x11..........." "$CFG_XKBCOMMON" system "system library" qt "bundled copy, XKB config root: $CFG_XKB_CONFIG_ROOT"
+report_support " xkbcommon-evdev........." "$CFG_XKBCOMMON_EVDEV"
report_support " zlib ..................." "$CFG_ZLIB" system "system library" yes "bundled copy"
echo