[project @ 2004-03-23 10:48:41 by simonmar]
[ghc-hetmet.git] / configure.ac
index 9bcbe61..5e75b01 100644 (file)
@@ -452,11 +452,16 @@ dnl Find 'hardtop_plat', the native format for 'hardtop' (i.e., right kind of \d
 dnl
 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 +520,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 +577,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
@@ -774,7 +783,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
              ;;
@@ -1061,41 +1075,11 @@ FP_CHECK_CONSTS([E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EADV EAFNOSUPPORT EAGAIN
 dnl ** can we open files in binary mode?
 FP_CHECK_CONST([O_BINARY], [#include <fcntl.h>], [0])
 
-dnl ** check for GetModuleFileName and WinExec (windows only)
-dnl Old: AC_CHECK_FUNCS(WinExec GetModuleFileName)       dnl Windows
-dnl Doesn't work because the linker can't see the functions if
-dnl you omit the #include <windows.h>.  (I've no idea why not...)
+FP_CHECK_FUNC([WinExec],
+  [@%:@include <windows.h>], [WinExec("",0)])
 
-FPTOOLS_TRY_LINK_NOWARN(,[
-#if HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-main() { 
-  WinExec("",0);
-  exit(0);
-}
-],
-[have_winexec=1],
-[have_winexec=0])
-if test "$have_winexec" = "1"; then
-  AC_DEFINE([HAVE_WINEXEC], [1], [Define to 1 if you have the WinExec function.])
-fi
-
-FPTOOLS_TRY_LINK_NOWARN(,[
-#if HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-main() { 
-  char* dir;
-  GetModuleFileName((HMODULE)0,dir,0);
-  exit(0);
-}
-],
-[have_getmodulefilename=1],
-[have_getmodulefilename=0])
-if test "$have_getmodulefilename" = "1"; then
-AC_DEFINE([HAVE_GETMODULEFILENAME], [1], [Define to 1 if you have the GetModuleFileName function.])
-fi
+FP_CHECK_FUNC([GetModuleFileName],
+  [@%:@include <windows.h>], [GetModuleFileName((HMODULE)0,(LPTSTR)0,0)])
 
 dnl ** check return type of signal handlers
 dnl Foo: assumes we can use prototypes.
@@ -1228,12 +1212,19 @@ else
 fi
 
 dnl ** check for math library
-AC_CHECK_LIB([m], [main], [LIBM="-lm"], [LIBM=])
+AC_CHECK_LIB([m], [atan], [LIBS="-lm $LIBS"; LIBM="-lm"], [LIBM=])
 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 ################################################################
@@ -1339,8 +1330,6 @@ else
     AC_SUBST(HaveRtldNow)
 fi
 
-FPTOOLS_CHECK_LIB_NOWARN(m, atan)
-
 dnl ---------- usleep ----------
 dnl --- stolen from guile configure ---
 dnl --- FIXME: /usr/include/unistd.h can't be right?
@@ -1418,7 +1407,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}
     ;;