Merge commit '38d5389f3054164a2f04d6e4e8fe381aa5ee03fc' into vrt
[debian/gnuradio] / config / usrp_libusb.m4
index cb3130c8730d953e0eafe4880e7782db5a360e49..73872eaef0fd619e95b090f578ec5c9887fae92b 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright 2003,2008 Free Software Foundation, Inc.
+dnl Copyright 2003,2008,2009 Free Software Foundation, Inc.
 dnl 
 dnl This file is part of GNU Radio
 dnl 
@@ -17,32 +17,52 @@ dnl along with GNU Radio; see the file COPYING.  If not, write to
 dnl the Free Software Foundation, Inc., 51 Franklin Street,
 dnl Boston, MA 02110-1301, USA.
 
-AC_DEFUN([USRP_LIBUSB], [
-    libusbok=yes
-    PKG_CHECK_MODULES(USB, libusb, [], [
-        AC_LANG_PUSH(C)
-
-       AC_CHECK_HEADERS([usb.h], [], [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb.h not found. See http://libusb.sf.net])])
-
-       save_LIBS="$LIBS"
-       case "$host_os" in
-         darwin*)
-           LIBS="$LIBS -lIOKit"
-            ;;
-         *) ;;
-        esac
+# $1 is $req_libusb1:
+#   yes : check libusb-1.0
+#   no  : check libusb-0.12
+#   ""  : check libusb-0.12
 
-       AC_SEARCH_LIBS(usb_bulk_write, [usb], [USB_LIBS="$LIBS"], [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb_bulk_write not found. See http://libusb.sf.net])])
 
-        LIBS="$save_LIBS"
+AC_DEFUN([USRP_LIBUSB], [
+  libusbok=yes
+  have_libusb1=no
+  if test [x]$1 = xyes; then
+    PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes], [
+      AC_LANG_PUSH(C)
+      AC_CHECK_HEADERS([libusb-1.0/libusb.h], [have_libusb1=yes],
+                       [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb.h not found. See http://www.libusb.org])])
+      AC_SEARCH_LIBS(libusb_bulk_transfer, [usb-1.0], [USB_LIBS="$LIBS"],
+                     [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb_bulk_transfer not found. See http://www.libusb.org])])
+      AC_LANG_POP
+    ])
+  else
+    PKG_CHECK_MODULES(USB, libusb, [], [
+      AC_LANG_PUSH(C)
+      AC_CHECK_HEADERS([usb.h], [],
+                       [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb.h not found. See http://www.libusb.org])])
+      save_LIBS="$LIBS"
+      case "$host_os" in
+        darwin*)
+          LIBS="$LIBS -lIOKit"
+          ;;
+        *) ;;
+      esac
 
-        AC_LANG_POP
+      AC_SEARCH_LIBS(usb_bulk_write, [usb], [USB_LIBS="$LIBS"],
+                     [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb_bulk_write not found. See http://www.libusb.org])])
+      LIBS="$save_LIBS"
+      AC_LANG_POP
     ])
+  fi
+
+  if x$USB_INCLUDEDIR != x; then
+    USB_INCLUDES=-I$USB_INCLUDEDIR
+  fi
 
-    if test x$libusbok = xyes; then
-        AC_SUBST(USB_LIBS)
-       ifelse([$1], , :, [$1])
-    else
-        ifelse([$2], , :, [$2])
-    fi
+  if test x$libusbok = xyes; then
+    AC_SUBST(USB_LIBS)
+    ifelse([$2], , :, [$2])
+  else
+    ifelse([$3], , :, [$3])
+  fi
 ])