On Windows, check that we have a good version of windres when configuring
[ghc-hetmet.git] / aclocal.m4
index f739bfe..c49271d 100644 (file)
@@ -254,27 +254,6 @@ AC_SUBST(HappyVersion)
 ])
 
 dnl
 ])
 
 dnl
-dnl Check for Haddock and version.  If there's no installed Haddock, we look
-dnl for a haddock source tree and point the build system at that instead.
-dnl
-AC_DEFUN([FPTOOLS_HADDOCK],
-[AC_PATH_PROG(HaddockCmd,haddock,)
-dnl Darn, I forgot to make Haddock print out its version number when
-dnl invoked with -v.  We could try generating some HTML and grepping
-dnl through that to find the version number, but I think we'll make
-dnl do without it for now.
-# Haddock is passed to Cabal, so we need a native path
-if test "x$HostPlatform"  = "xi386-unknown-mingw32" && \
-   test "${OSTYPE}"      != "msys"                  && \
-   test "${HaddockCmd}"  != ""
-then
-    # Canonicalise to <drive>:/path/to/gcc
-    HaddockCmd=`cygpath -m ${HaddockCmd}`
-    AC_MSG_NOTICE([normalized haddock command to $HaddockCmd])
-fi
-])
-
-dnl
 dnl Check for Alex and version.  If we're building GHC, then we need
 dnl at least Alex version 2.0.1.
 dnl
 dnl Check for Alex and version.  If we're building GHC, then we need
 dnl at least Alex version 2.0.1.
 dnl
@@ -302,14 +281,54 @@ changequote([, ])dnl
 ])
 if test ! -f compiler/cmm/CmmLex.hs || test ! -f compiler/parser/Lexer.hs
 then
 ])
 if test ! -f compiler/cmm/CmmLex.hs || test ! -f compiler/parser/Lexer.hs
 then
-    FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[2.0.1],
-      [AC_MSG_ERROR([Alex version 2.0.1 or later is required to compile GHC.])])[]dnl
+    FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[2.1.0],
+      [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[]dnl
 fi
 AlexVersion=$fptools_cv_alex_version;
 AC_SUBST(AlexVersion)
 ])
 
 
 fi
 AlexVersion=$fptools_cv_alex_version;
 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
 # FP_PROG_LD
 # ----------
 # Sets the output variable LdCmd to the (non-Cygwin version of the) full path
@@ -597,7 +616,7 @@ AC_DEFUN([FP_CHECK_PROG],
 # ------------
 # Find a non-WinDoze version of the "find" utility.
 AC_DEFUN([FP_PROG_FIND],
 # ------------
 # 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
 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