[project @ 2004-05-07 21:19:21 by panne]
[ghc-hetmet.git] / configure.ac
index 64922bb..f960924 100644 (file)
@@ -105,6 +105,15 @@ alpha*-unknown-freebsd*)
         HostVendor_CPP='unknown'
         HostOS_CPP='freebsd'
         ;;
+amd64*-*-openbsd*)
+       HostPlatform=x86_64-unknown-openbsd
+       TargetPlatform=x86_64-unknown-openbsd
+       BuildPlatform=x86_64-unknown-openbsd
+        HostPlatform_CPP='x86_64_unknown_openbsd'
+        HostArch_CPP='x86_64'
+        HostVendor_CPP='unknown'
+        HostOS_CPP='openbsd'
+        ;;
 arm*-linux*)
         HostPlatform=arm-unknown-linux # hack again
         TargetPlatform=arm-unknown-linux
@@ -448,15 +457,32 @@ dnl Remove common automounter nonsense
 dnl
 hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|' | sed 's|^//\(.\)/|\1:/|' `
 
-dnl Find 'hardtop_plat', the native format for 'hardtop' (i.e., right kind of \dnl slashes on a Win32 box, but with b-slashes being escaped).
+dnl Find 'hardtop_plat', the native format for 'hardtop' 
+dnl (i.e., right kind of \dnl slashes on a Win32 box, but with b-slashes being escaped).
+dnl
+dnl Note OSTYPE: On Cygwin we need to use 'cygpath' to convert /cygdrive/c/foo to c:/foo
+dnl             but we must not do that if we aren't building using Cygwin (notably msys), 
+dnl             because cygpath doesn't exist.  It seems that 'bash' sets OSTYPE to 'cygwin' 
+dnl             or 'msys' respectively, but cygwin's 'sh' does not.  So we hackily assume
+dnl             that if the shell hasn't set it to 'msys' then we must be in Cygwin.  Sigh.
+dnl
+dnl             The Right Thing is probably to test $BuildPlatform instead, but we are sloppy 
+dnl             about setting that correctly at the moment, so we just work around for now.
 dnl
+dnl             The quotes round "$(OSTYPE)" are essential, for the Cygwin-sh case where OSTYPE
+dnl             is not set.
 case $HostPlatform in
   i386-unknown-mingw32 | i386-unknown-cygwin32)
-       # convert $hardtop to a path that mingw will understand too
-       cyghardtop=${hardtop}
-       hardtop=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@/@g'`
-       hardtop_plat=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@\\\\\\\\@g'`
-       ;;
+        if test "${OSTYPE}" != "msys" 
+          then
+            # convert $hardtop to a path that mingw will understand too
+            cyghardtop=${hardtop}
+            hardtop=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@/@g'`
+            hardtop_plat=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@\\\\\\\\@g'`
+          else
+            hardtop_plat=${hardtop}
+        fi
+        ;;
   *)
        hardtop_plat=${hardtop}
        ;;
@@ -515,9 +541,13 @@ AC_ARG_WITH(gcc,
 [AC_HELP_STRING([--with-gcc=ARG],
         [Use ARG as the path to GCC  [default=autodetect]])],
 [WhatGccIsCalled="$withval"
- if test "x$HostPlatform" = "xi386-unknown-mingw32"; then
-    # Canonicalise to <drive>:/path/to/gcc
-    withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' `
+ if test "x$HostPlatform" = "xi386-unknown-mingw32"
+    then
+       if test "${OSTYPE}" != "msys"
+         then
+         # Canonicalise to <drive>:/path/to/gcc
+         withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' `
+       fi
  fi;
  CC="$withval"],
 [WhatGccIsCalled="gcc"]
@@ -568,11 +598,11 @@ 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 ** --enable-threaded-rts (not used any more)
 dnl --------------------------------------------------------------
 AC_ARG_ENABLE(threaded-rts,
 [AC_HELP_STRING([--enable-threaded-rts],
-[Support better interop with OS threads. [default=no]])],
+[DEPRECATED (backwards compatibility only). [default=no]])],
 [ if test x"$enableval" = x"yes"; then
        ThreadedRts=YES
   else
@@ -743,7 +773,8 @@ dnl If you can run configure, you certainly have /bin/sh
 AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.])
 
 dnl ** how to invoke `ar' and `ranlib'
-FPTOOLS_PROG_AR_AND_RANLIB
+FP_PROG_AR_NEEDS_RANLIB
+FP_PROG_AR_SUPPORTS_INPUT
 
 dnl ** Check to see whether ln -s works
 AC_PROG_LN_S
@@ -774,7 +805,12 @@ case $Catalog in
    glafp*) 
        case $HostOS_CPP in
           mingw32)
-             Catalog=`cygpath -w $hardtop/$Catalog`
+                 if test "${OSTYPE}" == "msys"
+                   then
+                     Catalog=$hardtop/$Catalog
+                   else
+                     Catalog=`cygpath -w $hardtop/$Catalog`
+                 fi
              ;;
           *) Catalog=$hardtop/$Catalog
              ;;
@@ -1204,6 +1240,13 @@ AC_SUBST([LIBM])
 dnl ** check for X Window System
 AC_PATH_XTRA()
 
+if test "$no_x" = yes; then
+  GhcLibsWithX11=NO
+else
+  GhcLibsWithX11=YES
+fi
+AC_SUBST([GhcLibsWithX11])
+
 dnl ################################################################
 dnl Check for libraries
 dnl ################################################################
@@ -1386,7 +1429,13 @@ FPTOOLS_UNDERSCORE
 dnl ** check for ld, and whether ld has -x option
 AC_PATH_PROG(LdCmdRaw, ld)
 case $HostOS_CPP in
- mingw32) LdCmd=`cygpath -w ${LdCmdRaw} | sed -e 's@\\\\@/@g' `
+ mingw32) 
+        if test "${OSTYPE}" == "msys"
+          then
+             LdCmd=${LdCmdRaw}
+          else
+             LdCmd=`cygpath -w ${LdCmdRaw} | sed -e 's@\\\\@/@g' `
+       fi
           ;;
  *) LdCmd=${LdCmdRaw}
     ;;