summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorttsou2009-09-10 16:33:49 -0400
committerttsou2009-09-16 17:08:51 -0400
commit265484bfaaaab4f83c43a53c9e0fd307e205e5c4 (patch)
tree9fcd5f07c20367120dd9ca23d22d7eeb3e9f4e08 /config
parent98b30a4fc683d91458ccaefeaafbc8f4b783d17e (diff)
downloadgnuradio-265484bfaaaab4f83c43a53c9e0fd307e205e5c4.tar.gz
gnuradio-265484bfaaaab4f83c43a53c9e0fd307e205e5c4.tar.bz2
gnuradio-265484bfaaaab4f83c43a53c9e0fd307e205e5c4.zip
Autoconf support for checking the required version of libusb based on fusb-tech
Diffstat (limited to 'config')
-rw-r--r--config/grc_usrp.m44
-rw-r--r--config/usrp_fusb_tech.m44
-rw-r--r--config/usrp_libusb.m4131
3 files changed, 75 insertions, 64 deletions
diff --git a/config/grc_usrp.m4 b/config/grc_usrp.m4
index 14c646081..b9740aea7 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 0be6a0ec5..200cb36af 100644
--- a/config/usrp_fusb_tech.m4
+++ b/config/usrp_fusb_tech.m4
@@ -25,15 +25,17 @@ dnl
# "" : do these tests
AC_DEFUN([USRP_SET_FUSB_TECHNIQUE],[
+ req_libusb1=no
AC_ARG_WITH([fusb-tech],
AC_HELP_STRING([--with-fusb-tech=OS],
[Set fast USB technique (default=auto)]),
[cf_with_fusb_tech="$withval"],
- [cf_with_fusb_tech="libusb1"])
+ [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
;;
linux*)
AC_CHECK_HEADER([linux/usbdevice_fs.h],
diff --git a/config/usrp_libusb.m4 b/config/usrp_libusb.m4
index 1d9cf0cbc..e00e1e6c4 100644
--- a/config/usrp_libusb.m4
+++ b/config/usrp_libusb.m4
@@ -17,25 +17,34 @@ 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.
+# $1 is $req_libusb1:
+# yes : check libusb-1.0
+# no : check libusb-0.12
+# "" : check libusb-0.12
+
+
AC_DEFUN([USRP_LIBUSB], [
- libusbok=yes
- PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes; libusbok=yes], [
- PKG_CHECK_MODULES(USB, libusb, [have_libusb1=no; libusbok=yes], [libusbok=no])
- ])
+ libusbok=yes
- if test x$libusbok = xyes; then
- if test x$have_libusb1 = xyes; then
- AC_DEFINE(HAVE_LIBUSB_1, [1], [Define if libusb-1.0 found])
- fi
- AC_OUTPUT_COMMANDS([
- case "$CONFIG_OTHER" in
- usrp*)
- outfile=usrp/host/include/usrp/$CONFIG_OTHER
- tmpfile=${outfile}T
- dirname="sed s,^.*/,,g"
+ if test [x]$1 = xyes; then
+ PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes], [libusbok=no])
+ else
+ PKG_CHECK_MODULES(USB, libusb, [have_libusb1=no], [libusbok=no])
+ fi
+
+ if test x$libusbok = xyes; then
+ if test x$have_libusb1 = xyes; then
+ AC_DEFINE(HAVE_LIBUSB_1, [1], [Define if libusb-1.0 found])
+ fi
+ AC_OUTPUT_COMMANDS([
+ case "$CONFIG_OTHER" in
+ usrp*)
+ outfile=usrp/host/include/usrp/$CONFIG_OTHER
+ tmpfile=${outfile}T
+ dirname="sed s,^.*/,,g"
- echo creating $outfile
- cat > $tmpfile << _EOF_
+ echo creating $outfile
+ cat > $tmpfile << _EOF_
/* -*- Mode: C++ -*-
* --------------------------------------------------------------------
* DO NOT EDIT THIS FILE! It has been automatically generated
@@ -45,55 +54,55 @@ AC_DEFUN([USRP_LIBUSB], [
*/
_EOF_
- echo "#ifndef _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
- echo "#define _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
- echo >> $tmpfile
+ echo "#ifndef _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
+ echo "#define _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
+ echo >> $tmpfile
- case "$CONFIG_OTHER" in
- usrp_prims*)
- echo '#include <usrp/usrp_slots.h>' >> $tmpfile
- echo '#include <string>' >> $tmpfile
- echo >> $tmpfile
- ;;
- usrp_basic*)
- echo '#include <usrp/db_base.h>' >> $tmpfile
- echo '#include <usrp/usrp_slots.h>' >> $tmpfile
- echo '#include <string>' >> $tmpfile
- echo '#include <vector>' >> $tmpfile
- echo '#include <boost/utility.hpp>' >> $tmpfile
- echo '#include <usrp/usrp_subdev_spec.h>' >> $tmpfile
- echo >> $tmpfile
- ;;
- esac
+ case "$CONFIG_OTHER" in
+ usrp_prims*)
+ echo '#include <usrp/usrp_slots.h>' >> $tmpfile
+ echo '#include <string>' >> $tmpfile
+ echo >> $tmpfile
+ ;;
+ usrp_basic*)
+ echo '#include <usrp/db_base.h>' >> $tmpfile
+ echo '#include <usrp/usrp_slots.h>' >> $tmpfile
+ echo '#include <string>' >> $tmpfile
+ echo '#include <vector>' >> $tmpfile
+ echo '#include <boost/utility.hpp>' >> $tmpfile
+ echo '#include <usrp/usrp_subdev_spec.h>' >> $tmpfile
+ echo >> $tmpfile
+ ;;
+ esac
- if test x$have_libusb1 = xno; then
- echo 'struct usb_device;'>> $tmpfile
- echo 'struct usb_dev_handle;'>> $tmpfile
- echo 'typedef struct usb_device libusb_device;' >> $tmpfile
- echo 'typedef struct usb_dev_handle libusb_device_handle;' >> $tmpfile
- echo >> $tmpfile
- fi
+ if test x$have_libusb1 = xno; then
+ echo 'struct usb_device;'>> $tmpfile
+ echo 'struct usb_dev_handle;'>> $tmpfile
+ echo 'typedef struct usb_device libusb_device;' >> $tmpfile
+ echo 'typedef struct usb_dev_handle libusb_device_handle;' >> $tmpfile
+ echo >> $tmpfile
+ fi
- if test x$have_libusb1 = xyes; then
- echo 'struct libusb_device;' >> $tmpfile
- echo 'struct libusb_device_handle;' >> $tmpfile
- echo >> $tmpfile
- fi
+ if test x$have_libusb1 = xyes; then
+ echo 'struct libusb_device;' >> $tmpfile
+ echo 'struct libusb_device_handle;' >> $tmpfile
+ echo >> $tmpfile
+ fi
- # The ugly but portable cpp stuff comes from here
- infile=usrp/host/include/usrp/`echo $outfile | sed 's,.*/,,g;s,\..*$,,g'`.h.in
- sed '/^##.*$/d' $infile >> $tmpfile
- mv ${tmpfile} ${outfile}
- ;;
- esac
+ # The ugly but portable cpp stuff comes from here
+ infile=usrp/host/include/usrp/`echo $outfile | sed 's,.*/,,g;s,\..*$,,g'`.h.in
+ sed '/^##.*$/d' $infile >> $tmpfile
+ mv ${tmpfile} ${outfile}
+ ;;
+ esac
- ],[
- have_libusb1=$have_libusb1
- ])
+ ],[
+ have_libusb1=$have_libusb1
+ ])
- AC_SUBST(USB_LIBS)
- ifelse([$1], , :, [$1])
- else
- ifelse([$2], , :, [$2])
- fi
+ AC_SUBST(USB_LIBS)
+ ifelse([$1], , :, [$1])
+ else
+ ifelse([$2], , :, [$2])
+ fi
])