[project @ 2003-05-17 14:49:45 by reid]
[ghc-hetmet.git] / configure.in
index 85d40a0..6e8d6c1 100644 (file)
@@ -468,6 +468,10 @@ AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.])
 fi;
 fi;
 
+dnl ** Must have GHC to build GHC, unless --enable-hc-boot is on
+if test "$BootingFromHc" = "NO" -a "$WithGhc" = "" -a -d "$srcdir/ghc"; then
+AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
+fi;
 
 dnl ** Enable multi-thread friendly RTS?
 dnl --------------------------------------------------------------
@@ -528,26 +532,6 @@ AC_ARG_ENABLE(hopengl,
 )
 AC_SUBST(GhcLibsWithHOpenGL)
 
-dnl ** Use a specific version of the GLUT API
-dnl --------------------------------------------------------------
-AC_ARG_WITH(glut-api,
-[  --with-glut-api=<version>
-        Use a specific version of the GLUT API when building HOpenGL.
-])
-test -n "$with_glut_api"  && CPPFLAGS="$CPPFLAGS -DGLUT_API_VERSION=$with_glut_api"
-
-
-dnl ** Use a specific version of the GLUT API
-dnl --------------------------------------------------------------
-AC_ARG_WITH(glut-xlib,
-[  --with-glut-xlib=<version>
-        Use a specific version of the GLUT Xlib implementation when building HOpenGL.
-])
-test -n "$with_glut_xlib" && CPPFLAGS="$CPPFLAGS -DGLUT_XLIB_IMPLEMENTATION=$with_glut_xlib"
-
-
-
-
 dnl --------------------------------------------------------------
 dnl End of configure script option section
 dnl --------------------------------------------------------------
@@ -594,6 +578,7 @@ dnl     If gcc, make sure it's at least 2.1
 dnl
 AC_PROG_CC
 FPTOOLS_HAVE_GCC
+FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR
 
 dnl ** figure out how to invoke cpp directly (gcc -E is no good)
 AC_PROG_CPP
@@ -685,6 +670,19 @@ fi
 AC_SUBST(CompressCmd)
 AC_SUBST(CompressSuffix)
 
+dnl ** check for ghc-pkg command
+AC_PATH_PROG(GhcPkgCmd,ghc-pkg)
+
+AC_ARG_WITH(greencard,
+[  --with-greencard=<greencard compiler>
+        Use a command different from 'green-card' to compile GreenCard files
+],
+[
+GreencardCmd=$withval;
+FPTOOLS_GREENCARD(3.00)
+]
+)
+
 AC_ARG_ENABLE(src-tree-happy,
 [  --enable-src-tree-happy
         Build and use source tree (fptools/happy) version of happy.
@@ -856,6 +854,7 @@ FPTOOLS_CHECK_HTYPE(tcflag_t)
 FPTOOLS_CHECK_HTYPE(blkcnt_t)
 FPTOOLS_CHECK_HTYPE(nlink_t)
 FPTOOLS_CHECK_HTYPE(ssize_t)
+FPTOOLS_CHECK_HTYPE(rlim_t)
 
 dnl ** Map OpenGL data types to Haskell types
 if test $GhcLibsWithHOpenGL = YES ; then
@@ -1043,7 +1042,10 @@ mingw32)  ;;
 *) AC_PATH_XTRA() ;;
 esac
 
+dnl ** check for OpenGL/GLUT/GLX include paths and libraries
+if test $GhcLibsWithHOpenGL = YES ; then
 FPTOOLS_HAVE_OPENGL
+fi
 
 dnl ################################################################
 dnl Check for libraries
@@ -1055,7 +1057,7 @@ dnl (Mac OS X only) ... but don't check if we already have the
 dnl HaskellSupport.framework
 
 if test $HaveFrameworkHaskellSupport = YES; then
-    HaveLibDL = NO
+    HaveLibDL=NO
     HaveRtldNext=NO
     HaveRtldLocal=YES
     AC_DEFINE(HAVE_RTLDLOCAL)
@@ -1179,6 +1181,22 @@ AC_EGREP_HEADER(in_addr_t, netinet/in.h,
  AC_MSG_RESULT(no))
 
 dnl --------------------------------------------------
+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_MSG_RESULT(no))
+
+dnl --------------------------------------------------
+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_MSG_RESULT(no))
+
+dnl --------------------------------------------------
 dnl * test for GTK+
 dnl --------------------------------------------------
 
@@ -1245,4 +1263,23 @@ we_have_sigpoll
 #endif
 ], AC_DEFINE(HAVE_SIGPOLL) haveSIGPOLL=yes, haveSIGPOLL=no)
 AC_MSG_RESULT([$haveSIGPOLL])
+
+AC_MSG_CHECKING(for _SC_GETGR_R_SIZE_MAX)
+AC_EGREP_CPP(we_have_that_sysconf_thing,
+[
+#include <unistd.h>
+#ifdef _SC_GETGR_R_SIZE_MAX
+we_have_that_sysconf_thing
+#endif
+], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SC_GETGR_R_SIZE_MAX), AC_MSG_RESULT(no))    
+
+AC_MSG_CHECKING(for _SC_GETPW_R_SIZE_MAX)
+AC_EGREP_CPP(we_have_that_sysconf_thing,
+[
+#include <unistd.h>
+#ifdef _SC_GETPW_R_SIZE_MAX
+we_have_that_sysconf_thing
+#endif
+], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SC_GETPW_R_SIZE_MAX), AC_MSG_RESULT(no))    
+
 AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )