X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fwin32-dlls.xml;h=8cd73ec5a986cd26dbec8108e6d6c90e5c9e555e;hb=26f164e5759e9eca73deb0531ddec422d36a6924;hp=1589821b0e815d205a93cde1a1e0a984eaa8218f;hpb=e929beed06e43151e2f91b34962c405e05fabb3a;p=ghc-hetmet.git diff --git a/docs/users_guide/win32-dlls.xml b/docs/users_guide/win32-dlls.xml index 1589821..8cd73ec 100644 --- a/docs/users_guide/win32-dlls.xml +++ b/docs/users_guide/win32-dlls.xml @@ -210,7 +210,8 @@ make-sessions running under cygwin. Making Haskell libraries into DLLs doesn't work on Windows at the -moment; we hope to re-instate this facility in the future. Note that +moment; we hope to re-instate this facility in the future +(see ). Note that building an entire Haskell application as a single DLL is still supported: it's just multi-DLL Haskell programs that don't work. The Windows distribution of GHC contains static libraries only. @@ -294,7 +295,7 @@ option on all the Haskell modules that make up your application. Creating a Win32 DLL -––shared +–shared Sealing up your Haskell library inside a DLL is straightforward; compile up the object files that make up the library, and then build the DLL by issuing a command of the form: @@ -302,12 +303,12 @@ the DLL by issuing a command of the form: -ghc ––shared -o foo.dll bar.o baz.o wibble.a -lfooble +ghc –shared -o foo.dll bar.o baz.o wibble.a -lfooble -By feeding the ghc compiler driver the option , it +By feeding the ghc compiler driver the option , it will build a DLL rather than produce an executable. The DLL will consist of all the object files and archives given on the command line. @@ -347,12 +348,12 @@ you compile into a DLL must have a common root. By default, the entry points of all the object files will be exported from -the DLL when using . Should you want to constrain +the DLL when using . Should you want to constrain this, you can specify the module definition file to use on the command line as follows: -ghc ––shared -o .... MyDef.def +ghc –shared -o .... MyDef.def See Microsoft documentation for details, but a module definition file @@ -371,7 +372,7 @@ EXPORTS -In addition to creating a DLL, the option also +In addition to creating a DLL, the option also creates an import library. The import library name is derived from the name of the DLL, as follows: @@ -485,7 +486,7 @@ ghc -c dllMain.c Construct the DLL: -ghc ––shared -o adder.dll adder.o adder_stub.o dllMain.o +ghc –shared -o adder.dll adder.o adder_stub.o dllMain.o