- remove requirement for file2c.tcl
[openocd.git] / configure.in
index 2cf08cf40110a1dca02aab958a5f257b111e071a..bc47064f8f7cfa2754eeaf60651b29077bf5daa6 100644 (file)
@@ -1,8 +1,18 @@
+AC_PREREQ(2.59)
 AC_INIT(configure.in)
 
+AC_CANONICAL_HOST
+
 AC_SEARCH_LIBS([ioperm], [ioperm])
+AC_SEARCH_LIBS([dlopen], [dl])
 
-AC_CANONICAL_HOST
+AC_CHECK_HEADERS(jtag_minidriver.h)
+AC_CHECK_HEADERS(sys/param.h)
+AC_CHECK_HEADERS(sys/time.h)
+AC_CHECK_HEADERS(elf.h)
+AC_CHECK_HEADERS(strings.h)
+
+AC_HEADER_TIME
 
 AC_C_BIGENDIAN
 
@@ -12,6 +22,7 @@ AC_CHECK_FUNCS(gettimeofday)
 AC_CHECK_FUNCS(usleep)
 
 build_bitbang=no
+build_bitq=no
 is_cygwin=no
 is_mingw=no
 is_win32=no
@@ -20,25 +31,78 @@ AC_ARG_ENABLE(parport,
   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), 
   [build_parport=$enableval], [build_parport=no])
 
-AC_ARG_ENABLE(parport_ppdev,
-  AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]), 
-  [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
+AC_ARG_ENABLE(dummy,
+  AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]), 
+  [build_dummy=$enableval], [build_dummy=no])
+  
+case "${host_cpu}" in 
+  i?86|x86*)
+    AC_ARG_ENABLE(parport_ppdev,
+      AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]), 
+      [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
+    ;;
+  *) 
+    parport_use_ppdev=yes
+    ;;
+esac
 
-AC_ARG_ENABLE(ftdi2232,
-  AS_HELP_STRING([--enable-ftdi2232], [Enable building the libftdi ft2232c driver]), 
-  [build_ftdi2232=$enableval], [build_ftdi2232=no])
+AC_ARG_ENABLE(ft2232_libftdi,
+  AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver]), 
+  [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
 
-AC_ARG_ENABLE(ftd2xx,
-  AS_HELP_STRING([--enable-ftd2xx], [Enable building the ftd2xx ft2232c driver]), 
-  [build_ftd2xx=$enableval], [build_ftd2xx=no])
+AC_ARG_ENABLE(ft2232_ftd2xx,
+  AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver]), 
+  [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
  
 AC_ARG_ENABLE(amtjtagaccel,
   AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]), 
   [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
 
-AC_ARG_ENABLE(ep93xx,
-  AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]), 
-  [build_ep93xx=$enableval], [build_ep93xx=no])
+case "${host_cpu}" in 
+  arm*)
+    AC_ARG_ENABLE(ep93xx,
+      AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]), 
+      [build_ep93xx=$enableval], [build_ep93xx=no])
+
+       AC_ARG_ENABLE(ecosboard,
+         AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]), 
+         [build_ecosboard=$enableval], [build_ecosboard=no])
+
+    AC_ARG_ENABLE(at91rm9200,
+      AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
+      [build_at91rm9200=$enableval], [build_at91rm9200=no])
+    ;;
+    
+  *) 
+    build_ep93xx=no
+    build_at91rm9200=no
+       build_ecosboard=no
+    ;;
+esac
+
+AC_ARG_ENABLE(gw16012,
+  AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
+  [build_gw16012=$enableval], [build_gw16012=no])
+
+AC_ARG_ENABLE(presto_libftdi,
+  AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
+  [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
+
+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(oocd_trace,
+  AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
+  [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_WITH(ftd2xx,
         [AS_HELP_STRING(--with-ftd2xx,
@@ -47,18 +111,26 @@ AC_ARG_WITH(ftd2xx,
         with_ftd2xx=search)
 
 case $host in 
-  *-*-cygwin*) 
-    is_cygwin=yes
+  *-cygwin*) 
     is_win32=yes
 
     AC_ARG_ENABLE(parport_giveio,
     AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]), 
     [parport_use_giveio=$enableval], [parport_use_giveio=no])
-
-    AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
+       
+       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.])
+               parport_use_giveio=yes
+               is_cygwin=no
+       else
+               is_cygwin=yes
+               AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
+       fi
+       
     AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
     ;; 
-  *-*-mingw*) 
+  *-mingw*) 
     is_mingw=yes
     is_win32=yes
 
@@ -81,6 +153,14 @@ else
   AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
 fi
 
+if test $build_dummy = yes; then
+  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
   build_bitbang=yes
   AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
@@ -88,6 +168,20 @@ else
   AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
 fi
 
+if test $build_ecosboard = yes; then
+  build_bitbang=yes
+  AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
+else
+  AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
+fi
+
+if test $build_at91rm9200 = yes; then
+  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 $parport_use_ppdev = yes; then
   AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
 else
@@ -106,16 +200,16 @@ else
   AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
 fi
 
-if test $build_ftdi2232 = yes; then
-  AC_DEFINE(BUILD_FTDI2232, 1, [1 if you want libftdi ft2232.])
+if test $build_ft2232_libftdi = yes; then
+  AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
 else
-  AC_DEFINE(BUILD_FTDI2232, 0, [0 if you don't want libftdi ft2232.])
+  AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
 fi
 
-if test $build_ftd2xx = yes; then
-  AC_DEFINE(BUILD_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
+if test $build_ft2232_ftd2xx = yes; then
+  AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
 else
-  AC_DEFINE(BUILD_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
+  AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
 fi
 
 if test $build_amtjtagaccel = yes; then
@@ -124,25 +218,92 @@ else
   AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
 fi
 
+if test $build_gw16012 = yes; then
+  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_presto_libftdi = yes; then
+  build_bitq=yes
+  AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
+else
+  AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
+fi
+
+if test $build_presto_ftd2xx = yes; then
+  build_bitq=yes
+  AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
+else
+  AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
+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_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
+
+if test $build_oocd_trace = yes; then
+  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_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
+
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(openocd, 0.1)
+AM_INIT_AUTOMAKE(openocd, 1.0)
 
 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
+AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
+AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
+AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
-AM_CONDITIONAL(FTDI2232, test $build_ftdi2232 = yes)
-AM_CONDITIONAL(FTD2XX, test $build_ftd2xx = yes)
+AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
+AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = 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(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
+AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
+AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
+AM_CONDITIONAL(JLINK, test $build_jlink = 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(FTD2XXDIR, test $with_ftd2xx != search)
+AM_CONDITIONAL(BITQ, test $build_bitq = yes)
 
 AC_LANG_C
 AC_PROG_CC
 AC_PROG_RANLIB
 
+AC_CHECK_PROG(OBJDUMP, objdump, objdump)
+AC_CHECK_PROG(OBJCOPY, objcopy, objcopy)
+
+if test x${OBJDUMP} != x -a x${OBJCOPY} != x ; then
+       AC_MSG_CHECKING(objcopy command line)
+       AC_TRY_COMPILE(,,[OBJCOPY_format=`${OBJDUMP} -f conftest.$ac_objext | sed -e '/file format/!d' -e 's/.*format \(.*\)/\1/'`
+                                         OBJCOPY_arch=`${OBJDUMP} -f conftest.$ac_objext | sed -e '/architecture/!d' -e 's/.*architecture: \(.*\),.*/\1/'`])
+       AC_MSG_RESULT(-I binary -O ${OBJCOPY_format} -B ${OBJCOPY_arch})
+fi
+
+AC_SUBST(OBJCOPY_FORMAT, ${OBJCOPY_format})
+AC_SUBST(OBJCOPY_ARCH, ${OBJCOPY_arch})
+
 AC_SUBST(WITH_FTD2XX, $with_ftd2xx)
 
-AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile)
+AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile src/pld/Makefile doc/Makefile)

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)