extend the rules/c-objs macro to take the way as a parameter
[ghc-hetmet.git] / aclocal.m4
index 42c1361..013f7ff 100644 (file)
@@ -289,6 +289,46 @@ AC_SUBST(AlexVersion)
 ])
 
 
+dnl
+dnl Check for windres and version.
+dnl 2.15.91 works
+dnl 2.17.50 doesn't work
+dnl 2.18.50 works
+dnl
+AC_DEFUN([FPTOOLS_WINDRES],
+[
+if test "x$HostPlatform"  = "xi386-unknown-mingw32"
+then
+    AC_PATH_PROG(WindResCmd,windres,)
+    # Alex is passed to Cabal, so we need a native path
+    if test "${OSTYPE}"      != "msys"                  && \
+       test "${WindResCmd}"  != ""
+    then
+        # Canonicalise to <drive>:/path/to/gcc
+        WindResCmd=`cygpath -m ${WindResCmd}`
+    fi
+
+    AC_CACHE_CHECK([for version of windres], fptools_cv_windres_version,
+    changequote(, )dnl
+    [
+        if test x"$WindResCmd" != x
+        then
+            fptools_cv_windres_version="`$WindResCmd --version |
+                         grep 'GNU windres' |
+              sed -e 's/GNU windres[^0-9]* \([0-9\.]*\).*/\1/g'`" ;
+        else
+            fptools_cv_windres_version="";
+        fi
+        changequote([, ])dnl
+    ])
+    FP_COMPARE_VERSIONS([$fptools_cv_windres_version],[-eq],[2.17.50],
+      [AC_MSG_ERROR([Your windres version isn't compatible with GHC. 2.15.91 and 2.18.50 are known to work.])])[]dnl
+    indResVersion=$fptools_cv_windres_version;
+    AC_SUBST(WindResVersion)
+fi
+])
+
+
 # FP_PROG_LD
 # ----------
 # Sets the output variable LdCmd to the (non-Cygwin version of the) full path
@@ -521,8 +561,11 @@ fi
 AC_CACHE_CHECK([version of gcc], [fp_gcc_version],
 [if test "$fp_have_gcc" = "YES"; then
    fp_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9.]]*\).*/\1/g'`"
-   FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [2.0],
-     [AC_MSG_ERROR([Need at least gcc version 2.0 (3.4+ recommended)])])
+   FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [3.0],
+     [AC_MSG_ERROR([Need at least gcc version 3.0 (3.4+ recommended)])])
+   # See #2770: gcc 2.95 doesn't work any more, apparently.  There probably
+   # isn't a very good reason for that, but for now just make configure
+   # fail.
  else
    fp_gcc_version="not-installed"
  fi
@@ -576,7 +619,7 @@ AC_DEFUN([FP_CHECK_PROG],
 # ------------
 # Find a non-WinDoze version of the "find" utility.
 AC_DEFUN([FP_PROG_FIND],
-[AC_PATH_PROG([fp_prog_find], [find])
+[AC_PATH_PROGS([fp_prog_find], [gfind find], find)
 echo foo > conftest.txt
 $fp_prog_find conftest.txt -print > conftest.out 2>&1
 if grep '^conftest.txt$' conftest.out > /dev/null 2>&1 ; then
@@ -887,6 +930,9 @@ AC_DEFUN([FP_PROG_GHC_PKG],
 [fp_ghc_pkg_guess=`echo $WithGhc | sed 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
 if "$fp_ghc_pkg_guess" -l > /dev/null 2>&1; then
   fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
+elif "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then
+  # from 6.10, ghc-pkg doesn't support the old -l syntax any more
+  fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
 else
   fp_cv_matching_ghc_pkg=no
 fi])
@@ -897,20 +943,6 @@ else
 fi])# FP_PROG_GHC_PKG
 
 
-# FP_GHC_HAS_EDITLINE
-# -------------------
-AC_DEFUN([FP_GHC_HAS_EDITLINE],
-[AC_REQUIRE([FP_PROG_GHC_PKG])
-AC_CACHE_CHECK([whether ghc has editline package], [fp_cv_ghc_has_editline],
-[if "${GhcPkgCmd-ghc-pkg}" --show-package editline >/dev/null 2>&1; then
-  fp_cv_ghc_has_editline=yes
-else
-  fp_cv_ghc_has_editline=no
- fi])
-AC_SUBST([GhcHasEditline], [`echo $fp_cv_ghc_has_editline | sed 'y/yesno/YESNO/'`])
-])# FP_GHC_HAS_EDITLINE
-
-
 # FP_GCC_EXTRA_FLAGS
 # ------------------
 # Determine which extra flags we need to pass gcc when we invoke it