X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=f98d5f3f085d99c6f484e64fb2f7183462409155;hb=27bc28577451bf2c2f011b2821ef670373e46ced;hp=c49271d5531962d177b0eca2149d04bf676374f9;hpb=8efc5f209899b6e055c5957cd5efbb820ad596ee;p=ghc-hetmet.git
diff --git a/aclocal.m4 b/aclocal.m4
index c49271d..f98d5f3 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -558,17 +558,20 @@ 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],
+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], [2.0],
- [AC_MSG_ERROR([Need at least gcc version 2.0 (3.4+ recommended)])])
+ 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.
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])
])# FP_HAVE_GCC
AC_DEFUN([FP_MINGW_GCC],
@@ -744,14 +747,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 .
@@ -760,11 +777,23 @@ cat > conftest.xml << EOF
Another Chapter Title
This is another paragraph, referencing .
-
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
@@ -772,38 +801,33 @@ 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
-# FP_DIR_DOCBOOK_XSL(XSL-DIRS)
+# FP_DOCBOOK_XSL
# ----------------------------
-# Check which of the directories XSL-DIRS contains DocBook XSL stylesheets. The
-# output variable DIR_DOCBOOK_XSL will contain the first usable directory or
-# will be empty if none could be found.
-AC_DEFUN([FP_DIR_DOCBOOK_XSL],
+# 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
- AC_CACHE_CHECK([for DocBook XSL stylesheet directory], fp_cv_dir_docbook_xsl,
+ AC_CACHE_CHECK([for DocBook XSL stylesheet], fp_cv_dir_docbook_xsl,
[FP_GEN_DOCBOOK_XML
fp_cv_dir_docbook_xsl=no
- for fp_var in $1; do
- if $XsltprocCmd ${fp_var}/html/docbook.xsl conftest.xml > /dev/null 2>&1; then
- fp_cv_dir_docbook_xsl=$fp_var
- break
- fi
- done
+ if $XsltprocCmd --nonet http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl conftest.xml > /dev/null 2>&1; then
+ fp_cv_dir_docbook_xsl=yes
+ fi
rm -rf conftest*])
fi
if test x"$fp_cv_dir_docbook_xsl" = xno; then
AC_MSG_WARN([cannot find DocBook XSL stylesheets, you will not be able to build the documentation])
- DIR_DOCBOOK_XSL=
+ HAVE_DOCBOOK_XSL=NO
else
- DIR_DOCBOOK_XSL=$fp_cv_dir_docbook_xsl
+ HAVE_DOCBOOK_XSL=YES
fi
-AC_SUBST([DIR_DOCBOOK_XSL])
-])# FP_DIR_DOCBOOK_XSL
+AC_SUBST([HAVE_DOCBOOK_XSL])
+])# FP_DOCBOOK_XSL
# FP_PROG_XMLLINT
@@ -825,7 +849,7 @@ AC_DEFUN([FP_CHECK_DOCBOOK_DTD],
if test -n "$XmllintCmd"; then
AC_MSG_CHECKING([for DocBook DTD])
FP_GEN_DOCBOOK_XML
- if $XmllintCmd --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])
@@ -890,31 +914,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
@@ -927,6 +936,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])
@@ -937,20 +949,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
@@ -972,23 +970,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"],
[])
;;
@@ -1019,7 +1017,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])
@@ -1251,19 +1249,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])