# see what flags are available. (Better yet, read the documentation!)
#
+AC_INIT([fptools build system], [1.0], [cvs-fptools@haskell.org], [fptools])
+
# First off, a distrib sanity check..
-AC_INIT(mk/config.mk.in)
+AC_CONFIG_SRCDIR([mk/config.mk.in])
dnl * We require autoconf version 2.52
dnl We need 2.50 due to the use of AC_SYS_LARGEFILE and AC_MSG_NOTICE.
dnl We need 2.52 due to the use of AS_TR_CPP and AS_TR_SH.
-AC_PREREQ(2.52)
+AC_PREREQ([2.52])
dnl * Declare subdirectories that have a private configure script
dnl
dnl--------------------------------------------------------------------
dnl Guess host/target/build platform(s) if necessary.
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
# "$host" defaults to "$target"
if test "x$host" = xNONE ; then
dnl ** check for ghc-pkg command
FP_PROG_GHC_PKG
+dnl Check whether this GHC has readline installed
+FPTOOLS_GHC_HAS_READLINE
+
AC_ARG_WITH(greencard,
[AC_HELP_STRING([--with-greencard=ARG],
[Use ARG as the path to greencard [default=autodetct]])],
dnl ** do we have altzone?
FP_DECL_ALTZONE
-dnl ** does struct stat contain st_blksize?
-AC_STRUCT_ST_BLKSIZE
-
dnl ** do we have long longs?
AC_CHECK_TYPES([long long])
dnl Foo: assumes we can use prototypes.
dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
dnl AC_CACHE_CHECK([type of signal handlers], ac_cv_type_signal_handler,
-dnl [AC_TRY_COMPILE([#include <sys/types.h>
+dnl [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
dnl #include <signal.h>
dnl #ifdef signal
dnl #undef signal
dnl #endif
dnl void (*signal (int, void (*)(int)))(int);
-dnl ],
-dnl [int i;],
-dnl ac_cv_type_signal_handler=void_int,
-dnl ac_cv_type_signal_handler=int_void)])
+dnl ]],
+dnl [[int i;]])],
+dnl [ac_cv_type_signal_handler=void_int],
+dnl [ac_cv_type_signal_handler=int_void])])
dnl if test "$ac_cv_type_signal_handler" = void_int; then
dnl AC_DEFINE(VOID_INT_SIGNALS)
dnl fi
fi
dnl ** check for more functions
-AC_CHECK_FUNCS([ftime getclock getgrgid_r getgrnam_r getpagesize getpwnam_r getpwuid_r getrusage gettimeofday gmtime_r localtime_r lstat readdir_r readlink setenv setitimer siginterrupt symlink sysconf times unsetenv])
+AC_CHECK_FUNCS([ftime getclock getgrgid_r getgrnam_r getpagesize getpwnam_r getpwuid_r getpwnam getpwuid getrusage gettimeofday gmtime_r localtime_r lstat readdir_r readlink setenv setitimer siginterrupt symlink sysconf times unsetenv])
dnl ** Solaris2 needs additionl flag for getpw*_r()
case "$TargetPlatform" in
AC_FUNC_ALLOCA
dnl ** Working vfork?
-AC_FUNC_VFORK
+AC_FUNC_FORK
dnl ** determine whether or not const works
AC_C_CONST
FP_EMPTY_STRUCTS
-AC_MSG_CHECKING([for SIGPOLL])
-AC_EGREP_CPP(we_have_sigpoll,
-[#include <signal.h>
-#ifdef SIGPOLL
-we_have_sigpoll
-#endif
-], AC_DEFINE([HAVE_SIGPOLL], [1], [Define to 1 if you have the sigpoll() function.]) haveSIGPOLL=yes, haveSIGPOLL=no)
-AC_MSG_RESULT([$haveSIGPOLL])
-
-AC_MSG_CHECKING([for SIGINFO])
-AC_EGREP_CPP(we_have_siginfo,
-[#include <signal.h>
-#ifdef SIGINFO
-we_have_siginfo
-#endif
-], AC_DEFINE([HAVE_SIGINFO], [1], [Define to 1 if you have the INFO-signal.]) haveSIGINFO=yes, haveSIGINFO=no)
-AC_MSG_RESULT([$haveSIGINFO])
-
-AC_MSG_CHECKING([for SIGWINCH])
-AC_EGREP_CPP(we_have_sigwinch,
-[#include <signal.h>
-#ifdef SIGWINCH
-we_have_sigwinch
-#endif
-], AC_DEFINE([HAVE_SIGWINCH], [1], [Define to 1 if you have the WINCH-signal.]) haveSIGWINCH=yes, haveSIGWINCH=no)
-AC_MSG_RESULT([$haveSIGWINCH])
-
-AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )
+AC_CONFIG_FILES([mk/config.mk])
+AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
+AC_OUTPUT