[project @ 2001-07-23 22:33:52 by ken]
[ghc-hetmet.git] / configure.in
index b2376fd..a35ad4a 100644 (file)
@@ -75,7 +75,7 @@ exeext=''
 # We also record the architecture, vendor, and operating system (OS)
 # separately.
 case $HostPlatform in
-alpha-dec-osf[[12]]*)
+alpha*-dec-osf[[12]]*)
        HostPlatform=alpha-dec-osf1   # canonicalise for our purposes
        TargetPlatform=alpha-dec-osf1 # this will work for now... (hack)
        BuildPlatform=alpha-dec-osf1  # hack
@@ -84,7 +84,7 @@ alpha-dec-osf[[12]]*)
         HostVendor_CPP='dec'
         HostOS_CPP='osf1'
         ;;
-alpha-dec-osf[[34]]*)
+alpha*-dec-osf[[345]]*)
        HostPlatform=alpha-dec-osf3   # canonicalise for our purposes
        TargetPlatform=alpha-dec-osf3 # this will work for now... (hack)
        BuildPlatform=alpha-dec-osf3  # hack
@@ -93,7 +93,7 @@ alpha-dec-osf[[34]]*)
         HostVendor_CPP='dec'
         HostOS_CPP='osf3'
         ;;
-alpha-unknown-linux)
+alpha*-unknown-linux)
        HostPlatform=alpha-unknown-linux
        TargetPlatform=alpha-unknown-linux
        BuildPlatform=alpha-unknown-linux
@@ -102,7 +102,7 @@ alpha-unknown-linux)
         HostVendor_CPP='unknown'
         HostOS_CPP='linux'
         ;;
-alpha-unknown-freebsd*)
+alpha*-unknown-freebsd*)
        HostPlatform=alpha-unknown-freebsd
        TargetPlatform=alpha-unknown-freebsd
        BuildPlatform=alpha-unknown-freebsd
@@ -202,12 +202,6 @@ i[[3456]]86-*-mingw32*)
         HostVendor_CPP='unknown'
         HostOS_CPP='mingw32'
        exeext='.exe'
-       # We assume you're using mingw32 via the gcc that comes
-       # with cygwin, and not the native port, so let's augment
-       # the gcc command-line used here with -mno-cygwin -mwin32
-       # to arrange for good things to happen.
-       CFLAGS="-mno-cygwin -mwin32 $CFLAGS"
-       CPPFLAGS="-mno-cygwin -mwin32 $CPPFLAGS"
         ;;
 m68k-next-nextstep2)
         HostPlatform_CPP='m68k_next_nextstep2'
@@ -392,7 +386,8 @@ AC_ARG_WITH(gcc,
 [  --with-gcc=<gcc command>
         Use a different command instead of 'gcc' for the GNU C compiler.
 ],
-[WhatGccIsCalled="$withval"],
+[WhatGccIsCalled="$withval"
+ CC="$withval"],
 [WhatGccIsCalled="gcc"]
 )
 AC_SUBST(WhatGccIsCalled)
@@ -409,6 +404,25 @@ AC_ARG_ENABLE(hc-boot,
 )
 AC_SUBST(BootingFromHc)
 
+dnl ** Booting from unregisterised .hc files?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(hc-boot-unregisterised,
+[  --enable-hc-boot-unregisterised
+        With --enable-hc-boot, treat the intermediate .hc files as
+        unregisterised rather than registerised code.
+        (This option is mostly of interest to porters.)
+],
+[BootingFromUnregisterisedHc=YES],
+[BootingFromUnregisterisedHc=NO]
+)
+AC_SUBST(BootingFromUnregisterisedHc)
+
+if test "$BootingFromHc" = "NO"; then
+if test "$BootingFromUnregisterisedHc" = "YES"; then
+AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.])
+fi;
+fi;
+
 
 dnl ** Enable the construction of Win32 DLLs?
 dnl --------------------------------------------------------------
@@ -434,20 +448,6 @@ if test x"$EnableWin32DLLs" = "xYES" ; then
  AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
 fi
 
-dnl ** Building a Win32-friendlier compiler?
-dnl --------------------------------------------------------------
-AC_ARG_ENABLE(minimal-unix-deps,
-[  --enable-minimal-unix-deps
-        Build a compiler that minimizes dependencies on Unix-like tools
-       under Win32, allowing the user to operate the compiler without
-       having to install Cygwin toolchain (say). (You still need
-       that toolchain to build GHC from sources though).
-],
-[MinimalUnixDeps=YES],
-[MinimalUnixDeps=NO]
-)
-AC_SUBST(MinimalUnixDeps)
-
 dnl ** Enable the building of the OpenGL/GLUT binding in hslibs?
 dnl --------------------------------------------------------------
 AC_ARG_ENABLE(hopengl,
@@ -517,7 +517,6 @@ esac
 dnl ** does #! path/to/perl work? (sometimes it's too long...)
 FPTOOLS_SHEBANG_PERL
 
-
 dnl ** look for GCC and find out which version
 dnl     Figure out which C compiler to use.  Gcc is preferred.
 dnl     If gcc, make sure it's at least 2.1
@@ -527,11 +526,15 @@ FPTOOLS_HAVE_GCC
 
 dnl ** figure out how to invoke cpp directly (gcc -E is no good)
 AC_PROG_CPP
-case $HostOS_CPP in
-mingw32)
-   CPP="$CPP -mno-cygwin -mwin32"
-   ;;
-esac
+
+dnl ** does the C compiler support the following options?
+FPTOOLS_CC_FLAG(-mwin32,CC_SUPPORTS_MWIN32)
+FPTOOLS_CC_FLAG(-mno-cygwin,CC_SUPPORTS_MNO_CYGWIN)
+
+EXTRA_CC_OPTS="$CC_SUPPORTS_MNO_CYGWIN $CC_SUPPORTS_MWIN32"
+SRC_CC_OPTS="-O $EXTRA_CC_OPTS"
+CPPFLAGS="$EXTRA_CC_OPTS $CPPFLAGS"
+AC_SUBST(SRC_CC_OPTS)
 
 dnl ** figure out how to do context diffs
 FPTOOLS_PROG_DIFF
@@ -581,10 +584,18 @@ AC_PATH_PROGS(CompressCmd,gzip compress,gzip)
 dnl ** check for jade/openjade & determine a working catalog
 AC_PATH_PROGS(JadeCmd,openjade jade,jade)
 FPTOOLS_DOCBOOK_CATALOG(Catalog, $JadeCmd, docs/fptools-both.dsl, 
-                        /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl $hardtop/glafp-utils/docbook/CATALOG*)
+                        /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl glafp-utils/docbook/CATALOG*)
 if test -z "$Catalog"; then
   AC_MSG_RESULT([Warning: You will not be able to build the documentation.])
 fi
+case $HostOS_CPP in
+   mingw32)
+      Catalog=`cygpath -w $hardtop/$Catalog`
+      ;;
+   *)
+      Catalog=$hardtop/$Catalog
+      ;;
+esac   
 AC_SUBST(Catalog)
 
 compress_nm=`basename $CompressCmd`
@@ -940,7 +951,9 @@ AC_C_PROTOTYPES
 dnl ** are we big endian?
 AC_C_BIGENDIAN
 # Allay users' general fear of warnings of any kind.
-errprint((fptools configure script wizard sez: "don't worry, the above warning is harmless (to us.)")
+errprint(fptools configure script wizard sez: autoconf-2.50 or later should produce no warnings
+)
+errprint(if you are using 2.13 or earlier, you may get a (harmless) warning message.
 )
 
 dnl ** check for leading underscores in symbol names
@@ -955,4 +968,5 @@ FPTOOLS_END_DATA_SECTION
 dnl ** code before data?
 FPTOOLS_CODE_BEFORE_DATA
 
+
 AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )