+
+ <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>
+
+ <varlistentry>
+ <term>
+ <option>-dylib-install-name <replaceable>path</replaceable></option>
+ <indexterm><primary><option>-dylib-install-name</option></primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>On Darwin/MacOS X, dynamic libraries are stamped at build time with an
+ "install name", which is the ultimate install path of the library file.
+ Any libraries or executables that subsequently link against it will pick
+ up that path as their runtime search location for it. By default, ghc sets
+ the install name to the location where the library is built. This option
+ allows you to override it with the specified file path. (It passes
+ <literal>-install_name</literal> to Apple's linker.) Ignored on other
+ platforms.</para>
+ </listitem>
+ </varlistentry>