AC_PREREQ(2.64)
-AC_INIT([openocd], [0.8.0-rc1-dev],
+AC_INIT([openocd], [0.10.0-dev],
[OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
AC_CONFIG_SRCDIR([src/openocd.c])
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
+ 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])
# include <sys/socket.h>
#endif
])
+AC_CHECK_HEADERS([poll.h])
AC_CHECK_HEADERS([pthread.h])
AC_CHECK_HEADERS([strings.h])
AC_CHECK_HEADERS([sys/ioctl.h])
AC_CHECK_HEADERS([sys/param.h])
-AC_CHECK_HEADERS([sys/poll.h])
AC_CHECK_HEADERS([sys/select.h])
AC_CHECK_HEADERS([sys/stat.h])
AC_CHECK_HEADERS([sys/time.h])
m4_define([USB1_ADAPTERS],
[[[ftdi], [MPSSE mode of FTDI based devices], [FTDI]],
+ [[jlink], [Segger J-Link JTAG Programmer], [JLINK]],
[[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]]])
+ [[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]],
+ [[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
[[opendous], [eStick/opendous JTAG Programmer], [OPENDOUS]],
[[aice], [Andes JTAG Programmer], [AICE]]])
m4_define([USB0_ADAPTERS],
- [[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]],
- [[usbprog], [USBProg JTAG Programmer], [USBPROG]],
+ [[[usbprog], [USBProg JTAG Programmer], [USBPROG]],
[[rlink], [Raisonance RLink JTAG Programmer], [RLINK]],
[[armjtagew], [Olimex ARM-JTAG-EW Programmer], [ARMJTAGEW]]])
AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]),
[use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
+AC_ARG_ENABLE([internal-libjaylink],
+ AS_HELP_STRING([--disable-internal-libjaylink],
+ [Disable building internal libjaylink]),
+ [use_internal_libjaylink=$enableval], [use_internal_libjaylink=yes])
+
build_minidriver=no
AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
if test $build_zy1000 = yes; then
;;
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
+
if test $build_parport = yes; then
build_bitbang=yes
AC_DEFINE([BUILD_PARPORT], [1], [1 if you want parport.])
fi
fi
+if test $use_internal_libjaylink = yes; then
+ if test -f "$srcdir/src/jtag/drivers/libjaylink/configure.ac"; then
+ ( cd $srcdir/src/jtag/drivers/libjaylink/ && ./autogen.sh )
+ 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
+else
+ PKG_CHECK_MODULES([libjaylink], [libjaylink >= 0.1],
+ [CFLAGS="$CFLAGS $libjaylink_CFLAGS"; LIBS="$LIBS $libjaylink_LIBS"; HAVE_LIBJAYLINK=yes], [HAVE_LIBJAYLINK=no])
+fi
+
if test $build_remote_bitbang = yes; then
build_bitbang=yes
AC_DEFINE([BUILD_REMOTE_BITBANG], [1], [1 if you want the Remote Bitbang JTAG driver.])
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])
fi
AM_CONDITIONAL([HLADAPTER], [test $enable_stlink != no -o $enable_ti_icdi != no])
+# Disable J-Link driver if internal libjaylink is disabled and libjaylink was
+# not found by pkg-config.
+if test $enable_jlink != no; then
+ if test $use_internal_libjaylink$HAVE_LIBJAYLINK = nono; then
+ enable_jlink=no
+ fi
+fi
+
AM_CONDITIONAL([RELEASE], [test $build_release = yes])
AM_CONDITIONAL([PARPORT], [test $build_parport = yes])
AM_CONDITIONAL([DUMMY], [test $build_dummy = 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([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 $use_libusb1 = 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([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])
# 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])
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
echo OpenOCD configuration summary
echo --------------------------------------------------
m4_foreach([adapter], [USB1_ADAPTERS, USB_ADAPTERS, USB0_ADAPTERS, HIDAPI_ADAPTERS],
- [echo -n m4_format(["%-40s"], ADAPTER_DESC([adapter]))
+ [s=m4_format(["%-40s"], ADAPTER_DESC([adapter]))
case $ADAPTER_VAR([adapter]) in
auto)
- echo yes '(auto)'
+ echo "$s"yes '(auto)'
;;
yes)
- echo yes
+ echo "$s"yes
;;
no)
- echo no
+ echo "$s"no
;;
esac
])