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/lib/$CONFIG_OTHER
75 outfile=usrp/host/include/usrp/$CONFIG_OTHER
79 case "$CONFIG_OTHER" in
82 dirname="sed s,^.*/,,g"
84 echo creating $outfile
85 cat > $tmpfile << _EOF_
87 * --------------------------------------------------------------------
88 * DO NOT EDIT THIS FILE! It has been automatically generated
89 * from: configure.in and `echo $outfile|$dirname`.in
90 * on host: `(hostname || uname -n) 2>/dev/null | sed 1q`
91 * --------------------------------------------------------------------
93 * Copyright 2005 Free Software Foundation, Inc.
95 * This file is part of GNU Radio
97 * GNU Radio is free software; you can redistribute it and/or modify
98 * it under the terms of the GNU General Public License as published by
99 * the Free Software Foundation; either version 3, or (at your option)
102 * GNU Radio is distributed in the hope that it will be useful,
103 * but WITHOUT ANY WARRANTY; without even the implied warranty of
104 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
105 * GNU General Public License for more details.
107 * You should have received a copy of the GNU General Public License
108 * along with GNU Radio; see the file COPYING. If not, write to
109 * the Free Software Foundation, Inc., 51 Franklin Street,
110 * Boston, MA 02110-1301, USA.
114 echo "#ifndef _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
115 echo "#define _`echo $outfile | $dirname | tr a-z. A-Z_`_" >> $tmpfile
118 case "$CONFIG_OTHER" in
120 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
121 echo '#include <string>' >> $tmpfile
125 echo '#include <usrp/db_base.h>' >> $tmpfile
126 echo '#include <usrp/usrp_slots.h>' >> $tmpfile
127 echo '#include <string>' >> $tmpfile
128 echo '#include <vector>' >> $tmpfile
129 echo '#include <boost/utility.hpp>' >> $tmpfile
130 echo '#include <usrp/usrp_subdev_spec.h>' >> $tmpfile
135 if test x$have_libusb1 = xno; then
136 echo 'struct usb_device;'>> $tmpfile
137 echo 'struct usb_dev_handle;'>> $tmpfile
138 echo 'struct usb_device_descriptor;' >> $tmpfile
140 echo 'typedef struct usb_device libusb_device;' >> $tmpfile
141 echo 'typedef struct usb_dev_handle libusb_device_handle;' >> $tmpfile
142 echo 'typedef struct usb_device_descriptor libusb_device_descriptor;' >> $tmpfile
146 if test x$have_libusb1 = xyes; then
147 echo 'struct libusb_device;' >> $tmpfile
148 echo 'struct libusb_device_handle;' >> $tmpfile
149 echo 'struct libusb_device_descriptor;' >> $tmpfile
153 # The ugly but portable cpp stuff comes from here
154 infile=usrp/host/lib/`echo $outfile | sed 's,.*/,,g;s,\..*$,,g'`.h.in
155 sed '/^##.*$/d' $infile >> $tmpfile
156 mv -f ${tmpfile} ${outfile}
161 have_libusb1=$have_libusb1
165 ifelse([$2], , :, [$2])
167 ifelse([$3], , :, [$3])