X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=aclocal.m4;h=e7adaff8c388bee880b4bd8a4810006ffedf26d4;hp=d614effe9cdb9d44f965037cbf4434360805e6d1;hb=da6b7fce09f98a0fbe66b6d218e6473c1845e354;hpb=cfe2fd2a36f43c1f998bb5e7c0cec15480ed3f96 diff --git a/aclocal.m4 b/aclocal.m4 index d614eff..e7adaff 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -237,17 +237,17 @@ fi AC_CACHE_CHECK([for version of happy], fptools_cv_happy_version, changequote(, )dnl [if test x"$HappyCmd" != x; then - fptools_cv_happy_version="`$HappyCmd -v | - grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ; + fptools_cv_happy_version=`"$HappyCmd" -v | + grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'` ; else fptools_cv_happy_version=""; fi; changequote([, ])dnl ]) -if test ! -f compiler/parser/Parser.hs || test ! -f compiler/main/ParsePkgConf.hs || test ! -f compiler/cmm/CmmParse.hs || test ! -f compiler/parser/ParserCore.hs +if test ! -f compiler/parser/Parser.hs || test ! -f compiler/cmm/CmmParse.hs || test ! -f compiler/parser/ParserCore.hs then - FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.15], - [AC_MSG_ERROR([Happy version 1.15 or later is required to compile GHC.])])[]dnl + FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.16], + [AC_MSG_ERROR([Happy version 1.16 or later is required to compile GHC.])])[] fi HappyVersion=$fptools_cv_happy_version; AC_SUBST(HappyVersion) @@ -272,8 +272,8 @@ fi AC_CACHE_CHECK([for version of alex], fptools_cv_alex_version, changequote(, )dnl [if test x"$AlexCmd" != x; then - fptools_cv_alex_version="`$AlexCmd -v | - grep 'Alex [Vv]ersion' | sed -e 's/Alex [Vv]ersion \([0-9\.]*\).*/\1/g'`" ; + fptools_cv_alex_version=`"$AlexCmd" -v | + grep 'Alex [Vv]ersion' | sed -e 's/Alex [Vv]ersion \([0-9\.]*\).*/\1/g'` ; else fptools_cv_alex_version=""; fi; @@ -282,52 +282,13 @@ 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.1.0], - [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[]dnl + [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[] 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 # ---------- @@ -558,36 +519,25 @@ fi if test "$fp_have_gcc" = "NO" -a -d $srcdir/ghc; then AC_MSG_ERROR([gcc is required]) fi -AC_CACHE_CHECK([version of gcc], [fp_gcc_version], +GccLT34= +AC_CACHE_CHECK([version of gcc], [fp_cv_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], [3.0], + fp_cv_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9.]]*\).*/\1/g'`" + FP_COMPARE_VERSIONS([$fp_cv_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. + FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-lt], [3.4], GccLT34=YES) else - fp_gcc_version="not-installed" + fp_cv_gcc_version="not-installed" fi ]) AC_SUBST([HaveGcc], [$fp_have_gcc]) -AC_SUBST([GccVersion], [$fp_gcc_version]) +AC_SUBST([GccVersion], [$fp_cv_gcc_version]) +AC_SUBST(GccLT34) ])# FP_HAVE_GCC -AC_DEFUN([FP_MINGW_GCC], -[ - case $HostOS_CPP in - mingw*) AC_MSG_CHECKING([whether $CC is a mingw gcc]) - if $CC -v 2>&1 | grep mingw >/dev/null; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Please use --with-gcc to specify a mingw gcc]) - fi;; - *) ;; - esac -]) - dnl Small feature test for perl version. Assumes PerlCmd dnl contains path to perl binary. dnl @@ -747,14 +697,28 @@ AS_VAR_POPDEF([fp_func])dnl # FP_GEN_DOCBOOK_XML # ------------------ # Generates a DocBook XML V4.2 document in conftest.xml. +# +# It took a lot of experimentation to find a document that will cause +# xsltproc to fail with an error code when the relevant +# stylesheets/DTDs are not found. I couldn't make xsltproc fail with +# a single-file document, it seems a multi-file document is needed. +# -- SDM 2009-06-03 +# AC_DEFUN([FP_GEN_DOCBOOK_XML], -[rm -f conftest.xml +[rm -f conftest.xml conftest-book.xml cat > conftest.xml << EOF + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [[ + +]]> - A DocBook Test Document +&conftest-book; + +EOF +cat >conftest-book.xml << EOF + + A DocBook “Test Document” A Chapter Title This is a paragraph, referencing . @@ -763,7 +727,6 @@ cat > conftest.xml << EOF Another Chapter Title This is another paragraph, referencing . - EOF ]) # FP_GEN_DOCBOOK_XML @@ -793,11 +756,9 @@ fi ])# FP_PROG_XSLTPROC -# FP_DOCBOOK_XSL(XSL-DIRS) +# FP_DOCBOOK_XSL # ---------------------------- -# Check which of the directories XSL-DIRS contains DocBook XSL stylesheets. The -# output variable HAVE_DOCBOOK_XSL will contain the first usable directory or -# will be empty if none could be found. +# Check that we can process a DocBook XML document to HTML using xsltproc. AC_DEFUN([FP_DOCBOOK_XSL], [AC_REQUIRE([FP_PROG_XSLTPROC])dnl if test -n "$XsltprocCmd"; then @@ -838,7 +799,7 @@ AC_DEFUN([FP_CHECK_DOCBOOK_DTD], if test -n "$XmllintCmd"; then AC_MSG_CHECKING([for DocBook DTD]) FP_GEN_DOCBOOK_XML - if $XmllintCmd --nonet --valid --noout conftest.xml > /dev/null 2>&1; then + if $XmllintCmd --nonet --valid --noout conftest.xml ; then AC_MSG_RESULT([ok]) else AC_MSG_RESULT([failed]) @@ -959,23 +920,23 @@ AC_DEFUN([FP_GCC_EXTRA_FLAGS], [AC_REQUIRE([FP_HAVE_GCC]) AC_CACHE_CHECK([for extra options to pass gcc when compiling via C], [fp_cv_gcc_extra_opts], [fp_cv_gcc_extra_opts= - FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], + FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-ge], [3.4], [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fwrapv"], []) case $TargetPlatform in i386-*|x86_64-*) - FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.2], + FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-ge], [3.2], [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -mno-omit-leaf-frame-pointer"], []) - FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], - [FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [4.2], + FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-ge], [3.4], + [FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-ge], [4.2], [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-toplevel-reorder"], [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-unit-at-a-time"] )], []) ;; sparc-*-solaris2) - FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [4.2], + FP_COMPARE_VERSIONS([$fp_cv_gcc_version], [-ge], [4.2], [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-toplevel-reorder"], []) ;; @@ -1006,7 +967,7 @@ if test "$RELEASE" = "NO"; then elif test -d _darcs; then # TODO: Remove this branch after conversion to Git changequote(, )dnl - ver_date=`darcs changes --quiet --no-summary --xml | head -500 | grep 'date=' | sed "s/^.*date='\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*$/\1/g" | sort -n | tail -1` + ver_date=`darcs changes --quiet --no-summary --xml | head -500 | grep 'date=' | sed "s/^.*date='\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*$/\1/g" | ${SortCmd} -n | tail -1` if echo $ver_date | grep '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$' 2>&1 >/dev/null; then true; else changequote([, ])dnl AC_MSG_ERROR([failed to detect version date: check that darcs is in your path])