remove docuumentation for -#include option
[ghc-hetmet.git] / docs / users_guide / phases.xml
index 2026a34..1249a15 100644 (file)
@@ -543,31 +543,6 @@ $ cat foo.hspp</screen>
     </variablelist>
   </sect2>
 
-  <sect2 id="options-C-compiler">
-    <title>Options affecting the C compiler (if applicable)</title>
-
-    <indexterm><primary>include-file options</primary></indexterm>
-    <indexterm><primary>C compiler options</primary></indexterm>
-    <indexterm><primary>GCC options</primary></indexterm>
-
-    <para>If you are compiling with lots of foreign calls, you may
-    need to tell the C&nbsp;compiler about some
-    <literal>&num;include</literal> files.  The Right Way to do this is to
-      add an <literal>INCLUDE</literal> pragma to the top of your source file
-      (<xref linkend="include-pragma" />):</para>
-
-<programlisting>{-# INCLUDE &lt;X/Xlib.h&gt; #-}</programlisting>
-      
-    <para>Sometimes this isn't convenient.  In those cases there's an
-      equivalent command-line option:</para>
-
-<screen>% ghc -c '-#include &lt;X/Xlib.h&gt;' Xstuff.lhs</screen>
-
-    <indexterm><primary><option>-#include</option></primary>
-    </indexterm>
-
-  </sect2>
-
   <sect2 id="options-codegen">
     <title>Options affecting code generation</title>
 
@@ -1052,6 +1027,28 @@ $ cat foo.hspp</screen>
               />).</para>
         </listitem>
       </varlistentry>
+          
+      <varlistentry>
+        <term>
+          <option>-fno-shared-implib</option>
+          <indexterm><primary><option>-fno-shared-implib</option></primary>
+          </indexterm>
+        </term>
+        <listitem>
+          <para>DLLs on Windows are typically linked to by linking to a corresponding
+            <literal>.lib</literal> or <literal>.dll.a</literal> - the so-called import library.
+            GHC will typically generate such a file for every DLL you create by compiling in
+            <literal>-shared</literal> mode. However, sometimes you don't want to pay the
+            disk-space cost of creating this import library, which can be substantial - it
+            might require as much space as the code itself, as Haskell DLLs tend to export
+            lots of symbols.</para>
+            
+          <para>As long as you are happy to only be able to link to the DLL using
+            <literal>GetProcAddress</literal> and friends, you can supply the
+            <option>-fno-shared-implib</option> flag to disable the creation of the import
+            library entirely.</para>
+        </listitem>
+      </varlistentry>
     </variablelist>
   </sect2>