X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.ac;h=9943bebe9aec278ec01bca24a08c882c353b03c8;hp=17cf43edd560fa00d3012391ffbddfec7be4fc09;hb=c8c10f77dcbc6297f475af7e9768593a847665c2;hpb=dd6274deed65c47ba2ef46e14259167d393399d8 diff --git a/configure.ac b/configure.ac index 17cf43edd5..9943bebe9a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -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]) @@ -194,7 +194,9 @@ 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]]]) + [[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]]]) m4_define([USB_ADAPTERS], [[[jlink], [Segger J-Link JTAG Programmer], [JLINK]], @@ -206,9 +208,11 @@ m4_define([USB0_ADAPTERS], [[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]], [[usbprog], [USBProg JTAG Programmer], [USBPROG]], [[rlink], [Raisonance RLink JTAG Programmer], [RLINK]], - [[ulink], [Keil ULINK JTAG Programmer], [ULINK]], [[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 @@ -367,7 +371,7 @@ m4_define([AC_ARG_ADAPTERS], [ ]) ]) -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]), @@ -383,12 +387,24 @@ 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([jtag_vpi], @@ -751,7 +767,7 @@ else 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 @@ -908,7 +924,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 @@ -998,20 +1014,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 @@ -1075,6 +1101,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], [ @@ -1083,6 +1110,8 @@ PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [ 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"]) ], [ 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]) @@ -1090,6 +1119,15 @@ PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [ 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 @@ -1111,6 +1149,7 @@ m4_define([PROCESS_ADAPTERS], [ 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.]) @@ -1135,7 +1174,7 @@ AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft223 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 $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]) @@ -1152,6 +1191,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]) @@ -1259,6 +1299,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 @@ -1276,7 +1317,7 @@ echo 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) @@ -1291,3 +1332,12 @@ m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS], 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