X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fphases.xml;h=cd18469e81638301e28f1a5ea0575a04fa070173;hb=6da6e65226240f731a98edd19037a01bd4e9fb41;hp=e5bac79dfd7dd1d7d1a7992b01726dc411956964;hpb=c5a97ea01a810333608ef1e26f5cb5422dd25928;p=ghc-hetmet.git
diff --git a/docs/users_guide/phases.xml b/docs/users_guide/phases.xml
index e5bac79..cd18469 100644
--- a/docs/users_guide/phases.xml
+++ b/docs/users_guide/phases.xml
@@ -49,6 +49,28 @@
+ cmd
+
+
+
+ Use cmd as the
+ mangler.
+
+
+
+
+
+ cmd
+
+
+
+ Use cmd as the
+ splitter.
+
+
+
+
+ cmd
@@ -82,17 +104,6 @@
- cmd
-
-
-
- Use cmd as the dependency
- generator.
-
-
-
-
- cmd
@@ -155,6 +166,15 @@
+ option
+
+
+
+ Pass option to the mangler.
+
+
+
+ option
@@ -486,6 +506,24 @@ $ cat foo.hspp
are fed to cmd on the command
line after the three standard input and output
arguments.
+
+
+ An example of a pre-processor is to convert your source files to the
+ input encoding that GHC expects, i.e. create a script
+ convert.sh containing the lines:
+
+
+#!/bin/sh
+( echo "{-# LINE 1 \"$2\" #-}" ; iconv -f l1 -t utf-8 $2 ) > $3
+
+ and pass -F -pgmF convert.sh to GHC.
+ The -f l1 option tells iconv to convert your
+ Latin-1 file, supplied in argument $2, while
+ the "-t utf-8" options tell iconv to return a UTF-8 encoded file.
+ The result is redirected into argument $3.
+ The echo "{-# LINE 1 \"$2\" #-}"
+ just makes sure that your error positions are reported as
+ in the original source file.
@@ -725,7 +763,12 @@ $ cat foo.hspp
Tell the linker to split the single object file that
would normally be generated into multiple object files,
one per top-level Haskell function or type in the module.
- We use this feature for building GHC's libraries libraries
+ This only makes sense for libraries, where it means that
+ executables linked against the library are smaller as they only
+ link against the object files that they need. However, assembling
+ all the sections separately is expensive, so this is slower than
+ compiling normally.
+ We use this feature for building GHC's libraries
(warning: don't use it unless you know what you're
doing!).
@@ -783,7 +826,7 @@ $ cat foo.hspp
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.
+ flag.
@@ -859,7 +902,7 @@ $ cat foo.hspp
machine. See .
The ability to make a foreign call that does not
- block all other Haskell threads..
+ block all other Haskell threads.
The ability to invoke foreign exported Haskell
functions from multiple OS threads.