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. Patch by Kyösti Mälkki <kyosti.malkki@gmail.com>. See <http://patchwork.coreboot.org/patch/3904/>. --- flashrom/Makefile.orig 2013-08-13 18:00:00.000000000 -0400 +++ flashrom/Makefile 2014-08-05 03:10:40.217145375 -0400 @@ -492,19 +492,21 @@ 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_USB here because that would transform libftdi auto-enabling @@ -781,6 +783,7 @@ endif define FTDI_TEST +#include <stddef.h> #include <ftdi.h> struct ftdi_context *ftdic = NULL; int main(int argc, char **argv) @@ -793,6 +796,7 @@ export FTDI_TEST define FTDI_232H_TEST +#include <stddef.h> #include <ftdi.h> enum ftdi_chip_type type = TYPE_232H; endef @@ -826,15 +830,15 @@ features: compiler @echo "FEATURES := yes" > .features.tmp -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