[project @ 2002-02-12 03:52:08 by chak]
[ghc-hetmet.git] / configure.in
index 44451a7..e030223 100644 (file)
@@ -266,15 +266,15 @@ powerpc-ibm-aix*)
         HostVendor_CPP='ibm'
         HostOS_CPP='aix'
         ;;
-powerpc-apple-macosx*)
-      HostPlatform=powerpc-apple-macosx
-      TargetPlatform=powerpc-apple-macosx #hack
-      BuildPlatform=powerpc-apple-macosx #hack
-        HostPlatform_CPP='powerpc_apple_macosx'
-        HostArch_CPP='powerpc'
-        HostVendor_CPP='apple'
-        HostOS_CPP='macosx'
-        ;;
+powerpc-apple-darwin*)
+       HostPlatform=powerpc-apple-darwin
+       TargetPlatform=powerpc-apple-darwin #hack
+       BuildPlatform=powerpc-apple-darwin #hack
+       HostPlatform_CPP='powerpc_apple_darwin'
+       HostArch_CPP='powerpc'
+       HostVendor_CPP='apple'
+       HostOS_CPP='darwin'
+       ;;
 sparc-sun-sunos4*)
        HostPlatform=sparc-sun-sunos4
        TargetPlatform=sparc-sun-sunos4 #hack
@@ -442,6 +442,17 @@ fi;
 fi;
 
 
+dnl ** Enable multi-thread friendly RTS?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(threaded-rts,
+[  --enable-threaded-rts
+        Support better interop with OS threads.
+],
+[ThreadedRts=YES],
+[ThreadedRts=NO]
+)
+AC_SUBST(ThreadedRts)
+
 dnl ** Enable the construction of Win32 DLLs?
 dnl --------------------------------------------------------------
 AC_ARG_ENABLE(win32-dlls,
@@ -579,7 +590,6 @@ AC_DEFINE(HAVE_BIN_SH)
 dnl ** how to invoke `ar' and `ranlib'
 FPTOOLS_PROG_AR_AND_RANLIB
 
-
 dnl ** Check to see whether ln -s works
 AC_PROG_LN_S
 
@@ -629,6 +639,13 @@ fi
 AC_SUBST(CompressCmd)
 AC_SUBST(CompressSuffix)
 
+AC_ARG_ENABLE(src-tree-happy,
+[  --enable-src-tree-happy
+        Build and use source tree (fptools/happy) version of happy.
+],
+[UseSrcTreeHappy=YES],
+[UseSrcTreeHappy=NO]
+)
 dnl ** check for installed happy binary + version
 dnl    (don't do it if we're booting from .hc files though.)
 if test "$BootingFromHc" = "NO"; then
@@ -647,7 +664,7 @@ dnl ** check for full ANSI header (.h) files
 AC_HEADER_STDC
 
 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)
+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)
 
 AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO)
 AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO)
@@ -760,6 +777,19 @@ dnl Int32 is a HACK for non-ISO C compilers
 FPTOOLS_CHECK_HTYPE(sig_atomic_t, Int32)
 FPTOOLS_CHECK_HTYPE(clock_t)
 FPTOOLS_CHECK_HTYPE(time_t)
+FPTOOLS_CHECK_HTYPE(dev_t, Word32)
+FPTOOLS_CHECK_HTYPE(ino_t)
+FPTOOLS_CHECK_HTYPE(mode_t)
+FPTOOLS_CHECK_HTYPE(off_t)
+FPTOOLS_CHECK_HTYPE(pid_t)
+FPTOOLS_CHECK_HTYPE(size_t)
+FPTOOLS_CHECK_HTYPE(gid_t)
+FPTOOLS_CHECK_HTYPE(uid_t)
+FPTOOLS_CHECK_HTYPE(cc_t)
+FPTOOLS_CHECK_HTYPE(speed_t)
+FPTOOLS_CHECK_HTYPE(tcflag_t)
+FPTOOLS_CHECK_HTYPE(nlink_t)
+FPTOOLS_CHECK_HTYPE(ssize_t)
 
 dnl ** Map OpenGL data types to Haskell types
 if test $GhcLibsWithHOpenGL = YES ; then
@@ -855,7 +885,7 @@ AC_CHECK_FUNCS(pclose    _pclose )
 
 
 dnl ** check for specific library functions that we are interested in
-AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat lstat symlink sysconf timelocal times vadvise vfork localtime_r gmtime_r)
+AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat lstat symlink sysconf timelocal times vadvise vfork localtime_r gmtime_r readdir_r)
 
 dnl ** check whether this machine has gmp3 installed
 AC_CHECK_LIB(gmp,  __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
@@ -988,7 +1018,14 @@ dnl ** code before data?
 FPTOOLS_CODE_BEFORE_DATA
 
 dnl ** check for ld, and whether ld has -x option
-AC_PATH_PROG(LdCmd, ld)
+AC_PATH_PROG(LdCmdRaw, ld)
+case $HostOS_CPP in
+ mingw32) LdCmd=`cygpath -w ${LdCmdRaw} | sed -e 's@\\\\@/@g' `
+          ;;
+ *) LdCmd=${LdCmdRaw}
+    ;;
+esac
+AC_SUBST(LdCmd)
 FPTOOLS_LD_X
 
 AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )