[project @ 2000-03-28 14:29:13 by simonmar]
[ghc-hetmet.git] / configure.in
index 862eb96..2418a6b 100644 (file)
@@ -92,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
@@ -119,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[[3-9]]*) # 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
@@ -304,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 --------------------------------------------------------------
@@ -321,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)
 
@@ -513,22 +535,47 @@ FPTOOLS_ALTZONE
 dnl ** does struct stat contain st_blksize?
 AC_STRUCT_ST_BLKSIZE
 
+dnl ** do we have long longs?
+FPTOOLS_C_LONG_LONG
+
 dnl ** what are the sizes of various types
 dnl    (these must come before GHC_CHECK_ALIGNMENT)
-AC_CHECK_SIZEOF(unsigned int,4)
-AC_CHECK_SIZEOF(float,       4)
-AC_CHECK_SIZEOF(double,      8)
-AC_CHECK_SIZEOF(long,        4)
-AC_CHECK_SIZEOF(void *,      4)
+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
+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
+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(unsigned int) dnl redundant but harmless
-FPTOOLS_CHECK_ALIGNMENT(long)
-FPTOOLS_CHECK_ALIGNMENT(float)
+FPTOOLS_CHECK_ALIGNMENT(char)
 FPTOOLS_CHECK_ALIGNMENT(double)
-
-dnl ** do we have long longs?
-FPTOOLS_C_LONG_LONG
+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)
+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)
+fi
+FPTOOLS_CHECK_ALIGNMENT(unsigned short)
+FPTOOLS_CHECK_ALIGNMENT(void *)
 
 dnl ** can we open files in binary mode?
 FPTOOLS_O_BINARY
@@ -621,6 +668,10 @@ AC_CHECK_LIB(iberty, xmalloc)
 AC_CHECK_LIB(bfd,    bfd_init)
 
 dnl ** check for readline, for Hugs
+dnl termcap is obsoleted by ncurses, but for compatibility, we have to
+dnl check for both...
+AC_SEARCH_LIBS(tputs, [ncurses termcap])
+
 AC_CHECK_LIB(readline, readline,
 [
 AC_DEFINE(HAVE_LIBREADLINE,1)
@@ -629,8 +680,7 @@ HaveLibReadline=YES
 [
 AC_DEFINE(HAVE_LIBREADLINE,0)
 HaveLibReadline=NO
-],
--ltermcap)
+])
 AC_SUBST(HaveLibReadline)
 
 
@@ -661,9 +711,6 @@ AC_C_BIGENDIAN
 errprint((fptools configure script wizard sez: "don't worry, the above warning is harmless (to us.)")
 )
 
-dnl ** determine the return type of signal()
-AC_TYPE_SIGNAL
-
 dnl ** check for leading underscores in symbol names
 FPTOOLS_UNDERSCORE