1417bdc164
* master: (28 commits) Update Changelog Add missing windows files in archive Move log implementation for Windows in dedicated directory Move UART implementation for Windows in dedicated directory CMake: only compile usbbus.c when (at least) one USB driver is enabled CMake: only include UART related files when (at least) one UART driver is enabled Only include UART related files when (at least) one UART driver is enabled Fix environment vars usage when compiling with CMake Remove unsed code section in log.c (was commented) pn53x_current_target_new() now returns null ptr upon malloc() error fix missing tests on malloc() return pn53x_data_new() now returns null ptr upon malloc() error uart drivers: missing pn53x_data_free() on some error handling branches uart drivers: missing nfc_device_free() on some error handling branches uart drivers: missing uart_close() on some error handling branches uart drivers: fix missing free(ndd.port) config parser: missing fclose() UART drivers: fix double free() of serial port info Fix cmake build failure under linux quick_start_example1.c: avoid using warnx() to remove err.h dependency ... Conflicts: libnfc/buses/Makefile.am
107 lines
4.1 KiB
Text
107 lines
4.1 KiB
Text
dnl Handle drivers arguments list
|
|
|
|
AC_DEFUN([LIBNFC_ARG_WITH_DRIVERS],
|
|
[
|
|
AC_MSG_CHECKING(which drivers to build)
|
|
AC_ARG_WITH(drivers,
|
|
AS_HELP_STRING([--with-drivers=DRIVERS], [Use a custom driver set, where DRIVERS is a coma-separated list of drivers to build support for. Available drivers are: 'acr122_pcsc', 'acr122_usb', 'acr122s', 'arygon', 'pn532_uart' and 'pn53x_usb'. Default drivers set is 'acr122_usb,acr122s,arygon,pn532_uart,pn53x_usb'. The special driver set 'all' compile all available drivers.]),
|
|
[ case "${withval}" in
|
|
yes | no)
|
|
dnl ignore calls without any arguments
|
|
DRIVER_BUILD_LIST="default"
|
|
AC_MSG_RESULT(default drivers)
|
|
;;
|
|
*)
|
|
DRIVER_BUILD_LIST=`echo ${withval} | sed "s/,/ /g"`
|
|
AC_MSG_RESULT(${DRIVER_BUILD_LIST})
|
|
;;
|
|
esac
|
|
],
|
|
[
|
|
DRIVER_BUILD_LIST="default"
|
|
AC_MSG_RESULT(default drivers)
|
|
]
|
|
)
|
|
|
|
case "${DRIVER_BUILD_LIST}" in
|
|
default)
|
|
DRIVER_BUILD_LIST="acr122_usb acr122s arygon pn53x_usb pn532_uart pn532_spi"
|
|
;;
|
|
all)
|
|
DRIVER_BUILD_LIST="acr122_pcsc acr122_usb acr122s arygon pn53x_usb pn532_uart pn532_spi"
|
|
;;
|
|
esac
|
|
|
|
DRIVERS_CFLAGS=""
|
|
|
|
driver_acr122_pcsc_enabled="no"
|
|
driver_acr122_usb_enabled="no"
|
|
driver_acr122s_enabled="no"
|
|
driver_pn53x_usb_enabled="no"
|
|
driver_arygon_enabled="no"
|
|
driver_pn532_uart_enabled="no"
|
|
driver_pn532_spi_enabled="no"
|
|
|
|
for driver in ${DRIVER_BUILD_LIST}
|
|
do
|
|
case "${driver}" in
|
|
acr122_pcsc)
|
|
pcsc_required="yes"
|
|
driver_acr122_pcsc_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_ACR122_PCSC_ENABLED"
|
|
;;
|
|
acr122_usb)
|
|
libusb_required="yes"
|
|
driver_acr122_usb_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_ACR122_USB_ENABLED"
|
|
;;
|
|
acr122s)
|
|
uart_required="yes"
|
|
driver_acr122s_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_ACR122S_ENABLED"
|
|
;;
|
|
pn53x_usb)
|
|
libusb_required="yes"
|
|
driver_pn53x_usb_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_PN53X_USB_ENABLED"
|
|
;;
|
|
arygon)
|
|
uart_required="yes"
|
|
driver_arygon_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_ARYGON_ENABLED"
|
|
;;
|
|
pn532_uart)
|
|
uart_required="yes"
|
|
driver_pn532_uart_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_PN532_UART_ENABLED"
|
|
;;
|
|
pn532_spi)
|
|
driver_pn532_spi_enabled="yes"
|
|
DRIVERS_CFLAGS="$DRIVERS_CFLAGS -DDRIVER_PN532_SPI_ENABLED"
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Unknow driver: $driver])
|
|
;;
|
|
esac
|
|
done
|
|
AC_SUBST(DRIVERS_CFLAGS)
|
|
AM_CONDITIONAL(DRIVER_ACR122_PCSC_ENABLED, [test x"$driver_acr122_pcsc_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_ACR122_USB_ENABLED, [test x"$driver_acr122_usb_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_ACR122S_ENABLED, [test x"$driver_acr122s_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_PN53X_USB_ENABLED, [test x"$driver_pn53x_usb_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_ARYGON_ENABLED, [test x"$driver_arygon_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_PN532_UART_ENABLED, [test x"$driver_pn532_uart_enabled" = xyes])
|
|
AM_CONDITIONAL(DRIVER_PN532_SPI_ENABLED, [test x"$driver_pn532_spi_enabled" = xyes])
|
|
])
|
|
|
|
AC_DEFUN([LIBNFC_DRIVERS_SUMMARY],[
|
|
echo
|
|
echo "Selected drivers:"
|
|
echo " acr122_pcsc...... $driver_acr122_pcsc_enabled"
|
|
echo " acr122_usb....... $driver_acr122_usb_enabled"
|
|
echo " acr122s.......... $driver_acr122s_enabled"
|
|
echo " arygon........... $driver_arygon_enabled"
|
|
echo " pn53x_usb........ $driver_pn53x_usb_enabled"
|
|
echo " pn532_uart....... $driver_pn532_uart_enabled"
|
|
echo " pn532_spi....... $driver_pn532_spi_enabled"
|
|
])
|