[project @ 2000-01-24 18:33:34 by sewardj]
[ghc-hetmet.git] / configure.in
index 0465ab6..9c69f92 100644 (file)
@@ -16,6 +16,12 @@ dnl
 # First off, a distrib sanity check..
 AC_INIT(mk/config.mk.in)
 
+dnl * Declare subdirectories that have a private configure script
+dnl
+dnl After the toplevel configuration is complete, the script will recurse into
+dnl these subdirectories (the use of cache values makes repeated checks cheap)
+AC_CONFIG_SUBDIRS(ghc)
+
 # -------------------------------------------------------------------------
 # Prepare to generate the following header files
 #
@@ -86,6 +92,24 @@ alpha-dec-osf[[34]]*)
         HostVendor_CPP='dec'
         HostOS_CPP='osf3'
         ;;
+alpha-unknown-linux)
+       HostPlatform=alpha-unknown-linux
+       TargetPlatform=alpha-unknown-linux
+       BuildPlatform=alpha-unknown-linux
+        HostPlatform_CPP='alpha_unknown_linux'
+        HostArch_CPP='alpha'
+        HostVendor_CPP='unknown'
+        HostOS_CPP='linux'
+        ;;
+alpha-unknown-freebsd*)
+       HostPlatform=alpha-unknown-freebsd
+       TargetPlatform=alpha-unknown-freebsd
+       BuildPlatform=alpha-unknown-freebsd
+        HostPlatform_CPP='alpha_unknown_freebsd'
+        HostArch_CPP='alpha'
+        HostVendor_CPP='unknown'
+        HostOS_CPP='freebsd'
+        ;;
 hppa1.1-hp-hpux*)
        HostPlatform=hppa1.1-hp-hpux  # canonicalise for our purposes (hack)
        TargetPlatform=hppa1.1-hp-hpux
@@ -113,14 +137,14 @@ i[[3456]]86-*-linux*)
         HostVendor_CPP='unknown'
         HostOS_CPP='linux'
         ;;
-i[[3456]]86-*-freebsd3*) # FreeBSD 3.0+ uses ELF
-       HostPlatform=i386-unknown-freebsd3 # hack again
-       TargetPlatform=i386-unknown-freebsd3
-       BuildPlatform=i386-unknown-freebsd3
-        HostPlatform_CPP='i386_unknown_freebsd3'
+i[[3456]]86-*-freebsd[[^0-2]]*) # FreeBSD 3.0+ uses ELF
+       HostPlatform=i386-unknown-freebsd # hack again
+       TargetPlatform=i386-unknown-freebsd
+       BuildPlatform=i386-unknown-freebsd
+        HostPlatform_CPP='i386_unknown_freebsd'
         HostArch_CPP='i386'
         HostVendor_CPP='unknown'
-        HostOS_CPP='freebsd3'
+        HostOS_CPP='freebsd'
         ;;
 i[[3456]]86-*-freebsd2*) # Older FreeBSDs are a.out
        HostPlatform=i386-unknown-freebsd2 # hack again
@@ -298,6 +322,10 @@ dnl AC_SUBST(TargetVendor_CPP)
 
 AC_SUBST(exeext)
 
+AC_PATH_PROG(GHC,ghc)
+AC_PATH_PROGS(NHC,nhc nhc98)
+AC_PATH_PROG(HBC,hbc)
+
 dnl --------------------------------------------------------------
 dnl * Project specific configuration options
 dnl --------------------------------------------------------------
@@ -315,7 +343,7 @@ AC_ARG_WITH(hc,
          recent version of GHC, but you could always try...)
 ],
 [WithHc="$withval"],
-[WithHc="ghc"]
+[WithHc=$GHC]
 )
 AC_SUBST(WithHc)
 
@@ -474,7 +502,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 assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdlib.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 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/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h readline/readline.h bfd.h winsock.h)
+AC_CHECK_HEADERS(Files.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdlib.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 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/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h readline/readline.h readline/history.h bfd.h winsock.h)
 
 dnl ** check for DOS include files
 AC_CHECK_HEADERS(dos.h conio.h io.h std.h) 
@@ -509,6 +537,8 @@ AC_STRUCT_ST_BLKSIZE
 
 dnl ** what are the sizes of various types
 dnl    (these must come before GHC_CHECK_ALIGNMENT)
+AC_CHECK_SIZEOF(char,        1)
+AC_CHECK_SIZEOF(int,         4)
 AC_CHECK_SIZEOF(unsigned int,4)
 AC_CHECK_SIZEOF(float,       4)
 AC_CHECK_SIZEOF(double,      8)
@@ -516,6 +546,9 @@ AC_CHECK_SIZEOF(long,        4)
 AC_CHECK_SIZEOF(void *,      4)
 
 dnl ** what are alignment constraints on various types
+FPTOOLS_CHECK_ALIGNMENT(char)
+FPTOOLS_CHECK_ALIGNMENT(int)
+FPTOOLS_CHECK_ALIGNMENT(void *)
 FPTOOLS_CHECK_ALIGNMENT(unsigned int) dnl redundant but harmless
 FPTOOLS_CHECK_ALIGNMENT(long)
 FPTOOLS_CHECK_ALIGNMENT(float)
@@ -623,7 +656,8 @@ HaveLibReadline=YES
 [
 AC_DEFINE(HAVE_LIBREADLINE,0)
 HaveLibReadline=NO
-])
+],
+-ltermcap)
 AC_SUBST(HaveLibReadline)