AC_PREREQ(2.64)
-AC_INIT([openocd], [0.8.0-dev],
+AC_INIT([openocd], [0.8.0-rc1-dev],
[OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
AC_CONFIG_SRCDIR([src/openocd.c])
[[[ftdi], [MPSSE mode of FTDI based devices], [FTDI]],
[[stlink], [ST-Link JTAG Programmer], [HLADAPTER_STLINK]],
[[ti_icdi], [TI ICDI JTAG Programmer], [HLADAPTER_ICDI]],
- [[ulink], [Keil ULINK JTAG Programmer], [ULINK]]])
+ [[ulink], [Keil ULINK JTAG Programmer], [ULINK]],
+ [[usb_blaster_2], [Altera USB-Blaster II Compatible], [USB_BLASTER_2]]])
m4_define([USB_ADAPTERS],
[[[jlink], [Segger J-Link JTAG Programmer], [JLINK]],
[[rlink], [Raisonance RLink JTAG Programmer], [RLINK]],
[[armjtagew], [Olimex ARM-JTAG-EW Programmer], [ARMJTAGEW]]])
+m4_define([HIDAPI_ADAPTERS],
+ [[[cmsis_dap], [CMSIS-DAP Compliant Debugger], [CMSIS_DAP]]])
+
#========================================
# FTD2XXX support comes in 4 forms.
# (1) win32 - via a zip file
])
])
-AC_ARG_ADAPTERS([USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS], [auto])
+AC_ARG_ADAPTERS([USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS, HIDAPI_ADAPTERS], [auto])
AC_ARG_ENABLE([parport],
AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
[Enable use of giveio for parport (for CygWin only)]),
[parport_use_giveio=$enableval], [parport_use_giveio=])
-AC_ARG_ENABLE([ft2232_libftdi],
- AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]),
+AC_ARG_ENABLE([ft2232_libftdi], [], [
+if test $enableval = yes; then
+ AC_MSG_ERROR([The ft2232 driver is deprecated, use --enable-ftdi to build its replacement, or force the old driver with --enable-legacy-ft2232_libftdi])
+fi
+])
+
+AC_ARG_ENABLE([ft2232_ftd2xx], [], [
+if test $enableval = yes; then
+ AC_MSG_ERROR([The ft2232 driver is deprecated, use --enable-ftdi to build its replacement, or force the old driver with --enable-legacy-ft2232_ftd2xx])
+fi
+])
+
+AC_ARG_ENABLE([legacy-ft2232_libftdi],
+ AS_HELP_STRING([--enable-legacy-ft2232_libftdi], [(DEPRECATED) Enable building support for FT2232 based devices using the libftdi library]),
[build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
-AC_ARG_ENABLE([ft2232_ftd2xx],
- AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]),
+AC_ARG_ENABLE([legacy-ft2232_ftd2xx],
+ AS_HELP_STRING([--enable-legacy-ft2232_ftd2xx], [(DEPRECATED) Enable building support for FT2232 based devices using the D2XX library from ftdichip.com]),
[build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
AC_ARG_ENABLE([jtag_vpi],
AC_DEFINE([BUILD_BUSPIRATE], [0], [0 if you don't want the Buspirate JTAG driver.])
fi
-if test "$use_internal_jimtcl" = yes; then
+if test $use_internal_jimtcl = yes; then
if test -f "$srcdir/jimtcl/configure.ac"; then
AX_CONFIG_SUBDIR_OPTION([jimtcl], [--disable-install-jim])
else
fi
if test $build_ft2232_libftdi = yes -o $build_usb_blaster_libftdi = yes -o \
- $build_openjtag_ftdi = yes; then
+ $build_openjtag_ftdi = yes -o $build_presto_libftdi = yes; then
# 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])
PKG_CHECK_MODULES([LIBUSB0], [libusb], [use_libusb0=yes], [use_libusb0=no])
+for hidapi_lib in hidapi hidapi-hidraw hidapi-libusb; do
+ PKG_CHECK_MODULES([HIDAPI],[$hidapi_lib],[
+ use_hidapi=yes
+ break
+ ],[
+ use_hidapi=no
+ ])
+done
+
m4_define([PROCESS_ADAPTERS], [
m4_foreach([adapter], [$1], [
if test $2; then
PROCESS_ADAPTERS([USB1_ADAPTERS], [$use_libusb1 = yes], [libusb-1.x])
PROCESS_ADAPTERS([USB_ADAPTERS], [$use_libusb1 = yes -o $use_libusb0 = yes], [libusb-1.x or libusb-0.1])
PROCESS_ADAPTERS([USB0_ADAPTERS], [$use_libusb0 = yes], [libusb-0.1])
+PROCESS_ADAPTERS([HIDAPI_ADAPTERS], [$use_hidapi = yes], [hidapi])
if test $enable_stlink != no -o $enable_ti_icdi != no; then
AC_DEFINE([BUILD_HLADAPTER], [1], [1 if you want the High Level JTAG driver.])
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([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes -o $use_libusb1 = yes])
AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes])
AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])
AM_CONDITIONAL([PRESTO_LIBFTDI], [test $build_presto_libftdi = yes])
AM_CONDITIONAL([IS_WIN32], [test $is_win32 = yes])
AM_CONDITIONAL([IS_DARWIN], [test $is_darwin = yes])
AM_CONDITIONAL([BITQ], [test $build_bitq = yes])
+AM_CONDITIONAL([CMSIS_DAP], [test $use_hidapi = yes])
AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = yes])
AM_CONDITIONAL([MINIDRIVER_DUMMY], [test $build_minidriver_dummy = yes])
echo
echo OpenOCD configuration summary
echo --------------------------------------------------
-m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS],
+m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS, HIDAPI_ADAPTERS],
[echo -n m4_format(["%-40s"], ADAPTER_DESC([adapter]))
case $ADAPTER_VAR([adapter]) in
auto)
esac
])
echo
+
+if test $build_ft2232_libftdi = yes -o $build_ft2232_ftd2xx = yes; then
+ if test $enable_ftdi = no; then
+ AC_MSG_WARN([Building the deprecated 'ft2232' adapter driver but not its replacement!])
+ AC_MSG_WARN([Please consider using --enable-ftdi instead.])
+ else
+ AC_MSG_WARN([Building the deprecated 'ft2232' adapter driver.])
+ fi
+fi