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 --------------------------------------------------------------
)
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 --------------------------------------------------------------
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
dnl ** check for specific header (.h) files that we are interested in
AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h limits.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stddef.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h pthread.h sys/uio.h)
-AC_CHECK_HEADER(unistd.h,AC_CHECK_FUNCS(lchown))
+AC_CHECK_HEADER(unistd.h,[AC_CHECK_FUNCS(lchown)])
-AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO)
-AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO)
+AC_CHECK_HEADER(readline/readline.h, [HaveReadlineReadlineH=YES], [HaveReadlineReadlineH=NO])
+AC_CHECK_HEADER(readline/history.h, [HaveReadlineHistoryH=YES], [HaveReadlineHistoryH=NO])
if test $HaveReadlineReadlineH = YES && test $HaveReadlineHistoryH = YES ; then
HaveReadlineHeaders=YES
AC_CHECK_HEADERS(dlfcn.h dl.h)
dnl ** check for farcalloc (in bcc)
-AC_CHECK_HEADER(alloc.h,AC_CHECK_FUNCS(farcalloc))
+AC_CHECK_HEADER(alloc.h,[AC_CHECK_FUNCS(farcalloc)])
dnl ** check for valloc (in sunos, solaris, mips, amiga, next, minix, ultrix)
-AC_CHECK_HEADER(malloc.h,AC_CHECK_FUNCS(valloc))
+AC_CHECK_HEADER(malloc.h,[AC_CHECK_FUNCS(valloc)])
dnl ** check for POSIX regex
HavePosixRegex=NO
-AC_CHECK_HEADER(regex.h,AC_CHECK_FUNC(regcomp, HavePosixRegex=YES))
+AC_CHECK_HEADER(regex.h,[AC_CHECK_FUNC(regcomp, [HavePosixRegex=YES])])
AC_SUBST(HavePosixRegex)
dnl ** how do we get a timezone name, and UTC offset ?
*) 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
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 --------------------------------------------------
#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 )