Commit 9942fd14 authored by simonmar's avatar simonmar
Browse files

[project @ 2005-03-07 13:18:19 by simonmar]

Fix validate bug
parent 04e294bd
......@@ -369,7 +369,7 @@ $ ghc -c parse/Foo.hs parse/Bar.hs gurgle/Bumble.hs -odir `arch`
</varlistentry>
</variablelist>
</sect2>
<sect2 id="keeping-intermediates">
<title>Keeping Intermediate Files</title>
<indexterm><primary>intermediate files, saving</primary>
......@@ -682,28 +682,36 @@ When a hs-boot file <filename>A.hs-boot</filename>
an error is reported if the two are inconsistent.
</para></listitem>
<listitem><para> Just as compiling <filename>A.hs</filename> produces an
interface file <filename>A.hi</filename>, and an object file
<filename>A.o</filename>, so compiling <filename>A.hs-boot</filename>
produces an interface file
<filename>A.hi-boot</filename>, and an pseudo-object file
<filename>A.o-boot</filename>:
<itemizedlist>
<listitem><para>
The pseudo-object file <filename>A.o-boot</filename> is empty (don't link it!), but it is
very useful when using a Makefile, to record when the <filename>A.hi-boot</filename> was
last brought up to date (see <xref linkend="using-make"/>).
</para>
</listitem>
<listitem><para> The <filename>hi-boot</filename> generated by compiling a <filename>hs-boot</filename>
file is in the same machine-generated binary format as any other
GHC-generated interface file (e.g. <filename>B.hi</filename>).
You can display its contents with <command>ghc --show-iface</command>. If you
specify a directory for interface files, the <option>-ohidir</option> flag, then that affects
<filename>hi-boot</filename> files too.</para></listitem>b
</itemizedlist>
</para></listitem>
<listitem>
<para> Just as compiling <filename>A.hs</filename> produces an
interface file <filename>A.hi</filename>, and an object file
<filename>A.o</filename>, so compiling
<filename>A.hs-boot</filename> produces an interface file
<filename>A.hi-boot</filename>, and an pseudo-object file
<filename>A.o-boot</filename>: </para>
<itemizedlist>
<listitem>
<para>The pseudo-object file <filename>A.o-boot</filename> is
empty (don't link it!), but it is very useful when using a
Makefile, to record when the <filename>A.hi-boot</filename> was
last brought up to date (see <xref
linkend="using-make"/>).</para>
</listitem>
<listitem>
<para>The <filename>hi-boot</filename> generated by compiling a
<filename>hs-boot</filename> file is in the same
machine-generated binary format as any other GHC-generated
interface file (e.g. <filename>B.hi</filename>). You can
display its contents with <command>ghc
--show-iface</command>. If you specify a directory for
interface files, the <option>-ohidir</option> flag, then that
affects <filename>hi-boot</filename> files
too.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem><para> If hs-boot files are considered distinct from their parent source
files, and if a <literal>{-# SOURCE #-}</literal> import is considered to refer to the
......@@ -850,6 +858,7 @@ Foo.o Foo.hc Foo.s : Baz.hi # Foo imports Baz
<xref linkend="sec-makefile-dependencies"/></para>
</sect2>
<sect2 id="sec-makefile-dependencies">
<title>Dependency generation</title>
<indexterm><primary>dependencies in Makefiles</primary></indexterm>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment