From a8e67124d36c0855a594593627a50e55dc7954ba Mon Sep 17 00:00:00 2001
From: simonmar <unknown>
Date: Mon, 24 Jul 2000 15:31:47 +0000
Subject: [PATCH] [project @ 2000-07-24 15:31:47 by simonmar] update
 documentation to reflect changes in the format of a package spec.

---
 ghc/docs/users_guide/using.sgml | 59 ++++++++++++++++++++++++---------
 1 file changed, 44 insertions(+), 15 deletions(-)

diff --git a/ghc/docs/users_guide/using.sgml b/ghc/docs/users_guide/using.sgml
index 42c1a564293e..56671be1dd5f 100644
--- a/ghc/docs/users_guide/using.sgml
+++ b/ghc/docs/users_guide/using.sgml
@@ -1673,15 +1673,16 @@ construction of interface files, is (allegedly) in the works.
   "4.08",
   Package
        {
-        import_dirs    =  ["/usr/local/lib/imports/mypkg"],
-	library_dirs   =  ["/usr/local/lib"],
-	libraries      =  ["HSmypkg", "HSmypkg_cbits"],
-	include_dirs   =  [],
-	c_includes     =  ["HsMyPkg.h"],
-	package_deps   =  ["text", "data"],
-	extra_ghc_opts =  [],
-	extra_cc_opts  =  [],
-	extra_ld_opts  =  ["-lmy_clib"]
+        import_dirs     =  ["/usr/local/lib/imports/mypkg"],
+	library_dirs    =  ["/usr/local/lib"],
+	hs_libraries    =  ["HSmypkg" ],
+	extra_libraries =  ["HSmypkg_cbits"],
+	include_dirs    =  [],
+	c_includes      =  ["HsMyPkg.h"],
+	package_deps    =  ["text", "data"],
+	extra_ghc_opts  =  [],
+	extra_cc_opts   =  [],
+	extra_ld_opts   =  ["-lmy_clib"]
        }
  )
 </screen>
@@ -1717,14 +1718,42 @@ construction of interface files, is (allegedly) in the works.
 	</varlistentry>
 
 	<varlistentry>
-	  <term><literal>libraries</literal></term>
-	  <indexterm><primary><literal>libraries</literal></primary>
+	  <term><literal>hs_libraries</literal></term>
+	  <indexterm><primary><literal>hs_libraries</literal></primary>
 	    <secondary>package specification</secondary></indexterm>
 	  <listitem>
-	    <para>A list of libraries for this package, with the
-	    <literal>.a</literal> or <literal>.dll</literal> suffix
-	    omitted.  On Unix, the <literal>lib</literal> prefix is
-	    also omitted.</para>
+	    <para>A list of libraries containing Haskell code for this
+	    package, with the <literal>.a</literal> or
+	    <literal>.dll</literal> suffix omitted.  On Unix, the
+	    <literal>lib</literal> prefix is also omitted.</para>
+	  </listitem>
+	</varlistentry>
+
+	<varlistentry>
+	  <term><literal>extra_libraries</literal></term>
+	  <indexterm><primary><literal>extra_libraries</literal></primary>
+	    <secondary>package specification</secondary></indexterm>
+	  <listitem>
+	    <para>A list of extra libraries for this package.  The
+	    difference between <literal>hs_libraries</literal> and
+	    <literal>extra_libraries</literal> is that
+	    <literal>hs_libraries</literal> normally have several
+	    versions, to support profiling, parallel and other build
+	    options.  The various versions are given different
+	    suffixes to distinguish them, for example the profiling
+	    version of the standard prelude library is named
+	    <filename>libHSstd_p.a</filename>, with the
+	    <literal>_p</literal> indicating that this is a profiling
+	    version.  The suffix is added automatically by GHC for
+	    <literal>hs_libraries</literal> only, no suffix is added
+	    for libraries in
+	    <literal>extra_libraries</literal>.</para>
+
+	    <para>Also, <literal>extra_libraries</literal> are placed
+	    on the linker command line before the
+	    <literal>hs_libraries</literal> for the same package.  If
+	    your package has dependencies in the other direction, you
+	    might need to make two separate packages.</para>
 	  </listitem>
 	</varlistentry>
 
-- 
GitLab