+ LIBS=$LIBS_SAVE
+fi
+
+PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
+ use_libusb1=yes
+ AC_DEFINE([HAVE_LIBUSB1], [1], [Define if you have libusb-1.x])
+ PKG_CHECK_EXISTS([libusb-1.0 >= 1.0.9],
+ [AC_DEFINE([HAVE_LIBUSB_ERROR_NAME], [1], [Define if your libusb has libusb_error_name()])],
+ [AC_MSG_WARN([libusb-1.x older than 1.0.9 detected, consider updating])])
+ LIBUSB1_CFLAGS=`echo $LIBUSB1_CFLAGS | sed 's/-I/-isystem /'`
+ AC_MSG_NOTICE([libusb-1.0 header bug workaround: LIBUSB1_CFLAGS changed to "$LIBUSB1_CFLAGS"])
+ PKG_CHECK_EXISTS([libusb-1.0 >= 1.0.16],
+ [AC_DEFINE([HAVE_LIBUSB_GET_PORT_NUMBERS], [1], [Define if your libusb has libusb_get_port_numbers()])])
+ ], [
+ use_libusb1=no
+ AC_MSG_WARN([libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead])
+])
+
+PKG_CHECK_MODULES([LIBUSB0], [libusb], [use_libusb0=yes], [use_libusb0=no])
+
+for hidapi_lib in hidapi hidapi-hidraw hidapi-libusb; do
+ PKG_CHECK_MODULES([HIDAPI],[$hidapi_lib],[
+ use_hidapi=yes
+ break
+ ],[
+ use_hidapi=no
+ ])
+done
+
+PKG_CHECK_MODULES([libjaylink], [libjaylink >= 0.1],
+ [HAVE_LIBJAYLINK=yes], [HAVE_LIBJAYLINK=no])
+
+m4_define([PROCESS_ADAPTERS], [
+ m4_foreach([adapter], [$1], [
+ if test $2; then
+ if test $ADAPTER_VAR([adapter]) != no; then
+ AC_DEFINE([BUILD_]ADAPTER_SYM([adapter]), [1], [1 if you want the ]ADAPTER_DESC([adapter]).)
+ else
+ AC_DEFINE([BUILD_]ADAPTER_SYM([adapter]), [0], [0 if you do not want the ]ADAPTER_DESC([adapter]).)
+ fi
+ else
+ if test $ADAPTER_VAR([adapter]) = yes; then
+ AC_MSG_ERROR([$3 is required for the ADAPTER_DESC([adapter])])
+ fi
+ ADAPTER_VAR([adapter])=no
+ fi
+ AM_CONDITIONAL(ADAPTER_SYM([adapter]), [test $ADAPTER_VAR([adapter]) != no])
+ ])
+])
+
+PROCESS_ADAPTERS([USB1_ADAPTERS], [$use_libusb1 = yes], [libusb-1.x])
+PROCESS_ADAPTERS([USB_ADAPTERS], [$use_libusb1 = yes -o $use_libusb0 = yes], [libusb-1.x or libusb-0.1])
+PROCESS_ADAPTERS([USB0_ADAPTERS], [$use_libusb0 = yes], [libusb-0.1])
+PROCESS_ADAPTERS([HIDAPI_ADAPTERS], [$use_hidapi = yes], [hidapi])
+PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], [$use_libusb1 = yes -a $use_internal_libjaylink = yes -o $HAVE_LIBJAYLINK = yes], [libusb-1.x or libjaylink-0.1])
+
+if test $enable_stlink != no -o $enable_ti_icdi != no; then
+ AC_DEFINE([BUILD_HLADAPTER], [1], [1 if you want the High Level JTAG driver.])
+else
+ AC_DEFINE([BUILD_HLADAPTER], [0], [0 if you want the High Level JTAG driver.])