AC_CHECK_HEADERS(sys/time.h)
AC_CHECK_HEADERS(elf.h)
AC_CHECK_HEADERS(strings.h)
+AC_CHECK_HEADERS(stdbool.h)
AC_HEADER_TIME
AS_HELP_STRING([--enable-release], [Enable Release Build, default no]),
[build_release=$enableval], [build_release=no])
-if test $build_release = no; then
- # check we can find guess-rev.sh
- AC_CHECK_FILE("guess-rev.sh", build_release=no, build_release=yes)
+if test $cross_compiling = no; then
+ if test $build_release = no; then
+ # check we can find guess-rev.sh
+ AC_CHECK_FILE("$srcdir/guess-rev.sh", build_release=no, build_release=yes)
+ fi
fi
# We are not *ALWAYS* being installed in the standard place.
# Option Given.
cat << __EOF__
-The option: --with-ftd2xx=<PATH> has been removed replaced.
+The option: --with-ftd2xx=<PATH> has been removed.
On Linux, the new option is:
--with-ftd2xx-linux-tardir=/path/to/files
)
AC_ARG_ENABLE(gccwarnings,
- AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default yes]),
+ AS_HELP_STRING([--disable-gccwarnings], [Disable compiler warnings]),
[gcc_warnings=$enableval], [gcc_warnings=yes])
+AC_ARG_ENABLE(wextra,
+ AS_HELP_STRING([--disable-wextra], [Disable extra compiler warnings]),
+ [gcc_wextra=$enableval], [gcc_wextra=$gcc_warnings])
+
+AC_ARG_ENABLE(werror,
+ AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),
+ [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])
+
+
AC_ARG_ENABLE(parport,
AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
[build_parport=$enableval], [build_parport=no])
AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
[build_rlink=$enableval], [build_rlink=no])
+AC_ARG_ENABLE(arm-jtag-ew,
+ AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
+ [build_armjtagew=$enableval], [build_armjtagew=no])
+
case $host in
*-cygwin*)
is_win32=yes
AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
fi
+if test $build_armjtagew = yes; then
+ AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
+else
+ AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
+fi
+
#-- Deal with MingW/Cygwin FTD2XX issues
if test $is_win32 = yes; then
fi
if test $build_ft2232_ftd2xx = yes ; then
- AC_MSG_CHECKING([for libftd2xx.a (linux)])
# Must be linux -
# Cause FTDICHIP does not supply a MAC-OS version
if test $host_os != linux-gnu && test $host_os != linux ; then
# Are we given a TAR directory?
if test "${with_ftd2xx_linux_tardir+set}" = set
then
+ AC_MSG_CHECKING([uninstalled ftd2xx distribution])
# The .H file is simple..
- f=$with_ftd2xx_linux_tardir/ftd2xx.h
- if test ! -f $f ; then
- AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: $f])
+ FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
+ if test ! -f "${FTD2XX_H}"; then
+ AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
fi
CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
- if test $with_ftd2xx_lib = shared
- then
- LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir"
- LIBS="$LIBS -lftd2xx"
- AC_MSG_RESULT([ Assuming: -L$with_ftd2xx_linux_tardir -lftd2xx])
- else
+ FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
+ FTD2XX_LIB="-lftd2xx"
+ if test $with_ftd2xx_lib != shared; then
# Test #1 - Future proof - if/when ftdichip fixes their distro.
# Try it with the simple ".a" suffix.
- f=$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a
- if test -f $f ; then
- # Yea we are done
- LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir/static_lib"
- LIBS="$LIBS -lftd2xx"
+ FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"
+ if test -f "${FTD2XX_LIB}"; then
+ FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"
else
# Test Number2.
# Grr.. perhaps it exists as a version number?
- f="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
- count=`ls $f | wc -l`
+ FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
+ count=`ls ${FTD2XX_LIB} | wc -l`
if test $count -gt 1 ; then
AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
fi
fi
# Because the "-l" rules do not understand version numbers...
# we will just stuff the absolute path onto the LIBS variable
- f=`ls $f`
- #
- LIBS="$LIBS $f -lpthread"
- # No need to bother with LDFLAGS...
+ FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
+ FTD2XX_LDFLAGS=""
fi
- AC_MSG_RESULT([Found: $f])
fi
+ LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
+ LIBS="${LIBS} ${FTD2XX_LIB}"
+ AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
else
- LIBS="$LIBS -lftd2xx"
- AC_MSG_RESULT([Assumed: installed])
- AC_MSG_WARN([The (linux) FTDICHIP.COM files ftd2xx.h and libftd2xx.so are assumed to be in a proper place])
+ AC_CHECK_HEADER([ftd2xx.h],[],[
+ AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
+ ])
+ AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
+ AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
+ ],[])
fi
fi
fi
# 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
# We should be able to compile, link and run this test program now
- AC_MSG_CHECKING([Test: Build & Link with ftd2xx])
+ AC_MSG_CHECKING([whether ftd2xx library works])
#
# Save the LDFLAGS for later..
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(openocd, 1.0)
+AM_MAINTAINER_MODE
AM_CONDITIONAL(RELEASE, test $build_release = yes)
AM_CONDITIONAL(PARPORT, test $build_parport = yes)
AM_CONDITIONAL(JLINK, test $build_jlink = yes)
AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
AM_CONDITIONAL(RLINK, test $build_rlink = yes)
+AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = 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)
AC_PROG_RANLIB
# set default gcc warnings
-GCC_WARNINGS="-Wall -Wstrict-prototypes"
+GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
+if test "${gcc_wextra}" = yes; then
+ GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
+fi
+if test "${gcc_werror}" = yes; then
+ GCC_WARNINGS="${GCC_WARNINGS} -Werror"
+fi
# overide default gcc cflags
if test $gcc_warnings = yes; then