single DLL on Windows is that the package system is used to
tell the compiler when it should make an inter-DLL call
rather than an intra-DLL call (inter-DLL calls require an
- extra indirection).</para>
+ extra indirection). <Strong>Building packages as DLLs
+ doesn't work at the moment; see <XRef
+ LinkEnd="win32-dlls-create"> for the gory details.</Strong>
+ </para>
<para>Versions of the Haskell libraries for use with GHCi
may also be included: GHCi cannot load <literal>.a</literal>
bear in mind that we might add support for Unix shared libraries
at some point in the future.</para>
- <para>It is worth noting that on Windows, because each package
- is built as a DLL, and a reference to a DLL costs an extra
+ <para>It is worth noting that on Windows, when each package
+ is built as a DLL, since a reference to a DLL costs an extra
indirection, intra-package references are cheaper than
inter-package references. Of course, this applies to the
<filename>Main</filename> package as well.</para>
<listitem>
<para>A list of libraries containing Haskell code for this
package, with the <literal>.a</literal> or
- <literal>.dll</literal> suffix omitted. On Unix, the
+ <literal>.dll</literal> suffix omitted. When packages are
+ built as libraries, the
<literal>lib</literal> prefix is also omitted.</para>
<para>For use with GHCi, each library should have an
</Title>
<Para>
+<Strong>Making libraries into DLLs doesn't work on Windows at the
+moment (and is no longer supported); however, all the machinery is
+still there. If you're interested, contact the GHC team. Note that
+building an entire Haskell application as a DLL is still supported
+(it's just inter-DLL Haskell calls that don't work).</Strong>
<IndexTerm><Primary>Creating a Win32 DLL</Primary></IndexTerm>
<IndexTerm><Primary>--mk-dll</Primary></IndexTerm>
Sealing up your Haskell library inside a DLL is straightforward;