Merge branch 'wip/libusb-1.0' of http://gnuradio.org/git/jcorgan into master
[debian/gnuradio] / config / usrp_libusb.m4
1 dnl Copyright 2003,2008,2009 Free Software Foundation, Inc.
2 dnl 
3 dnl This file is part of GNU Radio
4 dnl 
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)
8 dnl any later version.
9 dnl 
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.
14 dnl 
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.
19
20 # $1 is $req_libusb1:
21 #   yes : check libusb-1.0
22 #   no  : check libusb-0.12
23 #   ""  : check libusb-0.12
24
25
26 AC_DEFUN([USRP_LIBUSB], [
27   libusbok=yes
28   have_libusb1=no
29   if test [x]$1 = xyes; then
30     PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes], [
31       AC_LANG_PUSH(C)
32       AC_CHECK_HEADERS([libusb-1.0/libusb.h], [have_libusb1=yes],
33                        [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb.h not found. See http://www.libusb.org])])
34       AC_SEARCH_LIBS(libusb_bulk_transfer, [usb], [USB_LIBS="$LIBS"],
35                      [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb_bulk_transfer not found. See http://www.libusb.org])])
36       AC_LANG_POP
37     ])
38   else
39     PKG_CHECK_MODULES(USB, libusb, [], [
40       AC_LANG_PUSH(C)
41       AC_CHECK_HEADERS([usb.h], [],
42                        [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb.h not found. See http://www.libusb.org])])
43       save_LIBS="$LIBS"
44       case "$host_os" in
45         darwin*)
46           LIBS="$LIBS -lIOKit"
47           ;;
48         *) ;;
49       esac
50
51       AC_SEARCH_LIBS(usb_bulk_write, [usb], [USB_LIBS="$LIBS"],
52                      [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb_bulk_write not found. See http://www.libusb.org])])
53       LIBS="$save_LIBS"
54       AC_LANG_POP
55     ])
56   fi
57
58   if test x$libusbok = xyes; then
59     AC_SUBST(USB_LIBS)
60     ifelse([$2], , :, [$2])
61   else
62     ifelse([$3], , :, [$3])
63   fi
64 ])