[project @ 2003-08-19 15:41:19 by panne]
[ghc-hetmet.git] / configure.ac
index f4e7d6d..053ee6c 100644 (file)
@@ -1,5 +1,5 @@
 dnl == autoconf source for the Glasgow FP tools ==
-dnl (run "grep '^dnl \*' configure.in | sed -e 's/dnl / /g; s/\*\*/   +/g;'"
+dnl (run "grep '^dnl \*' configure.ac | sed -e 's/dnl / /g; s/\*\*/   +/g;'"
 dnl  (or some such) to see the outline of this file)
 dnl
 #
@@ -16,8 +16,10 @@ dnl
 # First off, a distrib sanity check..
 AC_INIT(mk/config.mk.in)
 
-dnl * We require autoconf version 2.50 due to the use of AC_SYS_LARGEFILE and AC_MSG_NOTICE
-AC_PREREQ(2.50)
+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)
 
 dnl * Declare subdirectories that have a private configure script
 dnl
@@ -570,7 +572,8 @@ AC_ARG_ENABLE(hopengl,
 UseQuartzOpenGL=NO
 if test x"$TargetOS_CPP" = x"darwin"; then
   if test x"$enable_hopengl" != x"x11"; then
-    AC_DEFINE(USE_QUARTZ_OPENGL)
+    AC_DEFINE([USE_QUARTZ_OPENGL], [1],
+              [Define to 1 if native OpenGL should be used on Mac OS X])
     UseQuartzOpenGL=YES
   fi
 fi
@@ -583,7 +586,7 @@ AC_ARG_ENABLE(dotnet,
 [  --enable-dotnet
         Build .NET interop layer.
 ],
-[DotnetSupport=YES; AC_DEFINE(WANT_DOTNET_SUPPORT)],
+[DotnetSupport=YES; AC_DEFINE([WANT_DOTNET_SUPPORT], [1], [Define to 1 if you want to include .NET interop support.])],
 [DotnetSupport=NO]
 )
 AC_SUBST(DotnetSupport)
@@ -651,21 +654,16 @@ fi
 AC_SUBST(SRC_CC_OPTS)
 
 dnl ** figure out how to do context diffs
-FPTOOLS_PROG_DIFF
+FP_PROG_CONTEXT_DIFF
 
 dnl ** Find find command (for Win32's benefit)
 FPTOOLS_FIND_FIND
 
-dnl ** Find lex command (lex or flex) - *doesn't* use autoconf's
-dnl    AC_PROG_LEX, since it doesn't actually check whether 'lex'
-dnl    exists if 'flex' doesn't.
-AC_PROG_LEX_STRICT
-
 dnl ** figure out how to do a BSD-ish install
 AC_PROG_INSTALL
 
 dnl If you can run configure, you certainly have /bin/sh
-AC_DEFINE(HAVE_BIN_SH)
+AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.])
 
 dnl ** how to invoke `ar' and `ranlib'
 FPTOOLS_PROG_AR_AND_RANLIB
@@ -802,10 +800,10 @@ AC_CHECK_HEADER(readline/history.h, [HaveReadlineHistoryH=YES], [HaveReadlineHis
 
 if test $HaveReadlineReadlineH = YES && test $HaveReadlineHistoryH = YES ; then
   HaveReadlineHeaders=YES
-  AC_DEFINE(HAVE_READLINE_HEADERS,1)
+  AC_DEFINE([HAVE_READLINE_HEADERS], [1], [Define to 1 if readline/readline.h and readline/history.h exist.])
 else
   HaveReadlineHeaders=NO
-  AC_DEFINE(HAVE_READLINE_HEADERS,0)
+  AC_DEFINE([HAVE_READLINE_HEADERS], [0], [Define to 1 if readline/readline.h and readline/history.h exist.])
 fi
 AC_SUBST(HaveReadlineHeaders)
 
@@ -843,56 +841,63 @@ dnl ** how do we get a timezone name, and UTC offset ?
 AC_STRUCT_TIMEZONE
 
 dnl ** do we have altzone?
-FP_ALTZONE
+FP_DECL_ALTZONE
 
 dnl ** does struct stat contain st_blksize?
 AC_STRUCT_ST_BLKSIZE
 
 dnl ** do we have long longs?
-FPTOOLS_C_LONG_LONG
+AC_CHECK_TYPES([long long])
 
 dnl ** check what fields struct msghdr contains
-FPTOOLS_MSGHDR_MSG_ACCRIGHTS
-FPTOOLS_MSGHDR_MSG_CONTROL
+AC_CHECK_HEADERS([sys/types.h sys/socket.h sys/uio.h])
+AC_CHECK_MEMBERS([struct msghdr.msg_control, struct msghdr.msg_accrights], [], [], [#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+#if HAVE_SYS_UIO_H
+# include <sys/uio.h>
+#endif])
 
 dnl ** what are the sizes of various types
-dnl    (these must come before GHC_CHECK_ALIGNMENT)
 AC_CHECK_SIZEOF(char,               1)
 AC_CHECK_SIZEOF(double,             8)
 AC_CHECK_SIZEOF(float,              4)
 AC_CHECK_SIZEOF(int,                4)
 AC_CHECK_SIZEOF(long,               4)
-if test "$fptools_cv_have_long_long" = yes; then
+if test "$ac_cv_type_long_long" = yes; then
 AC_CHECK_SIZEOF(long long,          8)
 fi
 AC_CHECK_SIZEOF(short,              2)
 AC_CHECK_SIZEOF(unsigned char,      1)
 AC_CHECK_SIZEOF(unsigned int,       4)
 AC_CHECK_SIZEOF(unsigned long,      4)
-if test "$fptools_cv_have_long_long" = yes; then
+if test "$ac_cv_type_long_long" = yes; then
 AC_CHECK_SIZEOF(unsigned long long, 8)
 fi
 AC_CHECK_SIZEOF(unsigned short,     2)
 AC_CHECK_SIZEOF(void *,             4)
 
 dnl ** what are alignment constraints on various types
-FPTOOLS_CHECK_ALIGNMENT(char)
-FPTOOLS_CHECK_ALIGNMENT(double)
-FPTOOLS_CHECK_ALIGNMENT(float)
-FPTOOLS_CHECK_ALIGNMENT(int)
-FPTOOLS_CHECK_ALIGNMENT(long)
-if test "$fptools_cv_have_long_long" = yes; then
-FPTOOLS_CHECK_ALIGNMENT(long long)
+FP_CHECK_ALIGNMENT(char)
+FP_CHECK_ALIGNMENT(double)
+FP_CHECK_ALIGNMENT(float)
+FP_CHECK_ALIGNMENT(int)
+FP_CHECK_ALIGNMENT(long)
+if test "$ac_cv_type_long_long" = yes; then
+FP_CHECK_ALIGNMENT(long long)
 fi
-FPTOOLS_CHECK_ALIGNMENT(short)
-FPTOOLS_CHECK_ALIGNMENT(unsigned char)
-FPTOOLS_CHECK_ALIGNMENT(unsigned int)
-FPTOOLS_CHECK_ALIGNMENT(unsigned long)
-if test "$fptools_cv_have_long_long" = yes; then
-FPTOOLS_CHECK_ALIGNMENT(unsigned long long)
+FP_CHECK_ALIGNMENT(short)
+FP_CHECK_ALIGNMENT(unsigned char)
+FP_CHECK_ALIGNMENT(unsigned int)
+FP_CHECK_ALIGNMENT(unsigned long)
+if test "$ac_cv_type_long_long" = yes; then
+FP_CHECK_ALIGNMENT(unsigned long long)
 fi
-FPTOOLS_CHECK_ALIGNMENT(unsigned short)
-FPTOOLS_CHECK_ALIGNMENT(void *)
+FP_CHECK_ALIGNMENT(unsigned short)
+FP_CHECK_ALIGNMENT(void *)
 
 dnl ** map standard C types and ISO types to Haskell types
 FPTOOLS_CHECK_HTYPE(char)
@@ -904,7 +909,7 @@ FPTOOLS_CHECK_HTYPE(int)
 FPTOOLS_CHECK_HTYPE(unsigned int)
 FPTOOLS_CHECK_HTYPE(long)
 FPTOOLS_CHECK_HTYPE(unsigned long)
-if test "$fptools_cv_have_long_long" = yes; then
+if test "$ac_cv_type_long_long" = yes; then
 FPTOOLS_CHECK_HTYPE(long long)
 FPTOOLS_CHECK_HTYPE(unsigned long long)
 fi
@@ -972,7 +977,7 @@ main() {
 [have_winexec=1],
 [have_winexec=0])
 if test "$have_winexec" = "1"; then
-AC_DEFINE(HAVE_WINEXEC)
+  AC_DEFINE([HAVE_WINEXEC], [1], [Define to 1 if you have the WinExec function.])
 fi
 
 FPTOOLS_TRY_LINK_NOWARN(,[
@@ -988,7 +993,7 @@ main() {
 [have_getmodulefilename=1],
 [have_getmodulefilename=0])
 if test "$have_getmodulefilename" = "1"; then
-AC_DEFINE(HAVE_GETMODULEFILENAME)
+AC_DEFINE([HAVE_GETMODULEFILENAME], [1], [Define to 1 if you have the GetModuleFileName function.])
 fi
 
 dnl ** check return type of signal handlers
@@ -1012,7 +1017,7 @@ dnl fi
 dnl On BCC, signal handlers have type "int(void)", elsewhere its "void(int)".
 AC_TYPE_SIGNAL
 if test "$ac_cv_type_signal" = void; then
-AC_DEFINE(VOID_INT_SIGNALS)
+  AC_DEFINE([VOID_INT_SIGNALS], [1], [Define to 1 if signal handlers have type void (*)(int). Otherwise, they're assumed to have type int (*)(void).])
 fi
 
 dnl ** check for more functions
@@ -1054,7 +1059,7 @@ if test $HostPlatform = "powerpc-apple-darwin"; then
  LIBS="-framework HaskellSupport"
  AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkHaskellSupport=YES,)
  if test $HaveFrameworkHaskellSupport = YES; then
-  AC_DEFINE(HAVE_FRAMEWORK_HASKELLSUPPORT)
+  AC_DEFINE([HAVE_FRAMEWORK_HASKELLSUPPORT], [1], [Define to 1 if the HaskellSupport.framework is installed (Mac OS X only).])
  fi;
  LIBS="$save_libs"
  AC_MSG_RESULT([$HaveFrameworkHaskellSupport])
@@ -1066,7 +1071,7 @@ AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO)
 AC_SUBST(HaveLibMingwEx)
 
 if test $HaveLibMingwEx = YES ; then
-  AC_DEFINE(HAVE_MINGWEX)
+  AC_DEFINE([HAVE_MINGWEX], [1], [Define to 1 if you have the mingwex library.])
 fi
 
 if test "$HaveLibGmp" = "NO"; then
@@ -1094,24 +1099,24 @@ if test $HaveLibTermcap = YES ; then
 fi
 
 if test $HaveLibTermcap = YES && test x"$HaveLibReadline" = xYES ; then
-  AC_DEFINE(HAVE_READLINE_LIBS,1)
+  AC_DEFINE([HAVE_READLINE_LIBS], [1], [Define to 1 if readline plus any additional libs needed for it exist.])
   LibsReadline="readline $LibTermcap"
 else
-  AC_DEFINE(HAVE_READLINE_LIBS,0)
+  AC_DEFINE([HAVE_READLINE_LIBS], [0], [Define to 1 if readline plus any additional libs needed for it exist.])
   LibsReadline=
 fi
 AC_SUBST(LibsReadline)
 
 if test "$HaveLibReadline"; then
   AC_CHECK_LIB(readline, rl_erase_empty_line,
-    [AC_DEFINE(HAVE_READLINE_4, 1)],
-    [AC_DEFINE(HAVE_READLINE_4, 0)])
+    [AC_DEFINE([HAVE_READLINE_4], [1], [Define to 1 if readline has version >= 4.0.])],
+    [AC_DEFINE([HAVE_READLINE_4], [0], [Define to 1 if readline has version >= 4.0.])])
   AC_CHECK_LIB(readline, rl_free_undo_list,
-    [AC_DEFINE(HAVE_READLINE_4_2, 1)],
-    [AC_DEFINE(HAVE_READLINE_4_2, 0)])
+    [AC_DEFINE([HAVE_READLINE_4_2], [1], [Define to 1 if readline has version >= 4.2.])],
+    [AC_DEFINE([HAVE_READLINE_4_2], [0], [Define to 1 if readline has version >= 4.2.])])
 else
-  AC_DEFINE(HAVE_READLINE_4, 0)
-  AC_DEFINE(HAVE_READLINE_4_2, 0)
+  AC_DEFINE([HAVE_READLINE_4], [0], [Define to 1 if readline has version >= 4.0.])
+  AC_DEFINE([HAVE_READLINE_4_2], [0], [Define to 1 if readline has version >= 4.2.])
 fi
 
 dnl ** check for math library
@@ -1150,11 +1155,11 @@ if test $HaveFrameworkHaskellSupport = YES; then
     HaveLibDL=NO
     HaveRtldNext=NO
     HaveRtldLocal=YES
-    AC_DEFINE(HAVE_RTLDLOCAL)
+    AC_DEFINE([HAVE_RTLDLOCAL], [1], [Define to 1 if RTLD_LOCAL is available.])
     HaveRtldGlobal=YES
-    AC_DEFINE(HAVE_RTLDGLOBAL)
+    AC_DEFINE([HAVE_RTLDGLOBAL], [1], [Define to 1 if RTLD_GLOBAL is available.])
     HaveRtldNow=YES
-    AC_DEFINE(HAVE_RTLDNOW)
+    AC_DEFINE([HAVE_RTLDNOW], [1], [Define to 1 if we can see RTLD_NOW in dlfcn.h.])
     AC_SUBST(HaveLibDL)
     AC_SUBST(HaveRtldNext)
     AC_SUBST(HaveRtldLocal)
@@ -1163,7 +1168,7 @@ if test $HaveFrameworkHaskellSupport = YES; then
 else
     AC_CHECK_LIB(dl, dlopen, 
        [HaveLibDL=YES
-        AC_DEFINE(HAVE_LIBDL)
+        AC_DEFINE([HAVE_LIBDL], [1], [Define to 1 if you need -ldl to get dlopen().])
         LIBS="$LIBS -ldl"], 
        [HaveLibDL=NO])
     AC_CHECK_FUNCS(dlopen)
@@ -1179,7 +1184,7 @@ else
      #endif
     ], [
       AC_MSG_RESULT(yes)
-      AC_DEFINE(HAVE_RTLDNEXT)
+      AC_DEFINE([HAVE_RTLDNEXT], [1], [Define to 1 if we can see RTLD_NEXT in dlfcn.h.])
       HaveRtldNext=YES
     ], [
       AC_MSG_RESULT(no)
@@ -1257,8 +1262,7 @@ AC_CACHE_CHECK([return type of usleep], cv_func_usleep_return_type,
                    [cv_func_usleep_return_type=int])])
 case "$cv_func_usleep_return_type" in
   "void" )
-    AC_DEFINE(USLEEP_RETURNS_VOID, 1,
-      [Define if the system headers declare usleep to return void.])
+    AC_DEFINE([USLEEP_RETURNS_VOID], [1], [Define if the system headers declare usleep to return void.])
   ;;
 esac
 
@@ -1267,7 +1271,7 @@ dnl * test for in_addr_t
 dnl --------------------------------------------------
 AC_MSG_CHECKING(for in_addr_t in netinet/in.h)
 AC_EGREP_HEADER(in_addr_t, netinet/in.h,
- [ AC_DEFINE(HAVE_IN_ADDR_T) AC_MSG_RESULT(yes) ],
+ [ AC_DEFINE([HAVE_IN_ADDR_T], [1], [Define to 1 if in_addr_t is available.]) AC_MSG_RESULT(yes) ],
  AC_MSG_RESULT(no))
 
 dnl --------------------------------------------------
@@ -1275,7 +1279,7 @@ dnl * test for Linux sendfile(2)
 dnl --------------------------------------------------
 AC_MSG_CHECKING(for sendfile in sys/sendfile.h)
 AC_EGREP_HEADER(sendfile, sys/sendfile.h,
- [ AC_DEFINE(HAVE_LINUX_SENDFILE) AC_MSG_RESULT(yes) ],
+ [ AC_DEFINE([HAVE_LINUX_SENDFILE], [1], [Define to 1 if you have a Linux sendfile(2) implementation.]) AC_MSG_RESULT(yes) ],
  AC_MSG_RESULT(no))
 
 dnl --------------------------------------------------
@@ -1283,7 +1287,7 @@ dnl * test for BSD sendfile(2)
 dnl --------------------------------------------------
 AC_MSG_CHECKING(for sendfile in sys/socket.h)
 AC_EGREP_HEADER(sendfile, sys/socket.h,
- [ AC_DEFINE(HAVE_BSD_SENDFILE) AC_MSG_RESULT(yes) ],
+ [ AC_DEFINE([HAVE_BSD_SENDFILE], [1], [Define to 1 if you have a BSDish sendfile(2) implementation.]) AC_MSG_RESULT(yes) ],
  AC_MSG_RESULT(no))
 
 dnl --------------------------------------------------
@@ -1323,9 +1327,6 @@ AC_FUNC_VFORK
 dnl ** determine whether or not const works
 AC_C_CONST
 
-dnl ** determine whether ANSI-function prototypes work?
-AC_C_PROTOTYPES          
-
 dnl ** are we big endian?
 AC_C_BIGENDIAN
 
@@ -1349,7 +1350,7 @@ AC_EGREP_CPP(we_have_sigpoll,
 #ifdef SIGPOLL
 we_have_sigpoll
 #endif
-], AC_DEFINE(HAVE_SIGPOLL) haveSIGPOLL=yes, haveSIGPOLL=no)
+], 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 _SC_GETGR_R_SIZE_MAX])
@@ -1361,7 +1362,7 @@ we_have_that_sysconf_thing
 #endif
 ],
 [AC_MSG_RESULT([yes])
-AC_DEFINE(HAVE_SC_GETGR_R_SIZE_MAX)],
+AC_DEFINE([HAVE_SC_GETGR_R_SIZE_MAX], [1], [Define to 1 if <unistd.h> defines _SC_GETGR_R_SIZE_MAX.])],
 [AC_MSG_RESULT([no])])
 
 AC_MSG_CHECKING([for _SC_GETPW_R_SIZE_MAX])
@@ -1373,7 +1374,7 @@ we_have_that_sysconf_thing
 #endif
 ],
 [AC_MSG_RESULT([yes])
-AC_DEFINE(HAVE_SC_GETPW_R_SIZE_MAX)],
+AC_DEFINE([HAVE_SC_GETPW_R_SIZE_MAX], [1], [Define to 1 if <unistd.h> defines _SC_GETPW_R_SIZE_MAX.])],
 [AC_MSG_RESULT([no])])
 
 AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )