X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=config%2Fusrp_libusb.m4;h=593ffbd5cdfbb8fb2f027ede68a1e09f8b9c43c8;hb=0f03f1c1d460d865aeff91b9538266b0b210a357;hp=1d9cf0cbc437536b629d715bce9e6681cd4220ee;hpb=158caeaa92df7ffdf363236985f4b8e7825f3950;p=debian%2Fgnuradio diff --git a/config/usrp_libusb.m4 b/config/usrp_libusb.m4 index 1d9cf0cb..593ffbd5 100644 --- a/config/usrp_libusb.m4 +++ b/config/usrp_libusb.m4 @@ -17,25 +17,64 @@ 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]) - ]) - - 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" + libusbok=yes + have_libusb1=no + if test [x]$1 = xyes; then + PKG_CHECK_MODULES(USB, libusb-1.0, [have_libusb1=yes], [ + AC_LANG_PUSH(C) + + AC_CHECK_HEADERS([libusb-1.0/libusb.h], [have_libusb1=yes], + [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb.h not found. See http://www.libusb.org])]) + + AC_SEARCH_LIBS(libusb_bulk_transfer, [usb], [USB_LIBS="$LIBS"], + [libusbok=no; AC_MSG_RESULT([USRP requires libusb-1.0. libusb_bulk_transfer not found. See http://www.libusb.org])]) + + AC_LANG_POP + ]) + else + PKG_CHECK_MODULES(USB, libusb, [], [ + AC_LANG_PUSH(C) + + AC_CHECK_HEADERS([usb.h], [], + [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb.h not found. See http://www.libusb.org])]) - echo creating $outfile - cat > $tmpfile << _EOF_ + save_LIBS="$LIBS" + case "$host_os" in + darwin*) + LIBS="$LIBS -lIOKit" + ;; + *) ;; + esac + + AC_SEARCH_LIBS(usb_bulk_write, [usb], [USB_LIBS="$LIBS"], + [libusbok=no; AC_MSG_RESULT([USRP requires libusb. usb_bulk_write not found. See http://www.libusb.org])]) + + LIBS="$save_LIBS" + + AC_LANG_POP + ]) + 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_ /* -*- Mode: C++ -*- * -------------------------------------------------------------------- * DO NOT EDIT THIS FILE! It has been automatically generated @@ -45,55 +84,57 @@ 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 ' >> $tmpfile - echo '#include ' >> $tmpfile - echo >> $tmpfile - ;; - usrp_basic*) - echo '#include ' >> $tmpfile - echo '#include ' >> $tmpfile - echo '#include ' >> $tmpfile - echo '#include ' >> $tmpfile - echo '#include ' >> $tmpfile - echo '#include ' >> $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 = 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} + case "$CONFIG_OTHER" in + usrp_prims*) + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo >> $tmpfile + ;; + usrp_basic*) + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo '#include ' >> $tmpfile + echo >> $tmpfile ;; esac - ],[ - have_libusb1=$have_libusb1 - ]) + if test x$have_libusb1 = xno; then + echo 'struct usb_device;'>> $tmpfile + echo 'struct usb_dev_handle;'>> $tmpfile + echo 'struct usb_device_descriptor;' >> $tmpfile + echo 'typedef usb_device libusb_device;' >> $tmpfile + echo 'typedef usb_dev_handle libusb_device_handle;' >> $tmpfile + echo 'typedef usb_device_descriptor libusb_device_descriptor;' >> $tmpfile + echo >> $tmpfile + fi - AC_SUBST(USB_LIBS) - ifelse([$1], , :, [$1]) - else - ifelse([$2], , :, [$2]) - 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 + + ],[ + have_libusb1=$have_libusb1 + ]) + + AC_SUBST(USB_LIBS) + ifelse([$1], , :, [$1]) + else + ifelse([$2], , :, [$2]) + fi ])