diff options
Diffstat (limited to 'config/usrp_libusb.m4')
-rw-r--r-- | config/usrp_libusb.m4 | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/config/usrp_libusb.m4 b/config/usrp_libusb.m4 deleted file mode 100644 index cc3410f41..000000000 --- a/config/usrp_libusb.m4 +++ /dev/null @@ -1,273 +0,0 @@ -dnl Copyright 2003,2008,2009 Free Software Foundation, Inc. -dnl -dnl This file is part of GNU Radio -dnl -dnl GNU Radio is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 3, or (at your option) -dnl any later version. -dnl -dnl GNU Radio is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -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], [ - dnl do not use LDFLAGS, except on Windows - saved_LDFLAGS=${LDFLAGS} - case "$host_os" in - cygwin* | mingw*) - ;; - *) - LDFLAGS= - ;; - esac - - dnl this variable is set in usrp/usrp.pc.in as a requirement - dnl for libusrp; it is OK to be empty. - LIBUSB_PKG_CONFIG_NAME= - - dnl for Windows (cygin, mingw), do not use PKGCONFIG since LIBUSB - dnl does not install a .pc file. For all other OSs, use - dnl PKGCONFIG to check for various package names first. - libusb_list='' - case "$host_os" in - cygwin* | mingw*) - libusb_list='libusb' - ;; - *) - dnl create the list of libusb PKGCONFIG modules to test - if test x$1 = xyes; then - dnl libusb-1.0 was requested; just test for it - libusb_list="libusb-1.0" - else - dnl test for legacy libusb only - libusb_list="libusb libusb-legacy" - fi - ;; - esac - - dnl loop over various possible 'libusb' names, and - dnl choose the first one that meets both the user's selection - dnl (via configure flags) as well as what is installed - for libusb_name in ${libusb_list}; do - dnl clear internal variables - libusbok=no - have_libusb1=no - usb_header='' - usb_lib_func='' - usb_lib_name='' - - case "$host_os" in - cygwin* | mingw*) - USB_INCLUDEDIR= - USB_INCLUDES= - USB_LIBS=-lusb - usb_header='usb.h' - usb_lib_func='usb_bulk_write' - libusbok=yes - ;; - *) - dnl start checks - AC_MSG_NOTICE([Checking for LIBUSB version '${libusb_name}']) - if test ${libusb_name} = "libusb-1.0"; then - dnl see if the pkgconfig module is available - PKG_CHECK_MODULES(USB, ${libusb_name}, [ - libusbok=yes - have_libusb1=yes - usb_header='libusb-1.0/libusb.h' - usb_lib_func='libusb_bulk_transfer' - ], [libusbok=no]) - else - dnl see if the pkgconfig module is available - PKG_CHECK_MODULES(USB, ${libusb_name}, [ - libusbok=yes - usb_header='usb.h' - usb_lib_func='usb_bulk_write' - ], [libusbok=no]) - fi - ;; - esac - if test $libusbok = yes; then - dnl PKGCONFIG found a version of LIBUSB, or the info was - dnl provided by the user, or the OS is Windows. - - dnl Check it to make sure it meets enough criteria: - dnl Verify that $usb_header is a valid header. If so, then - dnl verify that $usb_lib_func can be found in the library - dnl $usb_lib_name. if so, verify that the symbol 'usb_debug' is - dnl found in the library if not using Windows. - - dnl Check for the header. Similar to AC_CHECK_HEADERS, - dnl but doesn't append to known \#defines. - dnl If PKGCONFIG found variable USB_INCLUDEDIR, and it is - dnl not empty, use it for checking for $usb_header. - dnl Otherwise, maybe the user's shell environment is already - dnl configured to find this header. - AC_LANG_PUSH(C) - save_CPPFLAGS="$CPPFLAGS" - if test x$USB_INCLUDEDIR != x; then - USB_INCLUDES="-I$USB_INCLUDEDIR" - CPPFLAGS="$USB_INCLUDES" - fi - AC_MSG_CHECKING([$libusb_name for header $usb_header]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include "$usb_header" - ]], [])], - [libusbok=yes],[libusbok=no]) - AC_MSG_RESULT([$libusbok]) - CPPFLAGS="$save_CPPFLAGS" - AC_LANG_POP(C) - - if test $libusbok = yes; then - dnl found the header; now make sure the library is OK - dnl On Darwin, need to include the IOKit library. - - AC_LANG_PUSH(C) - save_LIBS="$LIBS" - case "$host_os" in - darwin*) - USB_LIBS="$USB_LIBS -lIOKit" - ;; - *) ;; - esac - LIBS="$USB_LIBS" - - dnl find the library link name - usb_lib_name=`echo $USB_LIBS | sed -e "s@.*-l\(usb[[^ ]]*\).*@\1@"` - - dnl Check for the function in the library. Similar to - dnl AC_CHECK_LIB, but doesn't append to known \#defines. - AC_MSG_CHECKING([$libusb_name for function $usb_lib_func in library $usb_lib_name]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #ifdef __cplusplus - extern "C" - #endif - char $usb_lib_func (); - ]], [[return $usb_lib_func ();]])], - [libusbok=yes],[libusbok=no]) - AC_MSG_RESULT([$libusbok]) - LIBS="$save_LIBS" - AC_LANG_POP(C) - - if test $libusbok = yes; then - if test ${libusb_name} != "libusb-1.0"; then - dnl PKGCONFIG found a legacy version of libusb; make sure the - dnl variable _usb_debug is available in the found library. - dnl Do not test on Windows, since that symbol is not defined. - case "$host_os" in - cygwin* | mingw*) - ;; - *) - AC_LANG_PUSH(C) - save_CPPFLAGS="$CPPFLAGS" - if test x$USB_INCLUDEDIR != x; then - CPPFLAGS="$USB_INCLUDES" - fi - save_LIBS="$LIBS" - LIBS="$USB_LIBS" - AC_MSG_CHECKING([$libusb_name for symbol usb_debug in library $usb_lib_name]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - extern int usb_debug;]], - [[usb_debug = 0;]])], - [libusbok=yes],[libusbok=no]) - AC_MSG_RESULT([$libusbok]) - LIBS="$save_LIBS" - CPPFLAGS="$save_CPPFLAGS" - AC_LANG_POP(C) - ;; - esac - fi - fi - fi - fi - dnl if everything checks out OK, finish up - if test $libusbok = yes; then - case "$host_os" in - cygwin* | mingw*) - ;; - *) - LIBUSB_PKG_CONFIG_NAME="${libusb_name}" - ;; - esac - break - else - dnl something wasn't found in this LIBUSB version. - dnl HACK: clear cache variables for header and library - unset USB_INCLUDEDIR - unset USB_INCLUDES - unset USB_LIBS - unset $as_ac_Header - unset $as_ac_Lib - fi - done - - if test $libusbok = yes; then - dnl final error checking, mostly to create #define's - AC_LANG_PUSH(C) - save_CPPFLAGS="$CPPFLAGS" - if test x$USB_INCLUDEDIR != x; then - CPPFLAGS="$USB_INCLUDES" - fi - dnl Check for the header. - AC_CHECK_HEADERS([$usb_header], [], [libusbok=no]) - CPPFLAGS="$save_CPPFLAGS" - AC_LANG_POP(C) - - if test $libusbok = no; then - AC_MSG_RESULT([USRP requires libusb header '$usb_header' which was not found or was not usable. See http://www.libusb.org]) - else - dnl check for the library (again) - AC_LANG_PUSH(C) - save_CPPFLAGS="$CPPFLAGS" - if test x$USB_INCLUDEDIR != x; then - CPPFLAGS="$USB_INCLUDES" - fi - save_LIBS="$LIBS" - LIBS="$USB_LIBS" - AC_CHECK_LIB([$usb_lib_name], [$usb_lib_func], [], [ - libusbok=no - AC_MSG_RESULT([USRP requires library '$usb_lib_name' with function '$usb_lib_func', which was either not found or was not usable. See http://www.libusb.org])]) -# case "$host_os" in -# cygwin* | mingw*) -# USB_LIBS="$LIBS" -# ;; -# *) ;; -# esac - LIBS="$save_LIBS" - CPPFLAGS="$save_CPPFLAGS" - AC_LANG_POP(C) - fi - fi - - if test $libusbok = yes; then - dnl success - AC_MSG_NOTICE([Using LIBUSB version '${libusb_name}']) - ifelse([$2], , :, [$2]) - else - dnl not found; clear substitution variables - LIBUSB_PKG_CONFIG_NAME= - USB_INCLUDES= - USB_LIBS= - ifelse([$3], , :, [$3]) - fi - - dnl create substitution variables - AC_SUBST(USB_INCLUDES) - AC_SUBST(USB_LIBS) - AC_SUBST(LIBUSB_PKG_CONFIG_NAME) - - dnl restore LDFLAGS - LDFLAGS=${saved_LDFLAGS} -]) |