Commit 57e8fda3 authored by rrt's avatar rrt
Browse files

[project @ 2001-06-06 10:33:35 by rrt]

Say that building packages as DLLs is now no longer supported, but may still
work.
parent e71a21d7
...@@ -79,7 +79,10 @@ ...@@ -79,7 +79,10 @@
single DLL on Windows is that the package system is used to single DLL on Windows is that the package system is used to
tell the compiler when it should make an inter-DLL call tell the compiler when it should make an inter-DLL call
rather than an intra-DLL call (inter-DLL calls require an 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 <para>Versions of the Haskell libraries for use with GHCi
may also be included: GHCi cannot load <literal>.a</literal> may also be included: GHCi cannot load <literal>.a</literal>
...@@ -127,8 +130,8 @@ ld -r --whole-archive -o HSfoo.o libHSfoo.a ...@@ -127,8 +130,8 @@ ld -r --whole-archive -o HSfoo.o libHSfoo.a
bear in mind that we might add support for Unix shared libraries bear in mind that we might add support for Unix shared libraries
at some point in the future.</para> at some point in the future.</para>
<para>It is worth noting that on Windows, because each package <para>It is worth noting that on Windows, when each package
is built as a DLL, and a reference to a DLL costs an extra is built as a DLL, since a reference to a DLL costs an extra
indirection, intra-package references are cheaper than indirection, intra-package references are cheaper than
inter-package references. Of course, this applies to the inter-package references. Of course, this applies to the
<filename>Main</filename> package as well.</para> <filename>Main</filename> package as well.</para>
...@@ -277,7 +280,8 @@ ld -r --whole-archive -o HSfoo.o libHSfoo.a ...@@ -277,7 +280,8 @@ ld -r --whole-archive -o HSfoo.o libHSfoo.a
<listitem> <listitem>
<para>A list of libraries containing Haskell code for this <para>A list of libraries containing Haskell code for this
package, with the <literal>.a</literal> or 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> <literal>lib</literal> prefix is also omitted.</para>
<para>For use with GHCi, each library should have an <para>For use with GHCi, each library should have an
......
...@@ -80,6 +80,11 @@ option on all the Haskell modules that make up your application. ...@@ -80,6 +80,11 @@ option on all the Haskell modules that make up your application.
</Title> </Title>
<Para> <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>Creating a Win32 DLL</Primary></IndexTerm>
<IndexTerm><Primary>--mk-dll</Primary></IndexTerm> <IndexTerm><Primary>--mk-dll</Primary></IndexTerm>
Sealing up your Haskell library inside a DLL is straightforward; Sealing up your Haskell library inside a DLL is straightforward;
......
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