[project @ 2003-06-23 10:13:03 by simonmar]
[ghc-hetmet.git] / ghc / docs / users_guide / phases.sgml
index b3f4883..0dee0c1 100644 (file)
@@ -461,6 +461,19 @@ strmod = "\
        </varlistentry>
 
        <varlistentry>
+         <term><option>-no-link</option></term>
+         <indexterm>
+           <primary><option>-no-link</option></primary>
+         </indexterm>
+         <listitem>
+           <para>Omit the link step.  This flag can be useful if you
+           want to avoid linking in <option>--make</option> mode,
+           where linking is normally done automatically if the program
+           contains a <literal>Main</literal> module.</para>
+         </listitem>
+       </varlistentry>
+
+       <varlistentry>
          <term><option>-package</option> <replaceable>name</replaceable></term>
          <indexterm><primary><option>-package</option></primary></indexterm>
          <listitem>
@@ -482,7 +495,7 @@ strmod = "\
            This option corresponds to the <option>-framework</option> option for Apple's Linker.
            Please note that frameworks and packages are two different things - frameworks don't
            contain any haskell code. Rather, they are Apple's way of packaging shared libraries.
-           To link to Apple's &ldquo;Carbon&qdquo; API, for example, you'd use
+           To link to Apple's &ldquo;Carbon&rdquo; API, for example, you'd use
            <option>-framework Carbon</option>.
            </para>
          </listitem>
@@ -550,7 +563,7 @@ strmod = "\
             as part of another (non-Haskell) program, the RTS will not
             be supplying its definition of <function>main()</function>
             at link-time, you will have to. To signal that to the
-            driver script when linking, use
+            compiler when linking, use
             <option>-no-hs-main</option>.</para>
 
            <para>Notice that since the command-line passed to the
@@ -560,6 +573,13 @@ strmod = "\
             though, just try linking once with <option>-v</option> on
             to see what options the driver passes through to the
             linker.</para>
+
+           <para>The <option>-no-hs-main</option> flag can also be
+           used to persuade the compiler to do the link step in
+           <option>--make</option> mode when there is no Haskell
+           <literal>Main</literal> module present (normally the
+           compiler will not attempt linking when there is no
+           <literal>Main</literal>).</para>
          </listitem>
        </varlistentry>
       </variablelist>