diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/grc_usrp.m4 | 4 | ||||
-rw-r--r-- | config/usrp_fusb_tech.m4 | 15 | ||||
-rw-r--r-- | config/usrp_libusb.m4 | 64 |
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 ]) |