X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.ac;h=ce28633812d909fdcc0a2e27223a938d6a5f6b73;hp=18958136837a20494ec57bd6e9491567b801a04e;hb=806872a34aa0db95ecef7ba9e0743b18d80842f6;hpb=f684252b2530d86f3a8330940105b86c770231f1 diff --git a/configure.ac b/configure.ac index 1895813683..ce28633812 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,19 @@ -AC_PREREQ(2.60) -AC_INIT([openocd], [0.8.0-dev], +AC_PREREQ(2.64) +AC_INIT([openocd], [0.9.0-dev], [OpenOCD Mailing List ]) AC_CONFIG_SRCDIR([src/openocd.c]) m4_include([config_subdir.m4])dnl -AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip]) +# check for makeinfo before calling AM_INIT_AUTOMAKE +AC_CHECK_PROG([MAKEINFO], [makeinfo], [makeinfo]) +if test "x$MAKEINFO" = "x"; then + MAKEINFO='echo makeinfo missing; true' + AC_MSG_WARN([Info documentation will not be built.]) +fi +AC_SUBST([MAKEINFO]) + +AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip subdir-objects]) AC_CONFIG_HEADERS([config.h]) AH_BOTTOM([ @@ -19,6 +27,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 +159,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=],[This option has been removed.]), [ @@ -213,6 +189,38 @@ __EOF__ AC_MSG_ERROR([Sorry Cannot continue]) ], [true]) +# Adapter drivers +# 1st column -- configure option +# 2nd column -- description +# 3rd column -- symbol used for both config.h and automake +m4_define([ADAPTER_ARG], [m4_argn([1], $1)]) +m4_define([ADAPTER_DESC], [m4_argn([2], $1)]) +m4_define([ADAPTER_SYM], [m4_argn([3], $1)]) +m4_define([ADAPTER_VAR], [enable_[]ADAPTER_ARG($1)]) +m4_define([ADAPTER_OPT], [m4_translit(ADAPTER_ARG($1), [_], [-])]) + +m4_define([USB1_ADAPTERS], + [[[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]], + [[usb_blaster_2], [Altera USB-Blaster II Compatible], [USB_BLASTER_2]], + [[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]]]) + +m4_define([USB_ADAPTERS], + [[[jlink], [Segger J-Link JTAG Programmer], [JLINK]], + [[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]], + [[opendous], [eStick/opendous JTAG Programmer], [OPENDOUS]], + [[aice], [Andes JTAG Programmer], [AICE]]]) + +m4_define([USB0_ADAPTERS], + [[[usbprog], [USBProg JTAG Programmer], [USBPROG]], + [[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 @@ -362,6 +370,17 @@ AC_ARG_ENABLE([dummy], AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]), [build_dummy=$enableval], [build_dummy=no]) +m4_define([AC_ARG_ADAPTERS], [ + m4_foreach([adapter], [$1], + [AC_ARG_ENABLE(ADAPTER_OPT([adapter]), + AS_HELP_STRING([--enable-ADAPTER_OPT([adapter])], + [Enable building support for the ]ADAPTER_DESC([adapter])[ (default is $2)]), + [], [ADAPTER_VAR([adapter])=$2]) + ]) +]) + +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]), [build_parport=$enableval], [build_parport=no]) @@ -376,17 +395,29 @@ AC_ARG_ENABLE([parport_giveio], [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([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]), @@ -446,10 +477,6 @@ AC_ARG_ENABLE([presto_ftd2xx], AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]), [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no]) -AC_ARG_ENABLE([usbprog], - AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]), - [build_usbprog=$enableval], [build_usbprog=no]) - AC_ARG_ENABLE([openjtag_ftd2xx], AS_HELP_STRING([--enable-openjtag_ftd2xx], [Enable building support for the OpenJTAG Programmer with ftd2xx driver]), [build_openjtag_ftd2xx=$enableval], [build_openjtag_ftd2xx=no]) @@ -463,46 +490,10 @@ AC_ARG_ENABLE([oocd_trace], [Enable building support for some prototype OpenOCD+trace ETM capture hardware]), [build_oocd_trace=$enableval], [build_oocd_trace=no]) -AC_ARG_ENABLE([jlink], - AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]), - [build_jlink=$enableval], [build_jlink=no]) - -AC_ARG_ENABLE([vsllink], - AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]), - [build_vsllink=$enableval], [build_vsllink=no]) - -AC_ARG_ENABLE([rlink], - AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]), - [build_rlink=$enableval], [build_rlink=no]) - -AC_ARG_ENABLE([ulink], - AS_HELP_STRING([--enable-ulink], [Enable building support for the Keil ULINK JTAG Programmer]), - [build_ulink=$enableval], [build_ulink=no]) - -AC_ARG_ENABLE([arm-jtag-ew], - AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]), - [build_armjtagew=$enableval], [build_armjtagew=no]) - AC_ARG_ENABLE([buspirate], AS_HELP_STRING([--enable-buspirate], [Enable building support for the Buspirate]), [build_buspirate=$enableval], [build_buspirate=no]) -AC_ARG_ENABLE([stlink], - AS_HELP_STRING([--enable-stlink], [Enable building support for the ST-Link JTAG Programmer]), - [build_hladapter_stlink=$enableval], [build_hladapter_stlink=no]) - -AC_ARG_ENABLE([ti-icdi], - AS_HELP_STRING([--enable-ti-icdi], [Enable building support for the TI ICDI JTAG Programmer]), - [build_hladapter_icdi=$enableval], [build_hladapter_icdi=no]) - -AC_ARG_ENABLE([osbdm], - AS_HELP_STRING([--enable-osbdm], [Enable building support for the OSBDM (JTAG only) Programmer]), - [build_osbdm=$enableval], [build_osbdm=no]) - -AC_ARG_ENABLE([opendous], - AS_HELP_STRING([--enable-opendous], [Enable building support for the estick/opendous JTAG Programmer]), - [build_opendous=$enableval], [build_opendous=no]) - AC_ARG_ENABLE([sysfsgpio], AS_HELP_STRING([--enable-sysfsgpio], [Enable building support for programming driven via sysfs gpios.]), [build_sysfsgpio=$enableval], [build_sysfsgpio=no]) @@ -515,10 +506,6 @@ AC_ARG_ENABLE([internal-jimtcl], AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]), [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes]) -AC_ARG_ENABLE([aice], - AS_HELP_STRING([--enable-aice], [Enable building support for the Andes JTAG Programmer]), - [build_aice=$enableval], [build_aice=no]) - build_minidriver=no AC_MSG_CHECKING([whether to enable ZY1000 minidriver]) if test $build_zy1000 = yes; then @@ -713,18 +700,18 @@ else AC_DEFINE([BUILD_FT2232_FTD2XX], [0], [0 if you don't want ftd2xx ft2232.]) fi -if test $build_ftdi = yes; then - AC_DEFINE([BUILD_FTDI], [1], [1 if you want ftdi.]) -else - AC_DEFINE([BUILD_FTDI], [0], [0 if you don't want ftdi.]) -fi - if test $build_usb_blaster_libftdi = yes; then AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [1], [1 if you want libftdi usb_blaster.]) 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 @@ -763,12 +750,6 @@ else AC_DEFINE([BUILD_BITQ], [0], [0 if you don't want a bitq interface.]) fi -if test $build_usbprog = yes; then - AC_DEFINE([BUILD_USBPROG], [1], [1 if you want the usbprog JTAG driver.]) -else - AC_DEFINE([BUILD_USBPROG], [0], [0 if you don't want the usbprog JTAG driver.]) -fi - AC_DEFINE([BUILD_OPENJTAG], [0], [0 if you don't want the OpenJTAG driver.]) AC_DEFINE([BUILD_OPENJTAG_FTD2XX], [0], [0 if you don't want the OpenJTAG driver with FTD2XX driver.]) AC_DEFINE([BUILD_OPENJTAG_LIBFTDI], [0], [0 if you don't want to build OpenJTAG driver with libftdi.]) @@ -788,67 +769,13 @@ else AC_DEFINE([BUILD_OOCD_TRACE], [0], [0 if you don't want the OpenOCD+trace ETM capture driver.]) fi -if test $build_jlink = yes; then - AC_DEFINE([BUILD_JLINK], [1], [1 if you want the J-Link JTAG driver.]) -else - AC_DEFINE([BUILD_JLINK], [0], [0 if you don't want the J-Link JTAG driver.]) -fi - -if test $build_aice = yes; then - AC_DEFINE([BUILD_AICE], [1], [1 if you want the AICE JTAG driver.]) -else - AC_DEFINE([BUILD_AICE], [0], [0 if you don't want the AICE JTAG driver.]) -fi - -if test $build_vsllink = yes; then - AC_DEFINE([BUILD_VSLLINK], [1], [1 if you want the Versaloon-Link JTAG driver.]) -else - AC_DEFINE([BUILD_VSLLINK], [0], [0 if you don't want the Versaloon-Link JTAG driver.]) -fi - -if test $build_rlink = yes; then - AC_DEFINE([BUILD_RLINK], [1], [1 if you want the RLink JTAG driver.]) -else - AC_DEFINE([BUILD_RLINK], [0], [0 if you don't want the RLink JTAG driver.]) -fi - -if test $build_ulink = yes; then - AC_DEFINE([BUILD_ULINK], [1], [1 if you want the ULINK JTAG driver.]) -else - AC_DEFINE([BUILD_ULINK], [0], [0 if you don't want the ULINK JTAG driver.]) -fi - -if test $build_armjtagew = yes; then - AC_DEFINE([BUILD_ARMJTAGEW], [1], [1 if you want the ARM-JTAG-EW JTAG driver.]) -else - AC_DEFINE([BUILD_ARMJTAGEW], [0], [0 if you don't want the ARM-JTAG-EW JTAG driver.]) -fi - if test $build_buspirate = yes; then AC_DEFINE([BUILD_BUSPIRATE], [1], [1 if you want the Buspirate JTAG driver.]) else AC_DEFINE([BUILD_BUSPIRATE], [0], [0 if you don't want the Buspirate JTAG driver.]) fi -if test $build_hladapter_stlink = yes -o $build_hladapter_icdi = yes; then - AC_DEFINE([BUILD_HLADAPTER], [1], [1 if you want the High Level JTAG driver.]) -else - AC_DEFINE([BUILD_HLADAPTER], [0], [0 if you don't want the High Level JTAG driver.]) -fi - -if test $build_osbdm = yes; then - AC_DEFINE([BUILD_OSBDM], [1], [1 if you want the OSBDM driver.]) -else - AC_DEFINE([BUILD_OSBDM], [0], [0 if you don't want the OSBDM driver.]) -fi - -if test $build_opendous = yes; then - AC_DEFINE([BUILD_OPENDOUS], [1], [1 if you want the estick/opendous JTAG driver.]) -else - AC_DEFINE([BUILD_OPENDOUS], [0], [0 if you don't want the estick/opendous 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 @@ -1005,7 +932,7 @@ if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_b ]) AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[ AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.]) - ],[]) + ],[-lrt -lusb-1.0]) fi fi fi # linux @@ -1095,20 +1022,30 @@ CFLAGS=$CFLAGS_SAVE 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" + $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]) + 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 @@ -1172,56 +1109,62 @@ enum ftdi_chip_type x = TYPE_232H; # Restore the 'unexpanded ldflags' LDFLAGS=$LDFLAGS_SAVE CFLAGS=$CFLAGS_SAVE + LIBS=$LIBS_SAVE 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_armjtagew = yes; then - need_usb0=yes -fi - -# check if some driver can work with either libusb version -need_usb=no -if test $build_jlink = yes -o $build_osbdm = yes -o $build_opendous = yes -o \ - $build_aice = yes; then - need_usb=yes -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 -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])]) + LIBUSB1_CFLAGS=`echo $LIBUSB1_CFLAGS | sed 's/-I/-isystem /'` + AC_MSG_NOTICE([libusb-1.0 header bug workaround: LIBUSB1_CFLAGS changed to "$LIBUSB1_CFLAGS"]) ], [ - if test $need_usb_ng = yes; then - AC_MSG_ERROR([libusb-1.x is required for some driver(s) you've selected]) + use_libusb1=no + AC_MSG_WARN([libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead]) +]) + +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 + if test $ADAPTER_VAR([adapter]) != no; then + AC_DEFINE([BUILD_]ADAPTER_SYM([adapter]), [1], [1 if you want the ]ADAPTER_DESC([adapter]).) + else + AC_DEFINE([BUILD_]ADAPTER_SYM([adapter]), [0], [0 if you do not want the ]ADAPTER_DESC([adapter]).) + fi else - AC_MSG_WARN([Trying legacy libusb-0.1 as a fallback, consider installing libusb-1 instead]) - need_usb0=yes + if test $ADAPTER_VAR([adapter]) = yes; then + AC_MSG_ERROR([$3 is required for the ADAPTER_DESC([adapter])]) + fi + ADAPTER_VAR([adapter])=no fi + AM_CONDITIONAL(ADAPTER_SYM([adapter]), [test $ADAPTER_VAR([adapter]) != no]) ]) -fi +]) + +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]) -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)]) - ]) +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.]) +else + AC_DEFINE([BUILD_HLADAPTER], [0], [0 if you want the High Level JTAG driver.]) fi +AM_CONDITIONAL([HLADAPTER], [test $enable_stlink != no -o $enable_ti_icdi != no]) AM_CONDITIONAL([RELEASE], [test $build_release = yes]) AM_CONDITIONAL([PARPORT], [test $build_parport = yes]) @@ -1236,28 +1179,18 @@ AM_CONDITIONAL([BCM2835GPIO], [test $build_bcm2835gpio = yes]) AM_CONDITIONAL([BITBANG], [test $build_bitbang = yes]) AM_CONDITIONAL([FT2232_LIBFTDI], [test $build_ft2232_libftdi = yes]) AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes]) -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([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = 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 -o $enable_usb_blaster_2 != no]) 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([PRESTO_DRIVER], [test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes]) -AM_CONDITIONAL([USBPROG], [test $build_usbprog = yes]) AM_CONDITIONAL([OPENJTAG], [test $build_openjtag_ftd2xx = yes -o $build_openjtag_ftdi = yes]) AM_CONDITIONAL([OOCD_TRACE], [test $build_oocd_trace = yes]) -AM_CONDITIONAL([JLINK], [test $build_jlink = yes]) -AM_CONDITIONAL([AICE], [test $build_aice = yes]) -AM_CONDITIONAL([VSLLINK], [test $build_vsllink = yes]) -AM_CONDITIONAL([RLINK], [test $build_rlink = yes]) -AM_CONDITIONAL([ULINK], [test $build_ulink = yes]) -AM_CONDITIONAL([ARMJTAGEW], [test $build_armjtagew = yes]) AM_CONDITIONAL([REMOTE_BITBANG], [test $build_remote_bitbang = yes]) AM_CONDITIONAL([BUSPIRATE], [test $build_buspirate = yes]) -AM_CONDITIONAL([HLADAPTER], [test $build_hladapter_stlink = yes -o $build_hladapter_icdi = yes]) -AM_CONDITIONAL([OSBDM], [test $build_osbdm = yes]) -AM_CONDITIONAL([OPENDOUS], [test $build_opendous = yes]) AM_CONDITIONAL([SYSFSGPIO], [test $build_sysfsgpio = yes]) AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes]) AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes]) @@ -1266,6 +1199,7 @@ AM_CONDITIONAL([IS_MINGW], [test $is_mingw = 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]) @@ -1322,47 +1256,6 @@ if test $gcc_warnings = yes; then CFLAGS="$CFLAGS $GCC_WARNINGS" fi -# Setup for compiling build tools -AC_MSG_CHECKING([for a C compiler for build tools]) -if test $cross_compiling = yes; then - AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) - CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS" -else - CC_FOR_BUILD=$CC - CFLAGS_FOR_BUILD=$CFLAGS -fi - -AC_MSG_RESULT([$CC_FOR_BUILD]) -AC_SUBST([CC_FOR_BUILD]) -AC_SUBST([CFLAGS_FOR_BUILD]) - -AC_MSG_CHECKING([for suffix of executable build tools]) -if test $cross_compiling = yes; then - cat >conftest.c <<\_______EOF -int main () -{ - exit (0); -} -_______EOF - for i in .exe ""; do - compile="$CC_FOR_BUILD conftest.c -o conftest$i" - if AC_TRY_EVAL(compile); then - if (./conftest) 2>&AC_FD_CC; then - EXEEXT_FOR_BUILD=$i - break - fi - fi - done - rm -f conftest* - if test "${EXEEXT_FOR_BUILD+set}" != set; then - AC_MSG_ERROR([Cannot determine suffix of executable build tools]) - fi -else - EXEEXT_FOR_BUILD=$EXEEXT -fi -AC_MSG_RESULT([$EXEEXT_FOR_BUILD]) -AC_SUBST([EXEEXT_FOR_BUILD]) - AC_CONFIG_FILES([ Makefile src/Makefile @@ -1373,6 +1266,7 @@ AC_CONFIG_FILES([ src/jtag/hla/Makefile src/jtag/aice/Makefile src/transport/Makefile + src/target/openrisc/Makefile src/xsvf/Makefile src/svf/Makefile src/target/Makefile @@ -1385,3 +1279,32 @@ AC_CONFIG_FILES([ doc/Makefile ]) AC_OUTPUT + +echo +echo +echo OpenOCD configuration summary +echo -------------------------------------------------- +m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS, HIDAPI_ADAPTERS], + [s=m4_format(["%-40s"], ADAPTER_DESC([adapter])) + case $ADAPTER_VAR([adapter]) in + auto) + echo "$s"yes '(auto)' + ;; + yes) + echo "$s"yes + ;; + no) + echo "$s"no + ;; + 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