]> git.sur5r.net Git - openocd/blobdiff - configure.ac
libusb: require pkg-config support
[openocd] / configure.ac
index 2998ec79f05960fb74697845882ab15217539004..7f49ba05a99ca26cd48f0c7eb6fd1ccaeda28082 100644 (file)
@@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR([src/openocd.c])
 
 m4_include([config_subdir.m4])dnl
 
-AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip])
+AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip subdir-objects])
 
 AC_CONFIG_HEADERS([config.h])
 AH_BOTTOM([
@@ -19,6 +19,7 @@ AC_PROG_CC
 AC_PROG_CC_C99
 AM_PROG_CC_C_O
 AC_PROG_RANLIB
+PKG_PROG_PKG_CONFIG([0.23])
 
 dnl disable checks for C++, Fortran and GNU Java Compiler
 m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
@@ -150,39 +151,6 @@ else
 fi
 AC_MSG_RESULT([$build_release])
 
-# We are not *ALWAYS* being installed in the standard place.
-# We may be installed in a "tool-build" specific location.
-# Normally with other packages - as part of a tool distro.
-# Thus - we should search that 'libdir' also.
-#
-# And - if we are being installed there - the odds are
-# The libraries unique to what we are are there too.
-#
-
-# Expand nd deal with NONE - just like configure will do later
-OCDprefix=$prefix
-OCDxprefix=$exec_prefix
-test x"$OCDprefix"  = xNONE && OCDprefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test x"$OCDxprefix" = xNONE && OCDxprefix="$OCDprefix"
-
-# what matters is the "exec-prefix"
-if test "$OCDxprefix" != "$ac_default_prefix"
-then
-    # We are installing in a non-standard place
-    # Nonstandard --prefix and/or --exec-prefix
-    # We have an override of some sort.
-    # use build specific install library dir
-
-    LDFLAGS="$LDFLAGS -L$OCDxprefix/lib"
-    # RPATH becomes an issue on Linux only
-    if test $host_os = linux-gnu || test $host_os = linux ; then
-      LDFLAGS="$LDFLAGS -Wl,-rpath,$OCDxprefix/lib"
-    fi
-    # The "INCDIR" is also usable
-    CFLAGS="$CFLAGS -I$includedir"
-fi
-
 AC_ARG_WITH(ftd2xx,
    AS_HELP_STRING([--with-ftd2xx=<PATH>],[This option has been removed.]),
   [
@@ -388,6 +356,10 @@ AC_ARG_ENABLE([ftdi],
   AS_HELP_STRING([--enable-ftdi], [Enable building support for the MPSSE mode of FTDI based devices, using libusb-1.0 in asynchronous mode]),
   [build_ftdi=$enableval], [build_ftdi=no])
 
+AC_ARG_ENABLE([jtag_vpi],
+  AS_HELP_STRING([--enable-jtag_vpi], [Enable building support for JTAG VPI]),
+  [build_jtag_vpi=$enableval], [build_jtag_vpi=no])
+
 AC_ARG_ENABLE([usb_blaster_libftdi],
   AS_HELP_STRING([--enable-usb_blaster_libftdi], [Enable building support for the Altera USB-Blaster using the libftdi driver, opensource alternate of FTD2XX]),
   [build_usb_blaster_libftdi=$enableval], [build_usb_blaster_libftdi=no])
@@ -725,6 +697,12 @@ else
   AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [0], [0 if you don't want libftdi usb_blaster.])
 fi
 
+if test $build_jtag_vpi = yes; then
+  AC_DEFINE([BUILD_JTAG_VPI], [1], [1 if you want JTAG VPI.])
+else
+  AC_DEFINE([BUILD_JTAG_VPI], [0], [0 if you don't want JTAG VPI.])
+fi
+
 if test $build_usb_blaster_ftd2xx = yes; then
   AC_DEFINE([BUILD_USB_BLASTER_FTD2XX], [1], [1 if you want ftd2xx usb_blaster.])
 else
@@ -1177,7 +1155,7 @@ fi
 # check if some driver requires libusb-0.1
 need_usb0=no
 if test $build_vsllink = yes -o $build_usbprog = yes -o \
-        $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes; then
+        $build_rlink = yes -o $build_armjtagew = yes; then
   need_usb0=yes
 fi
 
@@ -1191,17 +1169,17 @@ fi
 # check if some driver requires libusb-1.x
 need_usb_ng=no
 if test $build_ftdi = yes -o $build_hladapter_icdi = yes -o \
-        $build_hladapter_stlink = yes; then
+        $build_hladapter_stlink = yes -o $build_ulink = yes; then
   need_usb_ng=yes
 fi
 
 # check for libusb library if necessary
 use_libusb1=no
 if test $need_usb = yes -o $need_usb_ng = yes; then
-  AC_CHECK_HEADER([libusb-1.0/libusb.h], [
-       AC_DEFINE([HAVE_LIBUSB1], [1], [Define if you have libusb-1.x])
+  PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
        use_libusb1=yes
-       AC_SEARCH_LIBS([libusb_error_name], [usb-1.0],
+       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])])
   ], [
@@ -1216,11 +1194,9 @@ fi
 
 use_libusb0=no
 if test $need_usb0 = yes; then
-       AC_CHECK_HEADERS([usb.h], [
-                       use_libusb0=yes
-               ], [
-                       AC_MSG_ERROR([libusb-0.1 is required to build some OpenOCD driver(s)])
-               ])
+       PKG_CHECK_MODULES([LIBUSB0], [libusb], [use_libusb0=yes], [
+               AC_MSG_ERROR([libusb-0.1 is required to build some OpenOCD driver(s)])
+       ])
 fi
 
 AM_CONDITIONAL([RELEASE], [test $build_release = yes])
@@ -1239,6 +1215,7 @@ AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft223
 AM_CONDITIONAL([FTDI_DRIVER], [test $build_ftdi = yes])
 AM_CONDITIONAL([USB_BLASTER_LIBFTDI], [test $build_usb_blaster_libftdi = yes])
 AM_CONDITIONAL([USB_BLASTER_FTD2XX], [test $build_usb_blaster_ftd2xx = yes])
+AM_CONDITIONAL([JTAG_VPI], [test $build_jtag_vpi = yes -o $build_jtag_vpi = yes])
 AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes])
 AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes])
 AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])