Query udev build parameters from pkg-config
authorDonald Carr <donald.carr@nokia.com>
Fri, 2 Mar 2012 04:58:33 +0000 (04:58 +0000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 6 Mar 2012 23:10:09 +0000 (00:10 +0100)
Change-Id: Ia3b7329d7359684ee7bf572a7e5fb681105108f4
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
config.tests/unix/libudev/libudev.pro
configure
mkspecs/common/linux.conf
src/platformsupport/udev/udev.pri
src/plugins/generic/evdevkeyboard/evdevkeyboard.pro
src/plugins/generic/evdevmouse/evdevmouse.pro
src/plugins/generic/evdevtouch/evdevtouch.pro

index 7f571b5..28b8980 100644 (file)
@@ -1,3 +1,4 @@
 SOURCES = libudev.cpp
 CONFIG -= qt
-LIBS += -ludev
+LIBS += $$QMAKE_LIBS_LIBUDEV
+INCLUDEPATH += $$QMAKE_INCDIR_LIBUDEV
index 90e0a5f..f29df99 100755 (executable)
--- a/configure
+++ b/configure
@@ -5294,7 +5294,13 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
     fi
 
     if [ "$CFG_LIBUDEV" != "no" ]; then
-        if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS; then
+       if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
+           QMAKE_INCDIR_LIBUDEV=`$PKG_CONFIG --cflags-only-I libudev 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+           QMAKE_LIBS_LIBUDEV=`$PKG_CONFIG --libs libudev 2>/dev/null`
+           QMakeVar set QMAKE_INCDIR_LIBUDEV "$QMAKE_INCDIR_LIBUDEV"
+           QMakeVar set QMAKE_LIBS_LIBUDEV "$QMAKE_LIBS_LIBUDEV"
+       fi
+       if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libudev "libudev" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_INCDIR_LIBUDEV $QMAKE_LIBS_LIBUDEV; then
             CFG_LIBUDEV=yes
             QT_CONFIG="$QT_CONFIG libudev"
         elif [ "$CFG_LIBUDEV" = "yes" ]; then
@@ -6890,6 +6896,7 @@ else
 fi
 echo "zlib support ........... $CFG_ZLIB"
 echo "Session management ..... $CFG_SM"
+echo "libudev support ........ $CFG_LIBUDEV"
 
 if [ "$CFG_OPENGL" = "desktop" ]; then
     echo "OpenGL support ......... yes (Desktop OpenGL)"
index a809a6b..384c013 100644 (file)
@@ -34,6 +34,7 @@ QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
 QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
 QMAKE_LIBS_OPENVG     = -lOpenVG
 QMAKE_LIBS_THREAD     = -lpthread
+QMAKE_LIBS_LIBUDEV    = -ludev
 
 QMAKE_CFLAGS_WAYLAND =
 QMAKE_INCDIR_WAYLAND =
index 21c71d5..c99d4b6 100644 (file)
@@ -1,4 +1,6 @@
 contains(QT_CONFIG, libudev) {
     HEADERS += $$PWD/qudevhelper_p.h $$PWD/qudevicehelper_p.h
     SOURCES += $$PWD/qudevhelper.cpp $$PWD/qudevicehelper.cpp
+
+    INCLUDEPATH += $$QMAKE_INCDIR_LIBUDEV
 }
index 82edf17..21e4bf6 100644 (file)
@@ -12,11 +12,11 @@ HEADERS = \
 
 QT += core-private platformsupport-private
 
-LIBS += -ludev
-
 SOURCES = main.cpp \
     qevdevkeyboardhandler.cpp \
     qevdevkeyboardmanager.cpp
 
 OTHER_FILES += \
     evdevkeyboard.json
+
+LIBS += $$QMAKE_LIBS_LIBUDEV
index c5d162f..781d901 100644 (file)
@@ -14,3 +14,5 @@ SOURCES = main.cpp \
 
 OTHER_FILES += \
     evdevmouse.json
+
+LIBS += $$QMAKE_LIBS_LIBUDEV
index f9fb4a6..192a87c 100644 (file)
@@ -16,6 +16,8 @@ QT += core-private platformsupport-private
 OTHER_FILES += \
     evdevtouch.json
 
+LIBS += $$QMAKE_LIBS_LIBUDEV
+
 # DEFINES += USE_MTDEV
 
 contains(DEFINES, USE_MTDEV): LIBS += -lmtdev