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 * --------------------------------------------------------------------
85 * Copyright 2005 Free Software Foundation, Inc.
87 * This file is part of GNU Radio
89 * GNU Radio is free software; you can redistribute it and/or modify
90 * it under the terms of the GNU General Public License as published by
91 * the Free Software Foundation; either version 3, or (at your option)
94 * GNU Radio is distributed in the hope that it will be useful,
95 * but WITHOUT ANY WARRANTY; without even the implied warranty of
96 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
97 * GNU General Public License for more details.
99 * You should have received a copy of the GNU General Public License
100 * along with GNU Radio; see the file COPYING. If not, write to
101 * the Free Software Foundation, Inc., 51 Franklin Street,
102 * Boston, MA 02110-1301, USA.
107 echo "#ifndef _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
108 echo "#define _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
111 case "$CONFIG_OTHER" in
113 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
114 echo '#include <string>' >> $tmpfile
118 echo '#include <usrp/db_base.h>' >> $tmpfile
119 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
120 echo '#include <string>' >> $tmpfile
121 echo '#include <vector>' >> $tmpfile
122 echo '#include <boost/utility.hpp>' >> $tmpfile
123 echo '#include <usrp/usrp_subdev_spec.h>' >> $tmpfile
128 if test x$have_libusb1 = xno; then
129 echo 'struct usb_device;'>> $tmpfile
130 echo 'struct usb_dev_handle;'>> $tmpfile
131 echo 'struct usb_device_descriptor;' >> $tmpfile
132 echo 'typedef usb_device libusb_device;' >> $tmpfile
133 echo 'typedef usb_dev_handle libusb_device_handle;' >> $tmpfile
134 echo 'typedef usb_device_descriptor libusb_device_descriptor;' >> $tmpfile
138 if test x$have_libusb1 = xyes; then
139 echo 'struct libusb_device;' >> $tmpfile
140 echo 'struct libusb_device_handle;' >> $tmpfile
141 echo 'struct libusb_device_descriptor;' >> $tmpfile
145 # The ugly but portable cpp stuff comes from here
146 infile=usrp/host/include/usrp/`echo $outfile | sed 's,.*/,,g;s,\..*$,,g'`.h.in
147 sed '/^##.*$/d' $infile >> $tmpfile
148 mv ${tmpfile} ${outfile}
153 have_libusb1=$have_libusb1
157 ifelse([$2], , :, [$2])
159 ifelse([$3], , :, [$3])