X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.in;h=4d1240b5a606f5c5b64b6ee1120c03ab36634ca9;hp=9855da0930b705fd8e3fe6af2125e2b0e9156e68;hb=eb6da244cb8fcaabb66825ebcd033d4180683806;hpb=66add57aa5bae147b7996840a2287f3547b4b8ea diff --git a/configure.in b/configure.in index 9855da0930..4d1240b5a6 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,19 @@ AC_CANONICAL_HOST AC_SEARCH_LIBS([ioperm], [ioperm]) AC_SEARCH_LIBS([dlopen], [dl]) +AC_CHECK_HEADERS(elf.h) +AC_CHECK_HEADERS(ifaddrs.h) AC_CHECK_HEADERS(jtag_minidriver.h) +AC_CHECK_HEADERS(malloc.h) +AC_CHECK_HEADERS(pthread.h) +AC_CHECK_HEADERS(strings.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) +AC_CHECK_HEADERS(sys/types.h) +AC_HEADER_ASSERT +AC_HEADER_STDBOOL AC_HEADER_TIME AC_C_BIGENDIAN @@ -537,7 +542,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... @@ -586,7 +591,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 @@ -607,7 +612,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]) @@ -661,7 +666,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 @@ -739,6 +744,14 @@ 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([-Wall -Wno-portability]) AM_MAINTAINER_MODE @@ -773,8 +786,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"