Fix the links to the base docs from the user guide
authorIan Lynagh <igloo@earth.li>
Tue, 23 Feb 2010 15:05:22 +0000 (15:05 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 23 Feb 2010 15:05:22 +0000 (15:05 +0000)
aclocal.m4
configure.ac
docs/users_guide/ffi-chap.xml
docs/users_guide/glasgow_exts.xml
docs/users_guide/parallel.xml
docs/users_guide/ug-ent.xml.in [moved from docs/users_guide/ug-ent.xml with 93% similarity]
docs/users_guide/using.xml
docs/users_guide/win32-dlls.xml

index 540ec3e..275b2e4 100644 (file)
@@ -1327,4 +1327,12 @@ case "$1" in
   esac
 ])
 
+# LIBRARY_VERSION(lib)
+# --------------------------------
+# Gets the version number of a library
+AC_DEFUN([LIBRARY_VERSION],[
+LIBRARY_$1_VERSION=`grep -i "^version:" libraries/$1/$1.cabal | sed "s/.* //"`
+AC_SUBST(LIBRARY_$1_VERSION)
+])
+
 # LocalWords:  fi
index 4d83dbc..989a223 100644 (file)
@@ -902,11 +902,13 @@ fi
 AC_SUBST(BUILD_DOCBOOK_PS)
 AC_SUBST(BUILD_DOCBOOK_PDF)
 
+LIBRARY_VERSION(base)
+
 if grep '      ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
    AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
 fi
 
-AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml distrib/ghc.iss distrib/configure.ac])
+AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml distrib/ghc.iss distrib/configure.ac])
 AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
 AC_OUTPUT
 
index f9f52ae..69b79d7 100644 (file)
@@ -19,7 +19,7 @@ Foreign function interface (FFI)
 
   <para>The FFI libraries are documented in the accompanying library
   documentation; see for example the
-    <ulink url="../libraries/base/Control-Concurrent.html"><literal>Foreign</literal></ulink> module.</para>
+    <ulink url="&libraryBaseLocation;/Control-Concurrent.html"><literal>Foreign</literal></ulink> module.</para>
 
   <sect1 id="ffi-ghcexts">
     <title>GHC extensions to the FFI Addendum</title>
@@ -498,7 +498,7 @@ int main(int argc, char *argv[])
           threads</emphasis>, which are Haskell threads tied to a
           particular OS thread.  For information on bound threads, see
           the documentation
-          for the <ulink url="../libraries/base/Control-Concurrent.html"><literal>Control.Concurrent</literal></ulink>
+          for the <ulink url="&libraryBaseLocation;/Control-Concurrent.html"><literal>Control.Concurrent</literal></ulink>
           module.</para>
       </sect3>
       
index f794c4d..cacf97d 100644 (file)
@@ -1245,7 +1245,7 @@ then group by e
     <para>This form of grouping is essentially the same as the one described above. However,
     since no function to use for the grouping has been supplied it will fall back on the
     <literal>groupWith</literal> function defined in 
-    <ulink url="../libraries/base/GHC-Exts.html"><literal>GHC.Exts</literal></ulink>. This
+    <ulink url="&libraryBaseLocation;/GHC-Exts.html"><literal>GHC.Exts</literal></ulink>. This
     is the form of the group statement that we made use of in the opening example.</para>
 
     </listitem>
@@ -6697,7 +6697,7 @@ The arrows web page at
 With the <option>-XArrows</option> flag, GHC supports the arrow
 notation described in the second of these papers,
 translating it using combinators from the
-<ulink url="../libraries/base/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
+<ulink url="&libraryBaseLocation;/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
 module.
 What follows is a brief introduction to the notation;
 it won't make much sense unless you've read Hughes's paper.
@@ -6812,7 +6812,7 @@ the arrow <literal>f</literal>, and matches its output against
 <literal>y</literal>.
 In the next line, the output is discarded.
 The arrow <function>returnA</function> is defined in the
-<ulink url="../libraries/base/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
+<ulink url="&libraryBaseLocation;/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
 module as <literal>arr id</literal>.
 The above example is treated as an abbreviation for
 <screen>
@@ -6829,7 +6829,7 @@ arr (\ x -> (x, x)) >>>
 Note that variables not used later in the composition are projected out.
 After simplification using rewrite rules (see <xref linkend="rewrite-rules"/>)
 defined in the
-<ulink url="../libraries/base/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
+<ulink url="&libraryBaseLocation;/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>
 module, this reduces to
 <screen>
 arr (\ x -> (x+1, x)) >>>
@@ -7125,7 +7125,7 @@ additional restrictions:
 <listitem>
 <para>
 The module must import
-<ulink url="../libraries/base/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>.
+<ulink url="&libraryBaseLocation;/Control-Arrow.html"><literal>Control.Arrow</literal></ulink>.
 </para>
 </listitem>
 
index 37cafd2..4e864f3 100644 (file)
@@ -38,7 +38,7 @@
   </para><para>
   To the programmer, Concurrent Haskell introduces no new language constructs;
   rather, it appears simply as a library, <ulink
-  url="../libraries/base/Control-Concurrent.html">
+  url="&libraryBaseLocation;/Control-Concurrent.html">
              Control.Concurrent</ulink>.  The functions exported by this
              library include:
   <itemizedlist>
similarity index 93%
rename from docs/users_guide/ug-ent.xml
rename to docs/users_guide/ug-ent.xml.in
index 6f8bf65..a69b2a0 100644 (file)
@@ -21,3 +21,4 @@
 <!ENTITY win32-dll      SYSTEM "win32-dlls.xml">
 <!ENTITY ffi-chap       SYSTEM "ffi-chap.xml">
 <!ENTITY shared_libs    SYSTEM "shared_libs.xml">
+<!ENTITY libraryBaseLocation "../libraries/base-@LIBRARY_base_VERSION@">
index 329c31f..88e0ab2 100644 (file)
@@ -1841,7 +1841,7 @@ f "2"    = 2
       special option or libraries compiled in a certain way.  To get access to
       the support libraries for Concurrent Haskell, just import
       <ulink
-       url="../libraries/base/Control-Concurrent.html"><literal>Control.Concurrent</literal></ulink>.  More information on Concurrent Haskell is provided in the documentation for that module.</para>
+       url="&libraryBaseLocation;/Control-Concurrent.html"><literal>Control.Concurrent</literal></ulink>.  More information on Concurrent Haskell is provided in the documentation for that module.</para>
 
     <para>The following RTS option(s) affect the behaviour of Concurrent
       Haskell programs:<indexterm><primary>RTS options, concurrent</primary></indexterm></para>
index 8cd73ec..5b3ddb1 100644 (file)
@@ -71,7 +71,7 @@ Notice how the "%1" argument is quoted (or not).
   <para>This problem doesn't just affect GHCi, it affects any
   GHC-compiled program that wants to catch console events.  See the
   <ulink
-  url="../libraries/base/GHC-ConsoleHandler.html">GHC.ConsoleHandler</ulink>
+  url="&libraryBaseLocation;/GHC-ConsoleHandler.html">GHC.ConsoleHandler</ulink>
   module.</para>
 </sect1>