Permalink
Browse files

update packages.xml

  • Loading branch information...
1 parent df7e6f0 commit f7e02e463786e446280779f2d236c241860b203d @mkotha committed Feb 11, 2012
Showing with 5 additions and 97 deletions.
  1. +0 −83 doc.diff
  2. +5 −14 packages.xml
View
@@ -1,86 +1,3 @@
-diff -urd 7.2.2-original/packages.xml original/packages.xml
---- 7.2.2-original/packages.xml 2011-11-10 02:10:39.000000000 +0800
-+++ original/packages.xml 2012-02-02 02:10:32.000000000 +0800
-@@ -105,7 +105,8 @@
- status. A package can be either trusted or not trusted (distrusted).
- By default packages are distrusted. This property of a package only
- plays a role when compiling code using GHC's Safe Haskell feature
-- (see <xref linkend="safe-haskell"/>).
-+ (see <xref linkend="safe-haskell"/>) with the
-+ <option>-fpackage-trust</option> flag enabled.
- </para>
-
- <para>To see which modules are provided by a package use the
-@@ -882,28 +883,6 @@
- <variablelist>
- <varlistentry>
- <term>
-- <option>&ndash;&ndash;auto-ghci-libs</option><indexterm><primary><option>&ndash;&ndash;auto-ghci-libs</option></primary>
-- </indexterm>
-- </term>
-- <listitem>
-- <para>Automatically generate the GHCi
-- <filename>.o</filename> version of each
-- <filename>.a</filename> Haskell library, using GNU ld (if
-- that is available). Without this option,
-- <literal>ghc-pkg</literal> will warn if GHCi versions of
-- any Haskell libraries in the package don't exist.</para>
--
-- <para>GHCi <literal>.o</literal> libraries don't
-- necessarily have to live in the same directory as the
-- corresponding <literal>.a</literal> library. However,
-- this option will cause the GHCi library to be created in
-- the same directory as the <literal>.a</literal>
-- library.</para>
-- </listitem>
-- </varlistentry>
--
-- <varlistentry>
-- <term>
- <option>-f</option> <replaceable>file</replaceable>
- <indexterm><primary><option>-f</option></primary>
- </indexterm>
-@@ -1054,15 +1033,31 @@
- so check the documentation if you run into difficulties.</para>
- </listitem>
- <listitem>
-- <para>Versions of the Haskell libraries for use with GHCi may also
-- be included: GHCi cannot load <literal>.a</literal> files
-- directly, instead it will look for an object file
-- called <filename>HSfoo.o</filename> and load that. On some
-- systems, the <literal>ghc-pkg</literal> tool can automatically
-- build the GHCi version of each library, see
-- <xref linkend="package-management"/>. To build these libraries
-- by hand from the <literal>.a</literal> archive, it is possible
-- to use GNU <command>ld</command> as follows:</para>
-+ <para>To load a package <literal>foo</literal>, GHCi can load
-+ its <literal>libHSfoo.a</literal> library directly, but it
-+ can also load a package in the form of a
-+ single <literal>HSfoo.o</literal> file that has been
-+ pre-linked. Loading the <literal>.o</literal> file is
-+ slightly quicker, but at the expense of having another copy
-+ of the compiled package. The rule of thumb is that if the
-+ modules of the package were compiled
-+ with <option>-split-objs</option> then building
-+ the <literal>HSfoo.o</literal> is worthwhile because it
-+ saves time when loading the package into GHCi.
-+ Without <option>-split-objs</option>, there is not much
-+ difference in load time between the <literal>.o</literal>
-+ and <literal>.a</literal> libraries, so it is better to save
-+ the disk space and only keep the <literal>.a</literal>
-+ around. In a GHC distribution we
-+ provide <literal>.o</literal> files for most packages except
-+ the GHC package itself.
-+ </para>
-+
-+ <para>The <literal>HSfoo.o</literal> file is built by Cabal
-+ automatically;
-+ use <option>--disable-library-for-ghci</option> to disable
-+ it. To build one manually, the following
-+ GNU <command>ld</command> command can be used:</para>
-
- <screen>ld -r &ndash;&ndash;whole-archive -o HSfoo.o libHSfoo.a</screen>
-
diff -urd 7.2.2-original/parallel.xml original/parallel.xml
--- 7.2.2-original/parallel.xml 2011-11-10 02:10:39.000000000 +0800
+++ original/parallel.xml 2012-02-02 02:10:32.000000000 +0800
View
@@ -64,7 +64,7 @@ $ ghc-pkg list
<para>参考: Cabalを使っているなら、パッケージが露出されているか隠されているかという区別は関係しない。どのパッケージが利用可能かは<literal>.cabal</literal>の指定に列挙されている依存関係から決定される。露出されているか隠されているかの区別は<literal>ghc</literal>や<literal>ghci</literal>を直接使うときのみ影響する。</para>
- <para>パッケージが隠されているかの状態と似たものに、パッケージが信用されているかどうかの区別がある。この性質は、GHCのSafe Haskell機能(<xref linkend="safe-haskell"/>を見よ)を使ってコードをコンパイルする場合にのみ意味を持つ。</para>
+ <para>パッケージが隠されているかの状態と似たものに、パッケージが信用されているかどうかの区別がある。この性質は、<option>-fpackage-trust</option>フラグを有効にし、GHCのSafe Haskell機能(<xref linkend="safe-haskell"/>を見よ)を使ってコードをコンパイルする場合にのみ意味を持つ。</para>
<para>あるパッケージがどんなモジュールを公開しているかを見るには、<literal>ghc-pkg</literal>コマンドを使う。(<xref linkend="package-management"/>を見よ)</para>
@@ -546,18 +546,6 @@ ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf
<variablelist>
<varlistentry>
<term>
- <option>&ndash;&ndash;auto-ghci-libs</option><indexterm><primary><option>&ndash;&ndash;auto-ghci-libs</option></primary>
- </indexterm>
- </term>
- <listitem>
- <para>各<filename>.a</filename>のHaskellライブラリについて、GHCi用<filename>.o</filename>版を自動的に生成する。これにはGNU ldが(可能なら)使われる。このオプションが指定されていないなら、<literal>ghc-pkg</literal>はパッケージにGHCi版のHaskellライブラリが含まれていないときに警告する。</para>
-
- <para>GHCiの<literal>.o</literal>ライブラリは、必ずしも対応する<literal>.a</literal>ライブラリと同じディレクトリにある必要はない。しかし、このオプションでは、GHCiライブラリは<literal>.a</literal>ライブラリと同じディレクトリに作られる。</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-f</option> <replaceable>file</replaceable>
<indexterm><primary><option>-f</option></primary>
</indexterm>
@@ -669,7 +657,10 @@ ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf
</listitem>
<listitem>
- <para>HaskellライブラリのGHCi用の版を含めることもできる。GHCiは<literal>.a</literal>ファイルを直接ロードすることができず、代わりに<filename>HSfoo.o</filename>という名前のオブジェクトファイルを探してそれをロードする。システムによっては、<literal>ghc-pkg</literal>ツールが各ライブラリのGHCi用の版を自動的にビルドすることができる。これについては<xref linkend="package-management"/>を見よ。これらのライブラリを<literal>.a</literal>アーカイブから手で作るには、GNU <command>ld</command>を次のように使うことが可能である。</para>
+ <para>パッケージ<literal>foo</literal>をロードするに当たって、GHCはそれの<literal>libHSfoo.a</literal>ライブラリを直接ロードすることもできるが、リンク済みの単一の<literal>HSfoo.o</literal>の形のパッケージをロードすることもできる。<literal>.o</literal>ファイルをロードするのはやや速いが、代わりにコンパイル済みパッケージのコピーを一つ余分に持つ必要がある。経験的には、パッケージのモジュールが<option>-split-objs</option>付きでコンパイルされたのなら、パッケージをGHCiにロードする時間を減らせるので<literal>HSfoo.o</literal>を使う価値がある。<option>-split-objs</option>なしでは、<literal>.o</literal>と<literal>.a</literal>のライブラリの間にあまり大きなロード時間の違いがないので、<literal>.a</literal>だけを置いておくことでディスク領域を節約した方が良い。GHC配布物中では、GHCパッケージ自体を除く大部分のパッケージに<literal>.o</literal>を用意している。
+ </para>
+
+ <para><literal>HSfoo.o</literal>ファイルはCabalによって自動的にビルドされる。これを無効にするには<option>--disable-library-for-ghci</option>を使う。手動でビルドするには、以下のGNU <command>ld</command>コマンドを使うことができる。</para>
<screen>ld -r &ndash;&ndash;whole-archive -o HSfoo.o libHSfoo.a</screen>

0 comments on commit f7e02e4

Please sign in to comment.