stm32f7x: Use CHIPNAME-specific name for ITCM bank
[openocd.git] / configure.ac
index 95d76c94d749307411579c6046bf008bd09dfb6e..d4338dfbd78d75e45715cd1bd35a7a4456adad04 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.64)
-AC_INIT([openocd], [0.10.0-dev],
+AC_INIT([openocd], [0.10.0+dev],
   [OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
 AC_CONFIG_SRCDIR([src/openocd.c])
 
@@ -7,10 +7,10 @@ m4_include([config_subdir.m4])dnl
 
 # check for makeinfo before calling AM_INIT_AUTOMAKE
 AC_CHECK_PROG([MAKEINFO], [makeinfo], [makeinfo])
-if test "x$MAKEINFO" = "x"; then
+AS_IF([test "x$MAKEINFO" = "x"], [
   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])
@@ -45,67 +45,11 @@ AC_SEARCH_LIBS([ioperm], [ioperm])
 AC_SEARCH_LIBS([dlopen], [dl])
 
 AC_CHECK_HEADERS([sys/socket.h])
-AC_CHECK_HEADERS([arpa/inet.h], [], [], [dnl
-#include <stdio.h>
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-])
 AC_CHECK_HEADERS([elf.h])
 AC_CHECK_HEADERS([dirent.h])
 AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([ifaddrs.h], [], [], [dnl
-#include <stdio.h>
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-])
 AC_CHECK_HEADERS([malloc.h])
 AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([netinet/in.h], [], [], [dnl
-#include <stdio.h>
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-])
-AC_CHECK_HEADERS([netinet/tcp.h], [], [], [dnl
-#include <stdio.h>
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-])
 AC_CHECK_HEADERS([poll.h])
 AC_CHECK_HEADERS([pthread.h])
 AC_CHECK_HEADERS([strings.h])
@@ -113,10 +57,11 @@ AC_CHECK_HEADERS([sys/ioctl.h])
 AC_CHECK_HEADERS([sys/param.h])
 AC_CHECK_HEADERS([sys/select.h])
 AC_CHECK_HEADERS([sys/stat.h])
+AC_CHECK_HEADERS([sys/sysctl.h])
 AC_CHECK_HEADERS([sys/time.h])
 AC_CHECK_HEADERS([sys/types.h])
 AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([net/if.h], [], [], [dnl
+AC_CHECK_HEADERS([arpa/inet.h ifaddrs.h netinet/in.h netinet/tcp.h net/if.h], [], [], [dnl
 #include <stdio.h>
 #ifdef STDC_HEADERS
 # include <stdlib.h>
@@ -142,21 +87,15 @@ AC_CHECK_FUNCS([strnlen])
 AC_CHECK_FUNCS([gettimeofday])
 AC_CHECK_FUNCS([usleep])
 AC_CHECK_FUNCS([vasprintf])
-
-build_bitbang=no
-build_bitq=no
-is_cygwin=no
-is_mingw=no
-is_win32=no
-is_darwin=no
+AC_CHECK_FUNCS([realpath])
 
 # guess-rev.sh only exists in the repository, not in the released archives
 AC_MSG_CHECKING([whether to build a release])
-if test -x $srcdir/guess-rev.sh ; then
+AS_IF([test -x "$srcdir/guess-rev.sh"], [
   build_release=no
-else
+], [
   build_release=yes
-fi
+])
 AC_MSG_RESULT([$build_release])
 
 # Adapter drivers
@@ -175,7 +114,9 @@ m4_define([USB1_ADAPTERS],
        [[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]]])
+       [[ft232r], [Bitbang mode of FT232R based devices], [FT232R]],
+       [[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]],
+       [[xds110], [TI XDS110 Debug Probe], [XDS110]]])
 
 m4_define([USB_ADAPTERS],
        [[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
@@ -190,6 +131,9 @@ m4_define([USB0_ADAPTERS],
 m4_define([HIDAPI_ADAPTERS],
        [[[cmsis_dap], [CMSIS-DAP Compliant Debugger], [CMSIS_DAP]]])
 
+m4_define([HIDAPI_USB1_ADAPTERS],
+       [[[kitprog], [Cypress KitProg Programmer], [KITPROG]]])
+
 m4_define([LIBFTDI_ADAPTERS],
        [[[usb_blaster], [Altera USB-Blaster Compatible], [USB_BLASTER]],
        [[presto], [ASIX Presto Adapter], [PRESTO]],
@@ -258,21 +202,21 @@ AC_ARG_ENABLE([verbose_usb_comms],
 
 AC_MSG_CHECKING([whether to enable verbose JTAG I/O messages]);
 AC_MSG_RESULT([$debug_jtag_io])
-if test $debug_jtag_io = yes; then
+AS_IF([test "x$debug_jtag_io" = "xyes"], [
   AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages])
-fi
+])
 
 AC_MSG_CHECKING([whether to enable verbose USB I/O messages]);
 AC_MSG_RESULT([$debug_usb_io])
-if test $debug_usb_io = yes; then
+AS_IF([test "x$debug_usb_io" = "xyes"], [
   AC_DEFINE([_DEBUG_USB_IO_],[1], [Print verbose USB I/O messages])
-fi
+])
 
 AC_MSG_CHECKING([whether to enable verbose USB communication messages]);
 AC_MSG_RESULT([$debug_usb_comms])
-if test $debug_usb_comms = yes; then
+AS_IF([test "x$debug_usb_comms" = "xyes"], [
   AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages])
-fi
+])
 
 debug_malloc=no
 AC_ARG_ENABLE([malloc_logging],
@@ -282,9 +226,9 @@ AC_ARG_ENABLE([malloc_logging],
 
 AC_MSG_CHECKING([whether to enable malloc free space logging]);
 AC_MSG_RESULT([$debug_malloc])
-if test $debug_malloc = yes; then
+AS_IF([test "x$debug_malloc" = "xyes"], [
   AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging])
-fi
+])
 
 AC_ARG_ENABLE([dummy],
   AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
@@ -304,6 +248,7 @@ AC_ARG_ADAPTERS([
   USB_ADAPTERS,
   USB0_ADAPTERS,
   HIDAPI_ADAPTERS,
+  HIDAPI_USB1_ADAPTERS,
   LIBFTDI_ADAPTERS,
   LIBJAYLINK_ADAPTERS
   ],[auto])
@@ -342,8 +287,8 @@ AC_ARG_ENABLE([ioutil],
   AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
   [build_ioutil=$enableval], [build_ioutil=no])
 
-case "${host_cpu}" in
-  arm*)
+AS_CASE(["${host_cpu}"],
+  [arm*], [
     AC_ARG_ENABLE([ep93xx],
       AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
       [build_ep93xx=$enableval], [build_ep93xx=no])
@@ -355,14 +300,16 @@ case "${host_cpu}" in
     AC_ARG_ENABLE([bcm2835gpio],
       AS_HELP_STRING([--enable-bcm2835gpio], [Enable building support for bitbanging on BCM2835 (as found in Raspberry Pi)]),
       [build_bcm2835gpio=$enableval], [build_bcm2835gpio=no])
-    ;;
-
-  *)
+    AC_ARG_ENABLE([imx_gpio],
+      AS_HELP_STRING([--enable-imx_gpio], [Enable building support for bitbanging on NXP IMX processors]),
+      [build_imx_gpio=$enableval], [build_imx_gpio=no])
+  ],
+  [
     build_ep93xx=no
     build_at91rm9200=no
     build_bcm2835gpio=no
-    ;;
-esac
+    build_imx_gpio=no
+])
 
 AC_ARG_ENABLE([gw16012],
   AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
@@ -381,6 +328,14 @@ AC_ARG_ENABLE([sysfsgpio],
   AS_HELP_STRING([--enable-sysfsgpio], [Enable building support for programming driven via sysfs gpios.]),
   [build_sysfsgpio=$enableval], [build_sysfsgpio=no])
 
+AS_CASE([$host_os],
+  [linux*], [],
+  [
+    AS_IF([test "x$build_sysfsgpio" = "xyes"], [
+      AC_MSG_ERROR([sysfsgpio is only available on linux])
+    ])
+])
+
 AC_ARG_ENABLE([minidriver_dummy],
   AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),
   [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])
@@ -394,16 +349,20 @@ AC_ARG_ENABLE([internal-libjaylink],
   [Disable building internal libjaylink]),
   [use_internal_libjaylink=$enableval], [use_internal_libjaylink=yes])
 
+AC_ARG_ENABLE([target64],
+  AS_HELP_STRING([--disable-target64], [Disable 64-bit target address]),
+    [build_target64=$enableval], [build_target64=yes])
+
 build_minidriver=no
 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
-if test $build_zy1000 = yes; then
-  if test $build_minidriver = yes; then
+AS_IF([test "x$build_zy1000" = "xyes"], [
+  AS_IF([test "x$build_minidriver" = "xyes"], [
     AC_MSG_ERROR([Multiple minidriver options have been enabled.])
-  fi
+  ])
   AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
       [Define to 1 if you have the <jtag_minidriver.h> header file.])
   build_minidriver=yes
-fi
+])
 AC_MSG_RESULT([$build_zy1000])
 
 AC_ARG_ENABLE([remote-bitbang],
@@ -411,232 +370,235 @@ AC_ARG_ENABLE([remote-bitbang],
   [build_remote_bitbang=$enableval], [build_remote_bitbang=no])
 
 AC_MSG_CHECKING([whether to enable dummy minidriver])
-if test $build_minidriver_dummy = yes; then
-  if test $build_minidriver = yes; then
+AS_IF([test "x$build_minidriver_dummy" = "xyes"], [
+  AS_IF([test "x$build_minidriver" = "xyes"], [
     AC_MSG_ERROR([Multiple minidriver options have been enabled.])
-  fi
+  ])
   build_minidriver=yes
   AC_DEFINE([BUILD_MINIDRIVER_DUMMY], [1], [Use the dummy minidriver.])
   AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
       [Define to 1 if you have the <jtag_minidriver.h> header file.])
-fi
+])
 AC_MSG_RESULT([$build_minidriver_dummy])
 
 AC_MSG_CHECKING([whether standard drivers can be built])
-if test "$build_minidriver" = yes; then
+AS_IF([test "x$build_minidriver" = "xyes"], [
   AC_MSG_RESULT([no])
   AC_MSG_WARN([Using the minidriver disables all other drivers.])
   sleep 2
-else
+], [
   AC_MSG_RESULT([yes])
-fi
+])
 
-case "${host_cpu}" in
-  i?86|x86*)
-    ;;
-  *)
-    if test x$parport_use_ppdev = xno; then
+AS_CASE(["${host_cpu}"],
+  [i?86|x86*], [],
+  [
+    AS_IF([test "x$parport_use_ppdev" = "xno"], [
       AC_MSG_WARN([--disable-parport-ppdev is not supported by the host CPU])
-    fi
+    ])
     parport_use_ppdev=yes
-    ;;
-esac
+])
 
-case $host in
-  *-cygwin*)
+AS_CASE([$host],
+  [*-cygwin*], [
     is_win32=yes
     parport_use_ppdev=no
 
     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return __MINGW32__;]])],
       [is_mingw=yes],[is_mingw=no])
-    if test $is_mingw = yes; then
-      AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
-      if test x$parport_use_giveio = xno; then
+    AS_IF([test "x$is_mingw" = "xyes"], [
+      AS_IF([test "x$parport_use_giveio" = "xno"], [
         AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
-      fi
+      ])
       parport_use_giveio=yes
       is_cygwin=no
-    else
+    ], [
       is_cygwin=yes
-      AC_DEFINE([IS_CYGWIN], [1], [1 if building for Cygwin.])
       # sys/io.h needed under cygwin for parport access
-      if test $build_parport = yes; then
+      AS_IF([test "x$build_parport" = "xyes"], [
         AC_CHECK_HEADERS([sys/io.h],[],AC_MSG_ERROR([Please install the cygwin ioperm package]))
-      fi
-    fi
-
-    AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
-    AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
-    ;;
-  *-mingw* | *-msys*)
+      ])
+    ])
+  ],
+  [*-mingw* | *-msys*], [
     is_mingw=yes
     is_win32=yes
     parport_use_ppdev=no
 
-    if test x$parport_use_giveio = xno; then
+    AS_IF([test "x$parport_use_giveio" = "xno"], [
       AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
-    fi
+    ])
     parport_use_giveio=yes
 
-    if test x$build_buspirate = xyes; then
+    AS_IF([test "x$build_buspirate" = "xyes"], [
       AC_MSG_ERROR([buspirate currently not supported by MinGW32 hosts])
-    fi
+    ])
 
-    CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO"
-
-    AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
-    AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
-    AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
-    ;;
-  *darwin*)
+    AC_SUBST([HOST_CPPFLAGS], [-D__USE_MINGW_ANSI_STDIO])
+  ],
+  [*darwin*], [
     is_darwin=yes
 
-    if test x$parport_use_giveio = xyes; then
+    AS_IF([test "x$parport_use_giveio" = "xyes"], [
       AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])
-    fi
+    ])
     parport_use_giveio=no
-
-    AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
-    AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
-    AC_DEFINE([IS_DARWIN], [1], [1 if building for Darwin.])
-    ;;
-  *)
-    if test x$parport_use_giveio = xyes; then
+  ],
+  [
+    AS_IF([test "x$parport_use_giveio" = "xyes"], [
       AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])
-    fi
+    ])
     parport_use_giveio=no
+])
+
+AS_IF([test "x$is_cygwin" = "xyes"], [
+    AC_DEFINE([IS_CYGWIN], [1], [1 if building for Cygwin.])
+], [
     AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
+])
+
+AS_IF([test "x$is_mingw" = "xyes"], [
+    AC_DEFINE([IS_MINGW], [1], [1 if building for Mingw.])
+], [
+    AC_DEFINE([IS_MINGW], [0], [0 if not building for Mingw.])
+])
+
+AS_IF([test "x$is_win32" = "xyes"], [
+    AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
+], [
     AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
-    AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
-    ;;
-esac
+])
 
-if test $is_win32 = yes; then
-    AC_DEFINE([WIN32_LEAN_AND_MEAN], [1], [1 to exclude old conflicting definitions when building on Windows])
-fi
+AS_IF([test "x$is_darwin" = "xyes"], [
+    AC_DEFINE([IS_DARWIN], [1], [1 if building for Darwin.])
+], [
+    AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
+])
 
-if test $build_parport = yes; then
+AS_IF([test "x$build_parport" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_PARPORT], [1], [1 if you want parport.])
-else
+], [
   AC_DEFINE([BUILD_PARPORT], [0], [0 if you don't want parport.])
-fi
+])
 
-if test $build_dummy = yes; then
+AS_IF([test "x$build_dummy" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_DUMMY], [1], [1 if you want dummy driver.])
-else
+], [
   AC_DEFINE([BUILD_DUMMY], [0], [0 if you don't want dummy driver.])
-fi
+])
 
-if test $build_ep93xx = yes; then
+AS_IF([test "x$build_ep93xx" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_EP93XX], [1], [1 if you want ep93xx.])
-else
+], [
   AC_DEFINE([BUILD_EP93XX], [0], [0 if you don't want ep93xx.])
-fi
+])
 
-if test $build_zy1000 = yes; then
+AS_IF([test "x$build_zy1000" = "xyes"], [
   AC_DEFINE([BUILD_ZY1000], [1], [1 if you want ZY1000.])
-else
+], [
   AC_DEFINE([BUILD_ZY1000], [0], [0 if you don't want ZY1000.])
-fi
+])
 
-if test $build_zy1000_master = yes; then
+AS_IF([test "x$build_zy1000_master" = "xyes"], [
   AC_DEFINE([BUILD_ZY1000_MASTER], [1], [1 if you want ZY1000 JTAG master registers.])
-else
+], [
   AC_DEFINE([BUILD_ZY1000_MASTER], [0], [0 if you don't want ZY1000 JTAG master registers.])
-fi
+])
 
-if test $build_at91rm9200 = yes; then
+AS_IF([test "x$build_at91rm9200" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_AT91RM9200], [1], [1 if you want at91rm9200.])
-else
+], [
   AC_DEFINE([BUILD_AT91RM9200], [0], [0 if you don't want at91rm9200.])
-fi
+])
 
-if test $build_bcm2835gpio = yes; then
+AS_IF([test "x$build_bcm2835gpio" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_BCM2835GPIO], [1], [1 if you want bcm2835gpio.])
-else
+], [
   AC_DEFINE([BUILD_BCM2835GPIO], [0], [0 if you don't want bcm2835gpio.])
-fi
+])
 
-if test x$parport_use_ppdev = xyes; then
+AS_IF([test "x$build_imx_gpio" = "xyes"], [
+  build_bitbang=yes
+  AC_DEFINE([BUILD_IMX_GPIO], [1], [1 if you want imx_gpio.])
+], [
+  AC_DEFINE([BUILD_IMX_GPIO], [0], [0 if you don't want imx_gpio.])
+])
+
+AS_IF([test "x$parport_use_ppdev" = "xyes"], [
   AC_DEFINE([PARPORT_USE_PPDEV], [1], [1 if you want parport to use ppdev.])
-else
+], [
   AC_DEFINE([PARPORT_USE_PPDEV], [0], [0 if you don't want parport to use ppdev.])
-fi
+])
 
-if test x$parport_use_giveio = xyes; then
+AS_IF([test "x$parport_use_giveio" = "xyes"], [
   AC_DEFINE([PARPORT_USE_GIVEIO], [1], [1 if you want parport to use giveio.])
-else
+], [
   AC_DEFINE([PARPORT_USE_GIVEIO], [0], [0 if you don't want parport to use giveio.])
-fi
-
-if test $build_bitbang = yes; then
-  AC_DEFINE([BUILD_BITBANG], [1], [1 if you want a bitbang interface.])
-else
-  AC_DEFINE([BUILD_BITBANG], [0], [0 if you don't want a bitbang interface.])
-fi
+])
 
-if test $build_jtag_vpi = yes; then
+AS_IF([test "x$build_jtag_vpi" = "xyes"], [
   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_amtjtagaccel = yes; then
+AS_IF([test "x$build_amtjtagaccel" = "xyes"], [
   AC_DEFINE([BUILD_AMTJTAGACCEL], [1], [1 if you want the Amontec JTAG-Accelerator driver.])
-else
+], [
   AC_DEFINE([BUILD_AMTJTAGACCEL], [0], [0 if you don't want the Amontec JTAG-Accelerator driver.])
-fi
+])
 
-if test $build_gw16012 = yes; then
+AS_IF([test "x$build_gw16012" = "xyes"], [
   AC_DEFINE([BUILD_GW16012], [1], [1 if you want the Gateworks GW16012 driver.])
-else
+], [
   AC_DEFINE([BUILD_GW16012], [0], [0 if you don't want the Gateworks GW16012 driver.])
-fi
-
-if test $build_bitq = yes; then
-  AC_DEFINE([BUILD_BITQ], [1], [1 if you want a bitq interface.])
-else
-  AC_DEFINE([BUILD_BITQ], [0], [0 if you don't want a bitq interface.])
-fi
+])
 
-if test $build_oocd_trace = yes; then
+AS_IF([test "x$build_oocd_trace" = "xyes"], [
   AC_DEFINE([BUILD_OOCD_TRACE], [1], [1 if you want the OpenOCD+trace ETM capture driver.])
-else
+], [
   AC_DEFINE([BUILD_OOCD_TRACE], [0], [0 if you don't want the OpenOCD+trace ETM capture driver.])
-fi
+])
 
-if test $build_buspirate = yes; then
+AS_IF([test "x$build_buspirate" = "xyes"], [
   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 $use_internal_jimtcl = yes; then
-  if test -f "$srcdir/jimtcl/configure.ac"; then
+AS_IF([test "x$use_internal_jimtcl" = "xyes"], [
+  AS_IF([test -f "$srcdir/jimtcl/configure.ac"], [
     AX_CONFIG_SUBDIR_OPTION([jimtcl], [--disable-install-jim])
-  else
+  ], [
     AC_MSG_ERROR([jimtcl not found, run git submodule init and git submodule update.])
-  fi
-fi
+  ])
+])
 
-if test $build_remote_bitbang = yes; then
+AS_IF([test "x$build_remote_bitbang" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_REMOTE_BITBANG], [1], [1 if you want the Remote Bitbang JTAG driver.])
-else
+], [
   AC_DEFINE([BUILD_REMOTE_BITBANG], [0], [0 if you don't want the Remote Bitbang JTAG driver.])
-fi
+])
 
-if test $build_sysfsgpio = yes; then
+AS_IF([test "x$build_sysfsgpio" = "xyes"], [
   build_bitbang=yes
   AC_DEFINE([BUILD_SYSFSGPIO], [1], [1 if you want the SysfsGPIO driver.])
-else
+], [
   AC_DEFINE([BUILD_SYSFSGPIO], [0], [0 if you don't want SysfsGPIO driver.])
-fi
+])
+
+AS_IF([test "x$build_target64" = "xyes"], [
+  AC_DEFINE([BUILD_TARGET64], [1], [1 if you want 64-bit addresses.])
+], [
+  AC_DEFINE([BUILD_TARGET64], [0], [0 if you don't want 64-bit addresses.])
+])
+
 
 PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
        use_libusb1=yes
@@ -668,97 +630,105 @@ PKG_CHECK_MODULES([LIBFTDI], [libftdi1], [use_libftdi=yes], [
        PKG_CHECK_MODULES([LIBFTDI], [libftdi], [use_libftdi=yes], [use_libftdi=no])
 ])
 
-PKG_CHECK_MODULES([libjaylink], [libjaylink >= 0.1],
-       [HAVE_LIBJAYLINK=yes], [HAVE_LIBJAYLINK=no])
+PKG_CHECK_MODULES([LIBJAYLINK], [libjaylink >= 0.2],
+       [use_libjaylink=yes], [use_libjaylink=no])
 
 m4_define([PROCESS_ADAPTERS], [
   m4_foreach([adapter], [$1], [
-       if test $2; then
-               if test $ADAPTER_VAR([adapter]) != no; then
+       AS_IF([test "x$build_zy1000" = "xyes"], [
+               ADAPTER_VAR([adapter])=no
+       ])
+       AS_IF([test $2], [
+               AS_IF([test "x$ADAPTER_VAR([adapter])" != "xno"], [
                        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
-               if test $ADAPTER_VAR([adapter]) = yes; then
+               ])
+       ], [
+               AS_IF([test "x$ADAPTER_VAR([adapter])" = "xyes"], [
                        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])
+       ])
+       AM_CONDITIONAL(ADAPTER_SYM([adapter]), [test "x$ADAPTER_VAR([adapter])" != "xno"])
   ])
 ])
 
-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])
-PROCESS_ADAPTERS([LIBFTDI_ADAPTERS], [$use_libftdi = yes], [libftdi])
-PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], [$use_libusb1 = yes -a $use_internal_libjaylink = yes -o $HAVE_LIBJAYLINK = yes], [libusb-1.x or libjaylink-0.1])
-
-if test $build_openjtag = yes; then
-       if test $use_libusb1 != yes -a $use_libusb0 != yes; then
-               AC_MSG_ERROR([libusb-1.x or libusb-0.1 is required for the OpenJTAG Programmer])
-               build_openjtag=no
-       fi
-fi
+PROCESS_ADAPTERS([USB1_ADAPTERS], ["x$use_libusb1" = "xyes"], [libusb-1.x])
+PROCESS_ADAPTERS([USB_ADAPTERS], ["x$use_libusb1" = "xyes" -o "x$use_libusb0" = "xyes"], [libusb-1.x or libusb-0.1])
+PROCESS_ADAPTERS([USB0_ADAPTERS], ["x$use_libusb0" = "xyes"], [libusb-0.1])
+PROCESS_ADAPTERS([HIDAPI_ADAPTERS], ["x$use_hidapi" = "xyes"], [hidapi])
+PROCESS_ADAPTERS([HIDAPI_USB1_ADAPTERS], ["x$use_hidapi" = "xyes" -a "x$use_libusb1" = "xyes"], [hidapi and libusb-1.x])
+PROCESS_ADAPTERS([LIBFTDI_ADAPTERS], ["x$use_libftdi" = "xyes"], [libftdi])
+PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], ["x$use_internal_libjaylink" = "xyes" -o "x$use_libjaylink" = "xyes"], [libjaylink-0.2])
+
+AS_IF([test "x$build_openjtag" = "xyes"], [
+  AS_IF([test "x$use_libusb1" != "xyes" -a "x$use_libusb0" != "xyes"], [
+    AC_MSG_ERROR([libusb-1.x or libusb-0.1 is required for the OpenJTAG Programmer])
+    build_openjtag=no
+  ])
+])
 
-if test $enable_stlink != no -o $enable_ti_icdi != no; then
+AS_IF([test "x$enable_stlink" != "xno" -o "x$enable_ti_icdi" != "xno"], [
        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([HLADAPTER], [test "x$enable_stlink" != "xno" -o "x$enable_ti_icdi" != "xno"])
 
-if test $enable_jlink != no; then
-  if test $use_internal_libjaylink = yes; then
-    if test -f "$srcdir/src/jtag/drivers/libjaylink/configure.ac"; then
+AS_IF([test "x$enable_jlink" != "xno"], [
+  AS_IF([test "x$use_internal_libjaylink" = "xyes"], [
+    AS_IF([test -f "$srcdir/src/jtag/drivers/libjaylink/configure.ac"], [
       AX_CONFIG_SUBDIR_OPTION([src/jtag/drivers/libjaylink],
                [--enable-subproject-build])
-    else
+    ], [
       AC_MSG_ERROR([Internal libjaylink not found, run either 'git submodule init' and 'git submodule update' or disable internal libjaylink with --disable-internal-libjaylink.])
-    fi
-  fi
-fi
+    ])
+  ])
+])
 
 # Presto needs the bitq module
-if test $enable_presto != no; then
+AS_IF([test "x$enable_presto" != "xno"], [
   build_bitq=yes
-fi
-
-AM_CONDITIONAL([RELEASE], [test $build_release = yes])
-AM_CONDITIONAL([PARPORT], [test $build_parport = yes])
-AM_CONDITIONAL([DUMMY], [test $build_dummy = yes])
-AM_CONDITIONAL([GIVEIO], [test x$parport_use_giveio = xyes])
-AM_CONDITIONAL([EP93XX], [test $build_ep93xx = yes])
-AM_CONDITIONAL([ZY1000], [test $build_zy1000 = yes])
-AM_CONDITIONAL([ZY1000_MASTER], [test $build_zy1000_master = yes])
-AM_CONDITIONAL([IOUTIL], [test $build_ioutil = yes])
-AM_CONDITIONAL([AT91RM9200], [test $build_at91rm9200 = yes])
-AM_CONDITIONAL([BCM2835GPIO], [test $build_bcm2835gpio = yes])
-AM_CONDITIONAL([BITBANG], [test $build_bitbang = yes])
-AM_CONDITIONAL([JTAG_VPI], [test $build_jtag_vpi = yes -o $build_jtag_vpi = yes])
-AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $enable_usb_blaster != no -o $enable_usb_blaster_2 != no])
-AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes])
-AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])
-AM_CONDITIONAL([OOCD_TRACE], [test $build_oocd_trace = yes])
-AM_CONDITIONAL([REMOTE_BITBANG], [test $build_remote_bitbang = yes])
-AM_CONDITIONAL([BUSPIRATE], [test $build_buspirate = yes])
-AM_CONDITIONAL([SYSFSGPIO], [test $build_sysfsgpio = yes])
-AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes])
-AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes])
-AM_CONDITIONAL([IS_CYGWIN], [test $is_cygwin = yes])
-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([USE_LIBFTDI], [test $use_libftdi = yes])
-
-AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = yes])
-AM_CONDITIONAL([MINIDRIVER_DUMMY], [test $build_minidriver_dummy = yes])
-
-AM_CONDITIONAL([INTERNAL_JIMTCL], [test $use_internal_jimtcl = yes])
-AM_CONDITIONAL([INTERNAL_LIBJAYLINK], [test $use_internal_libjaylink = yes])
+])
+
+AM_CONDITIONAL([RELEASE], [test "x$build_release" = "xyes"])
+AM_CONDITIONAL([PARPORT], [test "x$build_parport" = "xyes"])
+AM_CONDITIONAL([DUMMY], [test "x$build_dummy" = "xyes"])
+AM_CONDITIONAL([GIVEIO], [test "x$parport_use_giveio" = "xyes"])
+AM_CONDITIONAL([EP93XX], [test "x$build_ep93xx" = "xyes"])
+AM_CONDITIONAL([ZY1000], [test "x$build_zy1000" = "xyes"])
+AM_CONDITIONAL([ZY1000_MASTER], [test "x$build_zy1000_master" = "xyes"])
+AM_CONDITIONAL([IOUTIL], [test "x$build_ioutil" = "xyes"])
+AM_CONDITIONAL([AT91RM9200], [test "x$build_at91rm9200" = "xyes"])
+AM_CONDITIONAL([BCM2835GPIO], [test "x$build_bcm2835gpio" = "xyes"])
+AM_CONDITIONAL([IMX_GPIO], [test "x$build_imx_gpio" = "xyes"])
+AM_CONDITIONAL([BITBANG], [test "x$build_bitbang" = "xyes"])
+AM_CONDITIONAL([JTAG_VPI], [test "x$build_jtag_vpi" = "xyes" -o "x$build_jtag_vpi" = "xyes"])
+AM_CONDITIONAL([USB_BLASTER_DRIVER], [test "x$enable_usb_blaster" != "xno" -o "x$enable_usb_blaster_2" != "xno"])
+AM_CONDITIONAL([AMTJTAGACCEL], [test "x$build_amtjtagaccel" = "xyes"])
+AM_CONDITIONAL([GW16012], [test "x$build_gw16012" = "xyes"])
+AM_CONDITIONAL([OOCD_TRACE], [test "x$build_oocd_trace" = "xyes"])
+AM_CONDITIONAL([REMOTE_BITBANG], [test "x$build_remote_bitbang" = "xyes"])
+AM_CONDITIONAL([BUSPIRATE], [test "x$build_buspirate" = "xyes"])
+AM_CONDITIONAL([SYSFSGPIO], [test "x$build_sysfsgpio" = "xyes"])
+AM_CONDITIONAL([USE_LIBUSB0], [test "x$use_libusb0" = "xyes"])
+AM_CONDITIONAL([USE_LIBUSB1], [test "x$use_libusb1" = "xyes"])
+AM_CONDITIONAL([IS_CYGWIN], [test "x$is_cygwin" = "xyes"])
+AM_CONDITIONAL([IS_MINGW], [test "x$is_mingw" = "xyes"])
+AM_CONDITIONAL([IS_WIN32], [test "x$is_win32" = "xyes"])
+AM_CONDITIONAL([IS_DARWIN], [test "x$is_darwin" = "xyes"])
+AM_CONDITIONAL([BITQ], [test "x$build_bitq" = "xyes"])
+AM_CONDITIONAL([USE_LIBFTDI], [test "x$use_libftdi" = "xyes"])
+AM_CONDITIONAL([USE_HIDAPI], [test "x$use_hidapi" = "xyes"])
+AM_CONDITIONAL([USE_LIBJAYLINK], [test "x$use_libjaylink" = "xyes"])
+AM_CONDITIONAL([TARGET64], [test "x$build_target64" = "xyes"])
+
+AM_CONDITIONAL([MINIDRIVER], [test "x$build_minidriver" = "xyes"])
+AM_CONDITIONAL([MINIDRIVER_DUMMY], [test "x$build_minidriver_dummy" = "xyes"])
+
+AM_CONDITIONAL([INTERNAL_JIMTCL], [test "x$use_internal_jimtcl" = "xyes"])
+AM_CONDITIONAL([INTERNAL_LIBJAYLINK], [test "x$use_internal_libjaylink" = "xyes"])
 
 # Look for environ alternatives.  Possibility #1: is environ in unistd.h or stdlib.h?
 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
@@ -787,50 +757,31 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
     AC_MSG_RESULT([${has_environ}])
   ])
 
-if test "${has_environ}" != "yes" ; then
+AS_IF([test "x${has_environ}" != "xyes" ], [
   AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
-fi
+])
 
 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
 
 # set default gcc warnings
 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security -Wshadow"
-if test "${gcc_wextra}" = yes; then
+AS_IF([test "x${gcc_wextra}" = "xyes"], [
   GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
   GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
   GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
   GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
-fi
-if test "${gcc_werror}" = yes; then
+])
+AS_IF([test "x${gcc_werror}" = "xyes"], [
   GCC_WARNINGS="${GCC_WARNINGS} -Werror"
-fi
+])
 
 # overide default gcc cflags
-if test $gcc_warnings = yes; then
-  CFLAGS="$CFLAGS $GCC_WARNINGS"
-fi
+AS_IF([test "x$gcc_warnings" = "xyes"], [
+  AC_SUBST([GCC_WARNINGS], [$GCC_WARNINGS])
+])
 
 AC_CONFIG_FILES([
   Makefile
-  src/Makefile
-  src/helper/Makefile
-  src/jtag/Makefile
-  src/jtag/drivers/Makefile
-  src/jtag/drivers/usb_blaster/Makefile
-  src/jtag/hla/Makefile
-  src/jtag/aice/Makefile
-  src/transport/Makefile
-  src/target/openrisc/Makefile
-  src/xsvf/Makefile
-  src/svf/Makefile
-  src/target/Makefile
-  src/rtos/Makefile
-  src/server/Makefile
-  src/flash/Makefile
-  src/flash/nor/Makefile
-  src/flash/nand/Makefile
-  src/pld/Makefile
-  doc/Makefile
 ])
 AC_OUTPUT
 
@@ -839,18 +790,41 @@ echo
 echo OpenOCD configuration summary
 echo --------------------------------------------------
 m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS,
-       HIDAPI_ADAPTERS, LIBFTDI_ADAPTERS, LIBJAYLINK_ADAPTERS],
+       HIDAPI_ADAPTERS, HIDAPI_USB1_ADAPTERS, LIBFTDI_ADAPTERS,
+       LIBJAYLINK_ADAPTERS],
        [s=m4_format(["%-40s"], ADAPTER_DESC([adapter]))
-       case $ADAPTER_VAR([adapter]) in
-               auto)
+       AS_CASE([$ADAPTER_VAR([adapter])],
+               [auto], [
                        echo "$s"yes '(auto)'
-                       ;;
-               yes)
+               ],
+               [yes], [
                        echo "$s"yes
-                       ;;
-               no)
+               ],
+               [no], [
                        echo "$s"no
-                       ;;
-       esac
+       ])
 ])
 echo
+
+AS_IF([test "x$build_oocd_trace" = "xyes"], [
+  echo 'WARNING! Deprecated configure option (--enable-oocd_trace)'
+  echo 'The oocd_trace driver is deprecated and will be removed in the next release.'
+  echo 'If you regularly use this driver, please report to the OpenOCD Mailing List.'
+  echo
+])
+
+AS_IF([test "x$build_zy1000" = "xyes" -o "x$build_zy1000_master" = "xyes"], [
+  echo 'WARNING! Deprecated configure option (--enable-zy1000, --enable-zy1000-master)'
+  echo 'Support for the ZY1000 platform is deprecated and will be removed in the next'
+  echo 'release. If you regularly use this platform, please report to the OpenOCD'
+  echo 'Mailing List.'
+  echo
+])
+
+AS_IF([test "x$build_ioutil" = "xyes"], [
+  echo 'WARNING! Deprecated configure option (--enable-ioutil)'
+  echo 'Support for the ioutil functions is deprecated and will be removed in the next'
+  echo 'release. If you regularly depend on this functionality, please report to the'
+  echo 'OpenOCD Mailing List.'
+  echo
+])

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)