Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi, running on top of libusb-1.0. This also removes indirect dependency to libusb-0.1.
NOTE: pre-compiled libftdi-1.0 packages may not be available yet NOTE: package named libftdi1 may install libftdi-0.19 (debian)
Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- Makefile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile index 96a7987..561c67c 100644 --- a/Makefile +++ b/Makefile @@ -489,19 +489,21 @@ endif ifeq ($(CONFIG_FT2232_SPI), yes) # This is a totally ugly hack. FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'") -NEED_FTDI := yes +NEED_FTDI1 := yes PROGRAMMER_OBJS += ft2232_spi.o endif
ifeq ($(CONFIG_USBBLASTER_SPI), yes) # This is a totally ugly hack. FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'") -NEED_FTDI := yes +NEED_LIBUSB1 := yes +NEED_FTDI1 := yes PROGRAMMER_OBJS += usbblaster_spi.o endif
-ifeq ($(NEED_FTDI), yes) -FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb") +ifeq ($(NEED_FTDI1), yes) +FTDILIBS := $(shell pkg-config --libs libftdi1 2>/dev/null || printf "%s" "-lftdi1 -lusb-1.0") +FEATURE_CFLAGS += $(shell pkg-config --cflags libftdi1 2>/dev/null) FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'") FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") # We can't set NEED_LIBUSB1 here because that would transform libftdi auto-enabling @@ -793,6 +795,7 @@ endef export LIBUSB1_ERROR_NAME_TEST
define FTDI_TEST +#include <stddef.h> #include <ftdi.h> struct ftdi_context *ftdic = NULL; int main(int argc, char **argv) @@ -805,6 +808,7 @@ endef export FTDI_TEST
define FTDI_232H_TEST +#include <stddef.h> #include <ftdi.h> enum ftdi_chip_type type = TYPE_232H; endef @@ -845,15 +849,15 @@ ifeq ($(CHECK_LIBUSB1), yes) ( echo "found."; echo "LIBUSB1_ERROR_NAME := yes" >> .features.tmp ) || \ ( echo "not found." ) endif -ifeq ($(NEED_FTDI), yes) +ifeq ($(NEED_FTDI1), yes) @printf "Checking for FTDI support... " @echo "$$FTDI_TEST" > .featuretest.c - @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \ ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp ) @printf "Checking for FT232H support in libftdi... " @echo "$$FTDI_232H_TEST" >> .featuretest.c - @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \ ( echo "not found."; echo "FT232H := no" >> .features.tmp ) endif