build: remove hard coded ftdi and usb libraries 59/1759/13
authorMathias K <kesmtp@freenet.de>
Wed, 30 Oct 2013 15:52:10 +0000 (16:52 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Sun, 22 Dec 2013 20:22:37 +0000 (20:22 +0000)
This patch remove the hardcoded libraries. Also a check for
libftdi1 installations was added. This check fix an issue
with gentoo and maybe other systems.

Change-Id: Ieff9ec4d66ee0f3e6b22261a10e4cab9f26b6b51
Signed-off-by: Mathias K <kesmtp@freenet.de>
Reviewed-on: http://openocd.zylin.com/1759
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
configure.ac
src/Makefile.am

index a5abdfd3c0f40df626c1aa87dfbc38f2e2b56a17..968e381be890f4aaf35b42efae44426ec21754ce 100644 (file)
@@ -999,19 +999,29 @@ fi
 
 if test $build_ft2232_libftdi = yes -o $build_usb_blaster_libftdi = yes -o \
   $build_openjtag_ftdi = yes; then
-  # We assume: the package is preinstalled in the proper place
-  # these present as 2 libraries..
-  LIBS="$LIBS -lftdi -lusb"
+
+  # we can have libftdi or libftdi1, so check it and use the latest one
+  PKG_CHECK_MODULES([LIBFTDI], [libftdi1], [use_libftdi=yes], [use_libftdi=no])
+  if test $use_libftdi = no; then
+       PKG_CHECK_MODULES([LIBFTDI], [libftdi], [use_libftdi=yes], [use_libftdi=no])
+  fi
+  if test $use_libftdi = no; then
+       AC_MSG_ERROR([The libftdi driver is not present on your system.])
+  fi
+
   #
   # Try to build a small program.
   AC_MSG_CHECKING([Build & Link with libftdi...])
 
   LDFLAGS_SAVE=$LDFLAGS
   CFLAGS_SAVE=$CFLAGS
+  LIBS_SAVE=$LIBS
   _LDFLAGS=`eval echo $LDFLAGS`
   _CFLAGS=`eval echo $CFLAGS`
+  _LIBS=`eval echo $LIBS`
   LDFLAGS=$_LDFLAGS
-  CFLAGS=$_CFLAGS
+  CFLAGS="$_CFLAGS $LIBFTDI_CFLAGS"
+  LIBS="$_LIBS $LIBFTDI_LIBS"
 
   AC_RUN_IFELSE([AC_LANG_PROGRAM([[
 #include <stdio.h>
@@ -1075,6 +1085,7 @@ enum ftdi_chip_type x = TYPE_232H;
   # Restore the 'unexpanded ldflags'
   LDFLAGS=$LDFLAGS_SAVE
   CFLAGS=$CFLAGS_SAVE
+  LIBS=$LIBS_SAVE
 fi
 
 PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
index 3413ba953f5e39638df1bf235e261c94b429ea79..48af21d4b3d51e89928d81d78eb2a6a2edbda075 100644 (file)
@@ -52,7 +52,7 @@ libopenocd_la_CPPFLAGS += -DGITVERSION=\"`cd $(top_srcdir) && git describe`\"
 endif
 
 # add default CPPFLAGS
-libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)
+libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS) $(LIBFTDI_CFLAGS)
 
 # the library search path.
 libopenocd_la_LDFLAGS = $(all_libraries)
@@ -63,25 +63,6 @@ else
 MINGWLDADD =
 endif
 
-if FT2232_LIBFTDI
-FTDI2232LIB = -lftdi -lusb
-else
-if PRESTO_LIBFTDI
-FTDI2232LIB = -lftdi -lusb
-else
-FTDI2232LIB =
-endif
-endif
-
-LIBUSB =
-if USE_LIBUSB1
-LIBUSB += $(LIBUSB1_LIBS)
-endif
-
-if USE_LIBUSB0
-LIBUSB += $(LIBUSB0_LIBS)
-endif
-
 libopenocd_la_LIBADD = \
        $(top_builddir)/src/xsvf/libxsvf.la \
        $(top_builddir)/src/svf/libsvf.la \
@@ -93,7 +74,8 @@ libopenocd_la_LIBADD = \
        $(top_builddir)/src/server/libserver.la \
        $(top_builddir)/src/rtos/librtos.la \
        $(top_builddir)/src/helper/libhelper.la \
-       $(FTDI2232LIB) $(MINGWLDADD) $(LIBUSB)
+       $(LIBFTDI_LIBS) $(MINGWLDADD) \
+       $(LIBUSB1_LIBS) $(LIBUSB0_LIBS)
 
 STARTUP_TCL_SRCS = \
        $(srcdir)/helper/startup.tcl \

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)