Add recently added lib dirs to the darcs boring file
[ghc-hetmet.git] / aclocal.m4
index c49271d..13ebe36 100644 (file)
@@ -561,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
@@ -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
 <?xml version="1.0" encoding="iso-8859-1"?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [[
+<!ENTITY conftest-book SYSTEM "conftest-book.xml">
+]]>
 <book id="test">
-  <title>A DocBook Test Document</title>
+&conftest-book;
+</book>
+EOF
+cat >conftest-book.xml << EOF
+<?xml version="1.0" encoding="iso-8859-1"?>
+  <title>A DocBook &ldquo;Test Document&rdquo;</title>
   <chapter id="id-one">
     <title>A Chapter Title</title>
     <para>This is a paragraph, referencing <xref linkend="id-two"/>.</para>
@@ -760,11 +777,23 @@ cat > conftest.xml << EOF
     <title>Another Chapter Title</title>
     <para>This is another paragraph, referencing <xref linkend="id-one"/>.</para>
   </chapter>
-</book>
 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
@@ -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])