[Pcsclite-cvs-commit] r1843 - trunk/PCSC

Ludovic Rousseau rousseau at costa.debian.org
Mon Jan 30 14:06:21 UTC 2006


Author: rousseau
Date: 2006-01-30 14:06:18 +0000 (Mon, 30 Jan 2006)
New Revision: 1843

Modified:
   trunk/PCSC/configure.in
Log:
reuse libusb detection code from my CCID driver


Modified: trunk/PCSC/configure.in
===================================================================
--- trunk/PCSC/configure.in	2006-01-30 10:40:49 UTC (rev 1842)
+++ trunk/PCSC/configure.in	2006-01-30 14:06:18 UTC (rev 1843)
@@ -135,43 +135,55 @@
 # See if socket() is found from libsocket
 AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])
 
-AC_SUBST(LIBUSB)
-# --enable-libusb=DIR
+# --enable-libusb
 AC_ARG_ENABLE(libusb,
-  AC_HELP_STRING([--enable-libusb=PATH],[enable USB hotplug using libusb]),
-	[
-		case ${enableval} in
-			"" | "yes" | "YES")
-				;;
-			"no" | "NO")
-				use_libusb=false
-				;;
-			*)
-				use_libusb=false
-				libusb_prefix=${enableval}
-				AC_CHECK_LIB(usb, usb_init, [LIBUSB="$LIBUSB -lusb" use_libusb=true ], [ use_libusb=false ], "-L${libusb_prefix}/lib")
-				AC_CHECK_HEADERS(${libusb_prefix}/include/usb.h, [ use_libusb=true ], [ use_libusb=false ])
-				if test x$use_libusb = xtrue; then
-					CPPFLAGS="$CPPFLAGS -I${libusb_prefix}/include"
-					LDFLAGS="$LDFLAGS -L${libusb_prefix}/lib"
-				fi
-				;;
-		esac
-	]
-)
+	AC_HELP_STRING([--enable-libusb],[use libusb (default=yes)]),
+	[ use_libusb=no ], [ use_libusb=yes ] )
 
-# if use_libusb is not yet defined
-if test x$use_libusb = x; then
-	# check if libusb is available
-	AC_CHECK_HEADERS(usb.h, [ use_libusb=true ], [ use_libusb=false ])
-	AC_CHECK_LIB(usb, usb_init, [LIBUSB="$LIBUSB -lusb" use_libusb=true ], [ use_libusb=false ])
+# check if libusb is used
+if test "x$use_libusb" != xno ; then
+	PKG_CHECK_MODULES(LIBUSB, libusb, [],
+		[
+			AC_MSG_RESULT([no])
+			AC_CHECK_PROG([LIBUSBCONFIG], [libusb-config], [yes])
+
+			if test "$LIBUSBCONFIG" = "yes" ; then
+				LIBUSB_CFLAGS="$LIBUSB_CFLAGS `libusb-config --cflags`"
+				LIBUSB_LIBS="$LIBUSB_LIBS `libusb-config --libs`"
+			else
+				AC_MSG_WARN([libusb-config not found.])
+			fi
+		])
+
+	saved_CPPFLAGS="$CPPFLAGS"
+	saved_LIBS="$LIBS"
+
+	CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS"
+	LIBS="$LDFLAGS $LIBUSB_LIBS"
+
+	AC_CHECK_HEADERS(usb.h, [],
+		[ AC_MSG_ERROR([usb.h not found, use ./configure LIBUSB_CFLAGS=...]) ])
+
+	LIBS="$LIBS $COREFOUNDATION $IOKIT"
+
+	AC_MSG_CHECKING([for usb_init])
+	AC_TRY_LINK_FUNC(usb_init, [ AC_MSG_RESULT([yes]) ],
+		[ AC_MSG_ERROR([libusb not found, use ./configure LIBUSB_LIBS=...]) ])
+
+	AC_MSG_CHECKING([for usb_get_string_simple])
+	AC_TRY_LINK_FUNC(usb_get_string_simple, [ AC_MSG_RESULT([yes]) ],
+		[ AC_MSG_ERROR([your libusb is too old. install version 0.1.7 or above]) ])
+
+	CPPFLAGS="$saved_CPPFLAGS"
+	LIBS="$saved_LIBS"
 fi
+AC_SUBST(LIBUSB_CFLAGS)
+AC_SUBST(LIBUSB_LIBS)
 
-AC_MSG_RESULT([enable libusb support         : $use_libusb])
-
 if test x$use_libusb = xtrue; then
   AC_DEFINE(HAVE_LIBUSB,1, [Libusb is available])
 fi
+AC_MSG_RESULT([enable libusb support         : $use_libusb])
 
 # --enable-usbdropdir=DIR
 AC_ARG_ENABLE(usbdropdir,




More information about the Pcsclite-cvs-commit mailing list