1 dnl Copyright 2003,2008 Free Software Foundation, Inc.
3 dnl This file is part of GNU Radio
5 dnl GNU Radio is free software; you can redistribute it and/or modify
6 dnl it under the terms of the GNU General Public License as published by
7 dnl the Free Software Foundation; either version 3, or (at your option)
10 dnl GNU Radio is distributed in the hope that it will be useful,
11 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 dnl GNU General Public License for more details.
15 dnl You should have received a copy of the GNU General Public License
16 dnl along with GNU Radio; see the file COPYING. If not, write to
17 dnl the Free Software Foundation, Inc., 51 Franklin Street,
18 dnl Boston, MA 02110-1301, USA.
21 # yes : check libusb-1.0
22 # no : check libusb-0.12
23 # "" : check libusb-0.12
26 AC_DEFUN([USRP_LIBUSB], [
29 if test [x]$1 = xyes; then
30 PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes], [
33 AC_CHECK_HEADERS([libusb-1.0/libusb.h], [have_libusb1=yes],
34 [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb.h not found. See http://www.libusb.org])])
36 AC_SEARCH_LIBS(libusb_bulk_transfer, [usb], [USB_LIBS="$LIBS"],
37 [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb_bulk_transfer not found. See http://www.libusb.org])])
42 PKG_CHECK_MODULES(USB, libusb, [], [
45 AC_CHECK_HEADERS([usb.h], [],
46 [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb.h not found. See http://www.libusb.org])])
56 AC_SEARCH_LIBS(usb_bulk_write, [usb], [USB_LIBS="$LIBS"],
57 [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb_bulk_write not found. See http://www.libusb.org])])
65 if test x$libusbok = xyes; then
66 if test x$have_libusb1 = xyes; then
67 AC_DEFINE(HAVE_LIBUSB_1, [1], [Define if libusb-1.0 found])
70 case "$CONFIG_OTHER" in
72 outfile=usrp/host/include/usrp/$CONFIG_OTHER
74 dirname="sed s,^.*/,,g"
76 echo creating $outfile
77 cat > $tmpfile << _EOF_
79 * --------------------------------------------------------------------
80 * DO NOT EDIT THIS FILE! It has been automatically generated
81 * from: configure.in and `echo $outfile|$dirname`.in
82 * on host: `(hostname || uname -n) 2>/dev/null | sed 1q`
83 * --------------------------------------------------------------------
87 echo "#ifndef _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
88 echo "#define _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
91 case "$CONFIG_OTHER" in
93 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
94 echo '#include <string>' >> $tmpfile
98 echo '#include <usrp/db_base.h>' >> $tmpfile
99 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
100 echo '#include <string>' >> $tmpfile
101 echo '#include <vector>' >> $tmpfile
102 echo '#include <boost/utility.hpp>' >> $tmpfile
103 echo '#include <usrp/usrp_subdev_spec.h>' >> $tmpfile
108 if test x$have_libusb1 = xno; then
109 echo 'struct usb_device;'>> $tmpfile
110 echo 'struct usb_dev_handle;'>> $tmpfile
111 echo 'struct usb_device_descriptor;' >> $tmpfile
112 echo 'typedef usb_device libusb_device;' >> $tmpfile
113 echo 'typedef usb_dev_handle libusb_device_handle;' >> $tmpfile
114 echo 'typedef usb_device_descriptor libusb_device_descriptor;' >> $tmpfile
118 if test x$have_libusb1 = xyes; then
119 echo 'struct libusb_device;' >> $tmpfile
120 echo 'struct libusb_device_handle;' >> $tmpfile
124 # The ugly but portable cpp stuff comes from here
125 infile=usrp/host/include/usrp/`echo $outfile | sed 's,.*/,,g;s,\..*$,,g'`.h.in
126 sed '/^##.*$/d' $infile >> $tmpfile
127 mv ${tmpfile} ${outfile}
132 have_libusb1=$have_libusb1
136 ifelse([$1], , :, [$1])
138 ifelse([$2], , :, [$2])