X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.in;h=9d6c90f64c2f4eac9654dd37500aa0bd32967207;hp=3b1d49e4f2bed99888f8181ed20318ca4b558dd1;hb=ee22f119de8c9dab5e7b39bba4fa8563ce0940d0;hpb=caf14c53db57b48303a8f5f3f001faaf0e117f9d diff --git a/configure.in b/configure.in index 3b1d49e4f2..9d6c90f64c 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_PREREQ(2.59) +AC_PREREQ(2.60) AC_INIT([openocd], [0.2.0-in-development], [OpenOCD Mailing List ]) AC_CONFIG_SRCDIR([src/openocd.c]) @@ -8,14 +8,31 @@ 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/time.h) +AC_CHECK_HEADERS(sys/poll.h) AC_CHECK_HEADERS(sys/select.h) -AC_CHECK_HEADERS(elf.h) -AC_CHECK_HEADERS(strings.h) -AC_CHECK_HEADERS(stdbool.h) +AC_CHECK_HEADERS(sys/socket.h) +AC_CHECK_HEADERS(sys/stat.h) +AC_CHECK_HEADERS(sys/time.h) +AC_CHECK_HEADERS(sys/types.h) +AC_CHECK_HEADERS(unistd.h) +AC_HEADER_ASSERT +AC_HEADER_STDBOOL AC_HEADER_TIME AC_C_BIGENDIAN @@ -240,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]) @@ -781,8 +811,42 @@ 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 + +# 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 + # set default gcc warnings GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"