---
 configure.in |   35 +++++++++++------------------------
 1 file changed, 11 insertions(+), 24 deletions(-)

--- a/configure.in
+++ b/configure.in
@@ -8,30 +8,17 @@
 AM_PROG_LIBTOOL
 AC_PROG_CXX
 
-dnl check for libusb-config
-AC_CHECK_TOOL(HAVELIBUSB, libusb-config)
-
-if test ! -z "$HAVELIBUSB"; then
-   LIBUSB_CFLAGS=`$HAVELIBUSB --cflags`
-   LIBUSB_LIBS=`$HAVELIBUSB --libs`
-
-   CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
-   LIBS="$LIBS $LIBUSB_LIBS"
-else
-   AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation.])
-fi
-
-dnl check for version of libusb
-AC_MSG_CHECKING([if libusb version is >= 0.1.7])
-libusb_version_needed="1007"
-libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
+dnl check for libusb
+PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.11)
+CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
+LIBS="$LIBS $LIBUSB_LIBS"
 
-if test $libusb_version -lt $libusb_version_needed; then
-   AC_MSG_RESULT(no)
-   AC_MSG_ERROR([*** libusb is too old ($libusb_version). You need a libusb installation newer or equal to 0.1.7.])
-else
-   AC_MSG_RESULT(yes)
-fi
+dnl Check for recent pkg-config which supports Requires.private
+case `$PKG_CONFIG --version` in
+0.?|0.1[0-7]) PKGCONFIG_REQUIRES="Requires"; ;;
+*) PKGCONFIG_REQUIRES="Requires.private"; ;;
+esac
+AC_SUBST(PKGCONFIG_REQUIRES)
 
 ENABLE_ASYNC_MODE=0
 AC_ARG_WITH(async-mode,
