X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fphases.xml;h=fd034a305afc5dbdf30734b9b8a2775df0de8ea6;hb=51ab82d2c77dbb12fb6d92cfcf6ee30c5a543997;hp=3203db2b44a8b73f8542edd04f9dd9dfd13cb64f;hpb=c0233dc7d12654001595e9c3d5354ced415987bc;p=ghc-hetmet.git
diff --git a/ghc/docs/users_guide/phases.xml b/ghc/docs/users_guide/phases.xml
index 3203db2..fd034a3 100644
--- a/ghc/docs/users_guide/phases.xml
+++ b/ghc/docs/users_guide/phases.xml
@@ -387,7 +387,7 @@ $ cat foo.hspp
- os_OS=1
+ os_HOST_OS=1This define allows conditional compilation based on
@@ -400,7 +400,7 @@ $ cat foo.hspp
- arch_ARCH=1
+ arch_HOST_ARCH=1This define allows conditional compilation based on
@@ -559,6 +559,38 @@ $ cat foo.hspp
dumps of the intermediate compilation phases.
+
+
+
+
+
+
+
+ Generate position-independent code (code that can be put into
+ shared libraries). This currently works on Mac OS X; it works on
+ PowerPC Linux when using the native code generator (-fasm).
+ It is not quite ready to be used yet for x86 Linux.
+ On Windows, position-independent code is never used,
+ and on PowerPC64 Linux, position-independent code is always used,
+ so the flag is a no-op on those platforms.
+
+
+
+
+
+
+
+
+ When generating code, assume that entities imported from a
+ different package will reside in a different shared library or
+ binary. This currently works on Mac OS X; it works on PowerPC Linux when
+ using the native code generator. As with ,
+ x86 Linux support is not quite ready yet. Windows is not supported,
+ and it is a no-op on PowerPC64 Linux.
+ Note that this option also causes GHC to use shared libraries
+ when linking.
+
+
@@ -717,9 +749,11 @@ $ cat foo.hspp
Tell the linker to use shared Haskell libraries, if
- available (this option is only supported on Windows at the
+ available (this option is only supported on Mac OS X at the
moment, and also note that your distribution of GHC may
not have been supplied with shared libraries).
+ Note that this option also has an effect on
+ code generation (see above).
@@ -741,7 +775,15 @@ $ cat foo.hspp
Strictly speaking, is not a link-phase flag at all; it has no effect on the link step.
The flag must be specified when compiling the module containing the specified main function (e.g. module A
- in the latter two items above. It has no effect for other modules (and hence can safely be given to ghc --make).
+ in the latter two items above). It has no effect for other modules,
+ and hence can safely be given to ghc --make.
+ However, if all the modules are otherwise up to date, you may need to force
+ recompilation both of the module where the new "main" is, and of the
+ module where the "main" function used to be;
+ ghc is not clever
+ enough to figure out that they both need recompiling. You can
+ force recompilation by removing the object file, or by using the
+ flag.