aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-08-12 12:27:33 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:50 +1000
commit4374aaf2b8c59544f9c39ededfdfe659eae9c9c0 (patch)
treed2df29aa83e80b0b2f82ed713a7aaf78f30813e6 /configure.ac
parent0f4cb39eb1ebaf3cc931b450b517a177beb8c05e (diff)
downloadjimtcl-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.ac40
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