62 lines
1.9 KiB
Text
62 lines
1.9 KiB
Text
dnl Check for LIBUSB
|
|
dnl On success, HAVE_LIBUSB is set to 1 and PKG_CONFIG_REQUIRES is filled when
|
|
dnl libusb is found using pkg-config
|
|
|
|
AC_DEFUN([LIBNFC_CHECK_LIBUSB],
|
|
[
|
|
if test x"$libusb_required" = "xyes"; then
|
|
HAVE_LIBUSB=0
|
|
|
|
AC_ARG_WITH([libusb-win32],
|
|
[AS_HELP_STRING([--with-libusb-win32], [use libusb-win32 from the following location])],
|
|
[LIBUSB_WIN32_DIR=$withval],
|
|
[LIBUSB_WIN32_DIR=""])
|
|
|
|
# --with-libusb-win32 directory have been set
|
|
if test "x$LIBUSB_WIN32_DIR" != "x"; then
|
|
AC_MSG_NOTICE(["use libusb-win32 from $LIBUSB_WIN32_DIR"])
|
|
libusb_CFLAGS="-I$LIBUSB_WIN32_DIR/include"
|
|
libusb_LIBS="-L$LIBUSB_WIN32_DIR/lib/gcc -lusb"
|
|
HAVE_LIBUSB=1
|
|
fi
|
|
|
|
# Search using pkg-config
|
|
if test x"$HAVE_LIBUSB" = "x0"; then
|
|
if test x"$PKG_CONFIG" != "x"; then
|
|
PKG_CHECK_MODULES([libusb], [libusb], [HAVE_LIBUSB=1], [HAVE_LIBUSB=0])
|
|
if test x"$HAVE_LIBUSB" = "x1"; then
|
|
if test x"$PKG_CONFIG_REQUIRES" != x""; then
|
|
PKG_CONFIG_REQUIRES="$PKG_CONFIG_REQUIRES,"
|
|
fi
|
|
PKG_CONFIG_REQUIRES="$PKG_CONFIG_REQUIRES libusb"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Search using libusb-config
|
|
if test x"$HAVE_LIBUSB" = "x0"; then
|
|
AC_PATH_PROG(libusb_CONFIG,libusb-config)
|
|
if test x"$libusb_CONFIG" != "x" ; then
|
|
libusb_CFLAGS=`$libusb_CONFIG --cflags`
|
|
libusb_LIBS=`$libusb_CONFIG --libs`
|
|
HAVE_LIBUSB=1
|
|
fi
|
|
fi
|
|
|
|
# Search the library and headers directly (last chance)
|
|
if test x"$HAVE_LIBUSB" = "x0"; then
|
|
AC_CHECK_HEADER(usb.h, [], [AC_MSG_ERROR([The libusb headers are missing])])
|
|
AC_CHECK_LIB(usb, libusb_init, [], [AC_MSG_ERROR([The libusb library is missing])])
|
|
|
|
libusb_LIBS="-lusb"
|
|
HAVE_LIBUSB=1
|
|
fi
|
|
|
|
if test x"$HAVE_LIBUSB" = "x0"; then
|
|
AC_MSG_ERROR([libusb is mandatory.])
|
|
fi
|
|
|
|
AC_SUBST(libusb_LIBS)
|
|
AC_SUBST(libusb_CFLAGS)
|
|
fi
|
|
])
|