diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-08-12 12:27:33 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:50 +1000 |
commit | 4374aaf2b8c59544f9c39ededfdfe659eae9c9c0 (patch) | |
tree | d2df29aa83e80b0b2f82ed713a7aaf78f30813e6 /configure.ac | |
parent | 0f4cb39eb1ebaf3cc931b450b517a177beb8c05e (diff) | |
download | jimtcl-4374aaf2b8c59544f9c39ededfdfe659eae9c9c0.zip jimtcl-4374aaf2b8c59544f9c39ededfdfe659eae9c9c0.tar.gz jimtcl-4374aaf2b8c59544f9c39ededfdfe659eae9c9c0.tar.bz2 |
Improvements to jim configure
Create and use config.h
Check for backtrace, fork, vfork, syslog, regcomp and others
Disable extensions which require missing functions/features
Check for one arg vs. two arg mkdir()
Distinguish between mingw and native windows
The aio extension has reduced functionality for ANSI C only
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index befc2b3..3e17288 100644 --- a/configure.ac +++ b/configure.ac @@ -3,6 +3,7 @@ AC_PREREQ(2.57) AC_INIT([jim], [0.62], [steveb@workware.net.au]) +AC_CONFIG_HEADERS([config.h]) # Checks for programs. AC_PROG_CC @@ -11,6 +12,7 @@ AC_PROG_MAKE_SET # Checks for types AC_CHECK_TYPES(long long,AC_SUBST(HAVE_LONG_LONG,["#define HAVE_LONG_LONG"])) + # Shared library support. Because we don't believe in automake! AC_CANONICAL_HOST case $host in @@ -23,11 +25,11 @@ case $host in esac AC_ARG_ENABLE(fork, - [ --disable-fork do not use fork (no exec, etc.)], + [ --disable-fork do not use fork], [ if test "x$enableval" = "xno" ; then AC_MSG_RESULT(* disabling fork) - EXTRA_CFLAGS="-DJIM_NOFORK" + EXTRA_CFLAGS="-UHAVE_FORK" fi ], ) @@ -51,10 +53,38 @@ AC_ARG_WITH(jim-ext, fi ] ) + +AC_CHECK_FUNCS([backtrace geteuid lstat mkstemp fork strptime sysinfo ualarm]) + +AC_CHECK_FUNCS(vfork,,IGNORE="$IGNORE exec posix signal eventloop") +AC_CHECK_FUNCS(syslog,,IGNORE="$IGNORE syslog") +AC_CHECK_FUNCS(regcomp,,IGNORE="$IGNORE regexp") +AC_CHECK_LIB(dl, dlopen, AC_SUBST(LIBDL,-ldl), IGNORE="$IGNORE load") + +# Does mkdir() include a mode_t argument? +AC_CHECK_DECLS(mkdir, + [AC_MSG_CHECKING(if mkdir takes 2 arguments) + AC_TRY_COMPILE( + [#include <sys/stat.h> + #include <sys/types.h> + ], + [(void)mkdir("dummy");], + [AC_MSG_RESULT(no) + AC_DEFINE(MKDIR_ONE_ARG,[],[Define if mkdir(2) takes a single argument (no mode)]) + ], + [AC_MSG_RESULT(yes)], + )] +) + +# Remove extensions in $IGNORE from $jim_extensions + +for i in $IGNORE; do + jim_extensions=`echo "$jim_extensions" | sed -e "s/$i//"` +done + AC_MSG_RESULT(enabling jim extensions: $jim_extensions) AC_SUBST(JIM_EXTENSIONS,$jim_extensions) for i in $jim_extensions; do - dnl AC_DEFINE_UNQUOTED(jim_ext_$i) EXTRA_CFLAGS="$EXTRA_CFLAGS -Djim_ext_$i" done @@ -69,14 +99,10 @@ AC_ARG_WITH(jim-shared, ) AC_SUBST(JIM_LIBTYPE,$JIM_LIBTYPE) -AC_CHECK_FUNCS([ualarm],EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_UALARM") -AC_CHECK_FUNCS([sysinfo],EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SYSINFO") AC_SUBST(EXTRA_CFLAGS,$EXTRA_CFLAGS) AC_SUBST(SRCDIR,`dirname $0`) -AC_CHECK_LIB(dl, dlopen,AC_SUBST(LIBDL,-ldl)) - AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([jim.h]) AC_OUTPUT |