X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.in;h=9ddd9e7f20680f8bf6de134eda4c223c6e3cafe4;hp=885901371bdb0620f9a1616231277bb52b3f2b9e;hb=7d81ab69e192e0f89f67007e70e878e5987d598a;hpb=60fdeb057a53597bbd1b05b9fbc7c2d05fe8d143 diff --git a/configure.in b/configure.in index 885901371b..9ddd9e7f20 100644 --- a/configure.in +++ b/configure.in @@ -1,18 +1,38 @@ -AC_PREREQ(2.59) -AC_INIT(configure.in) +AC_PREREQ(2.60) +AC_INIT([openocd], [0.2.0-in-development], + [OpenOCD Mailing List ]) +AC_CONFIG_SRCDIR([src/openocd.c]) AC_CANONICAL_HOST AC_SEARCH_LIBS([ioperm], [ioperm]) AC_SEARCH_LIBS([dlopen], [dl]) +AC_CHECK_HEADERS(arpa/inet.h) +AC_CHECK_HEADERS(elf.h) +AC_CHECK_HEADERS(dirent.h) +AC_CHECK_HEADERS(fcntl.h) +AC_CHECK_HEADERS(ifaddrs.h) AC_CHECK_HEADERS(jtag_minidriver.h) +AC_CHECK_HEADERS(malloc.h) +AC_CHECK_HEADERS(netdb.h) +AC_CHECK_HEADERS(netinet/in.h) +AC_CHECK_HEADERS(netinet/tcp.h) +AC_CHECK_HEADERS(net/if.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/socket.h) +AC_CHECK_HEADERS(sys/stat.h) AC_CHECK_HEADERS(sys/time.h) -AC_CHECK_HEADERS(elf.h) -AC_CHECK_HEADERS(strings.h) -AC_CHECK_HEADERS(stdbool.h) +AC_CHECK_HEADERS(sys/types.h) +AC_CHECK_HEADERS(unistd.h) +AC_HEADER_ASSERT +AC_HEADER_STDBOOL AC_HEADER_TIME AC_C_BIGENDIAN @@ -237,6 +257,19 @@ if test $debug_usb_comms = yes; then fi +debug_malloc=no +AC_ARG_ENABLE(malloc_logging, + AS_HELP_STRING([--enable-malloc-logging], + [Include free space in logging messages (requires malloc.h).]), + [debug_malloc=$enableval], []) + +AC_MSG_CHECKING([whether to enable malloc free space logging]); +AC_MSG_RESULT($debug_malloc) +if test $debug_malloc = yes; then + AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging]) +fi + + AC_ARG_ENABLE(parport, AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), [build_parport=$enableval], [build_parport=no]) @@ -534,7 +567,7 @@ then 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... @@ -583,7 +616,7 @@ then 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 libftd2xx.a (darwin)]) if test ! -f /usr/local/include/ftd2xx.h ; then @@ -604,7 +637,7 @@ then AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only]) fi -if test $build_ft2232_ftd2xx = yes ; then +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]) @@ -658,7 +691,7 @@ if test $build_ft2232_ftd2xx = yes ; then 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 @@ -736,8 +769,21 @@ LDFLAGS=$LDFLAGS_SAVE 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) +AH_BOTTOM([ +#include "system.h" +#include "replacements.h" +]) + +AM_INIT_AUTOMAKE([-Wall -Wno-portability]) AM_MAINTAINER_MODE AM_CONDITIONAL(RELEASE, test $build_release = yes) @@ -770,7 +816,47 @@ AM_CONDITIONAL(BITQ, test $build_bitq = yes) AC_LANG_C AC_PROG_CC +AC_PROG_CC_C99 +AM_PROG_CC_C_O AC_PROG_RANLIB +AC_PROG_LIBTOOL + +dnl configure checks required for Jim files (these are obsolete w/ C99) +AC_C_CONST +AC_TYPE_LONG_LONG_INT + +# 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]) +AC_COMPILE_IFELSE([ +#define _GNU_SOURCE +#include +#include +int main(int argc, char **argv) { char **ep = environ; } + ], [ + AC_MSG_RESULT([yes]) + has_environ=yes + ], [ + AC_MSG_RESULT([no]) + + # Possibility #2: can environ be found in an available library? + AC_MSG_CHECKING([for extern environ]) + AC_LINK_IFELSE([ +extern char **environ; +int main(int argc, char **argv) { char **ep = environ; } + ], [ + AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.]) + has_environ=yes + ], [ + has_environ=no + ]) + AC_MSG_RESULT([${has_environ}]) + ]) + +if test "${has_environ}" != "yes" ; then + 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" @@ -778,6 +864,7 @@ 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"