summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/grc_usrp.m44
-rw-r--r--config/usrp_fusb_tech.m415
-rw-r--r--config/usrp_libusb.m464
3 files changed, 56 insertions, 27 deletions
diff --git a/config/grc_usrp.m4 b/config/grc_usrp.m4
index 14c646081..286641928 100644
--- a/config/grc_usrp.m4
+++ b/config/grc_usrp.m4
@@ -44,8 +44,8 @@ AC_DEFUN([GRC_USRP],[
AC_CHECK_FUNCS([getrusage sched_setscheduler pthread_setschedparam])
AC_CHECK_FUNCS([sigaction snprintf])
- dnl Make sure libusb is installed; required for legacy USB
- USRP_LIBUSB([],[passed=no;AC_MSG_RESULT([Unable to find dependency libusb.])])
+ dnl Make sure libusb version is installed; required for legacy USB
+ USRP_LIBUSB([$req_libusb1],[],[passed=no;AC_MSG_RESULT([Unable to find dependency libusb.])])
dnl Make sure SDCC >= 2.4.0 is available.
USRP_SDCC([2.4.0],[],[passed=no;AC_MSG_RESULT([Unable to find firmware compiler SDCC.])])
diff --git a/config/usrp_fusb_tech.m4 b/config/usrp_fusb_tech.m4
index db857249b..b99cf2432 100644
--- a/config/usrp_fusb_tech.m4
+++ b/config/usrp_fusb_tech.m4
@@ -1,5 +1,5 @@
dnl
-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
@@ -25,6 +25,8 @@ dnl
# "" : do these tests
AC_DEFUN([USRP_SET_FUSB_TECHNIQUE],[
+ req_libusb1=no
+ USE_LIBUSB1=0
AC_ARG_WITH([fusb-tech],
AC_HELP_STRING([--with-fusb-tech=OS],
[Set fast USB technique (default=auto)]),
@@ -32,6 +34,11 @@ AC_DEFUN([USRP_SET_FUSB_TECHNIQUE],[
[cf_with_fusb_tech="$host_os"])
if test [x]$1 != xno; then
case "$cf_with_fusb_tech" in
+ libusb1*)
+ FUSB_TECH=libusb1
+ req_libusb1=yes
+ USE_LIBUSB1=1
+ ;;
linux*)
AC_CHECK_HEADER([linux/usbdevice_fs.h],
[x_have_usbdevice_fs_h=yes],
@@ -70,5 +77,11 @@ AC_DEFUN([USRP_SET_FUSB_TECHNIQUE],[
AM_CONDITIONAL(FUSB_TECH_win32, test x$FUSB_TECH = xwin32)
AM_CONDITIONAL(FUSB_TECH_generic, test x$FUSB_TECH = xgeneric)
AM_CONDITIONAL(FUSB_TECH_linux, test x$FUSB_TECH = xlinux)
+ AM_CONDITIONAL(FUSB_TECH_libusb1, test x$FUSB_TECH = xlibusb1)
AM_CONDITIONAL(FUSB_TECH_ra_wb, test x$FUSB_TECH = xra_wb)
+
+ AC_SUBST(USE_LIBUSB1)
+ AC_CONFIG_FILES([\
+ usrp/host/include/usrp/libusb_types.h \
+ ])
])
diff --git a/config/usrp_libusb.m4 b/config/usrp_libusb.m4
index cb3130c87..673fa994d 100644
--- a/config/usrp_libusb.m4
+++ b/config/usrp_libusb.m4
@@ -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,48 @@ 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], [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 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
])