AC_PREREQ(2.59)
-AC_INIT(configure.in)
+AC_INIT([openocd], [0.2.0-in-development],
+ [OpenOCD Mailing List <openocd-development@lists.berlios.de>])
+AC_CONFIG_SRCDIR([src/openocd.c])
AC_CANONICAL_HOST
AC_CHECK_HEADERS(jtag_minidriver.h)
AC_CHECK_HEADERS(sys/param.h)
AC_CHECK_HEADERS(sys/time.h)
+AC_CHECK_HEADERS(sys/select.h)
AC_CHECK_HEADERS(elf.h)
AC_CHECK_HEADERS(strings.h)
AC_CHECK_HEADERS(stdbool.h)
is_cygwin=no
is_mingw=no
is_win32=no
+is_darwin=no
build_release=yes
AC_ARG_ENABLE(release,
)
#========================================
-# FTD2XXX support comes in 3 forms.
+# FTD2XXX support comes in 4 forms.
# (1) win32 - via a zip file
# (2) linux - via a tar file
# (3) linux/cygwin/mingw - via libftdi
+# (4) darwin - installed under /usr/local
#
# In case (1) and (2) we need to know where the package was unpacked.
[Enable verbose USB communication messages (for debugging)]),
[debug_usb_comms=$enableval], [])
-AC_MSG_CHECKING([whether to enable verbose JTAB I/O messages]);
+AC_MSG_CHECKING([whether to enable verbose JTAG I/O messages]);
AC_MSG_RESULT($debug_jtag_io)
if test $debug_jtag_io = yes; then
AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages])
fi
AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
+ AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
;;
*-mingw*)
is_mingw=yes
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*)
+ is_darwin=yes
+
+ 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.])
+ ;;
*)
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, 0, [0 if not building for Darwin.])
;;
esac
AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
fi
-if test $build_ft2232_ftd2xx = yes ; then
+if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
# if we are given a zipdir...
fi
fi
-if test $is_win32 = no; then
+if test $is_darwin = yes ; then
+if test "${with_ftd2xx_win32_zipdir+set}" = set
+then
+ AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
+fi
+if test "${with_ftd2xx_linux_tardir+set}" = set
+then
+ AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
+fi
+
+if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
+ AC_MSG_CHECKING([for libftd2xx.a (darwin)])
+
+ if test ! -f /usr/local/include/ftd2xx.h ; then
+ AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])
+ fi
+
+ CFLAGS="$CFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib"
+ LIBS="$LIBS -lftd2xx"
+ AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])
+fi
+fi
+
+if test $is_win32 = no && test $is_darwin = no ; then
if test "${with_ftd2xx_win32_zipdir+set}" = set
then
AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
fi
-if test $build_ft2232_ftd2xx = yes ; then
- # Must be linux -
- # Cause FTDICHIP does not supply a MAC-OS version
+if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
+ # Must be linux
if test $host_os != linux-gnu && test $host_os != linux ; then
AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
fi
fi
fi
-if test $build_ft2232_ftd2xx = yes; then
+if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
# Before we go any further - make sure we can *BUILD* and *RUN*
# a simple app with the "ftd2xx.lib" file - in what ever form we where given
CFLAGS=$CFLAGS_SAVE
fi
+# check for usb.h when a driver will require it
+if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \
+ $build_rlink = yes -o $build_armjtagew = yes
+then
+ AC_CHECK_HEADERS([usb.h],[],
+ [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])
+fi
+
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(openocd, 1.0)
+AM_INIT_AUTOMAKE([-Wall -Wno-portability])
AM_MAINTAINER_MODE
AM_CONDITIONAL(RELEASE, test $build_release = 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)
AC_LANG_C
AC_PROG_CC
+AM_PROG_CC_C_O
AC_PROG_RANLIB
# set default gcc warnings
GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
if test "${gcc_wextra}" = yes; then
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
GCC_WARNINGS="${GCC_WARNINGS} -Werror"