X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=aclocal.m4;h=35ddbdb3cc21962d57192a3bd516bb3741247d7d;hp=99a4d03ff6a23a735b46f6db43820dca4a4ec41a;hb=4e340bbb54087a3a5b12afc6e2ad3664ec4beed3;hpb=5c1039224e8595ed2acd6518316a1075f5a6b78a diff --git a/aclocal.m4 b/aclocal.m4 index 99a4d03..35ddbdb 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -281,14 +281,54 @@ changequote([, ])dnl ]) 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) ]) +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 :/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 @@ -725,6 +768,19 @@ EOF ]) # FP_GEN_DOCBOOK_XML +# FP_PROG_DBLATEX +# ---------------- +# Sets the output variable DblatexCmd to the full path of dblatex, +# which we use for building PDF and PS docs. +# DblatexCmd is empty if dblatex could not be found. +AC_DEFUN([FP_PROG_DBLATEX], +[AC_PATH_PROG([DblatexCmd], [dblatex]) +if test -z "$DblatexCmd"; then + AC_MSG_WARN([cannot find dblatex in your PATH, you will not be able to build the PDF and PS documentation]) +fi +])# FP_PROG_DBLATEX + + # FP_PROG_XSLTPROC # ---------------- # Sets the output variable XsltprocCmd to the full path of the XSLT processor @@ -732,7 +788,7 @@ EOF AC_DEFUN([FP_PROG_XSLTPROC], [AC_PATH_PROG([XsltprocCmd], [xsltproc]) if test -z "$XsltprocCmd"; then - AC_MSG_WARN([cannot find xsltproc in your PATH, you will not be able to build the documentation]) + AC_MSG_WARN([cannot find xsltproc in your PATH, you will not be able to build the HTML documentation]) fi ])# FP_PROG_XSLTPROC @@ -850,31 +906,16 @@ AC_SUBST([FopCmd]) ])# FP_PROG_FOP -# FP_PROG_FO_PROCESSOR -# -------------------- -# Try to find an FO processor. PassiveTeX output is sometimes a bit strange, so -# try FOP first. Sets the output variables FopCmd, XmltexCmd, DvipsCmd, and -# PdfxmltexCmd. -AC_DEFUN([FP_PROG_FO_PROCESSOR], -[AC_REQUIRE([FP_PROG_FOP]) -AC_PATH_PROG([XmltexCmd], [xmltex]) -AC_PATH_PROG([DvipsCmd], [dvips]) -if test -z "$FopCmd"; then - if test -z "$XmltexCmd"; then - AC_MSG_WARN([cannot find an FO => DVI converter, you will not be able to build DVI or PostScript documentation]) - else - if test -z "$DvipsCmd"; then - AC_MSG_WARN([cannot find a DVI => PS converter, you will not be able to build PostScript documentation]) - fi - fi - AC_PATH_PROG([PdfxmltexCmd], [pdfxmltex]) - if test -z "$PdfxmltexCmd"; then - AC_MSG_WARN([cannot find an FO => PDF converter, you will not be able to build PDF documentation]) - fi -elif test -z "$XmltexCmd"; then - AC_MSG_WARN([cannot find an FO => DVI converter, you will not be able to build DVI documentation]) +# FP_PROG_HSTAGS +# ---------------- +# Sets the output variable HstagsCmd to the full Haskell tags program path. +# HstagsCmd is empty if no such program could be found. +AC_DEFUN([FP_PROG_HSTAGS], +[AC_PATH_PROG([HstagsCmd], [hasktags]) +if test -z "$HstagsCmd"; then + AC_MSG_WARN([cannot find hasktags in your PATH, you will not be able to build the tags]) fi -])# FP_PROG_FO_PROCESSOR +])# FP_PROG_HSTAGS # FP_PROG_GHC_PKG @@ -887,6 +928,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 +941,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 @@ -1211,19 +1241,19 @@ AC_DEFUN([FP_FIND_ROOT],[ AC_MSG_CHECKING(for path to top of build tree) dnl This would be -dnl make -C utils/pwd clean && make -C utils/pwd +dnl make -C utils/ghc-pwd clean && make -C utils/ghc-pwd dnl except we don't want to have to know what make is called. Sigh. -if test ! -f utils/pwd/pwd && test ! -f utils/pwd/pwd.exe; then - cd utils/pwd +if test ! -f utils/ghc-pwd/ghc-pwd && test ! -f utils/ghc-pwd/ghc-pwd.exe; then + cd utils/ghc-pwd rm -f *.o rm -f *.hi - rm -f pwd - rm -f pwd.exe - $WithGhc -v0 --make pwd -o pwd + rm -f ghc-pwd + rm -f ghc-pwd.exe + $WithGhc -v0 --make ghc-pwd -o ghc-pwd cd ../.. fi -hardtop=`utils/pwd/pwd forwardslash` +hardtop=`utils/ghc-pwd/ghc-pwd` if ! test -d "$hardtop"; then AC_MSG_ERROR([cannot determine current directory])