X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fhow_to_run.lit;fp=ghc%2Fdocs%2Fusers_guide%2Fhow_to_run.lit;h=52617eff60d243ffc70ed759df820deef1090357;hb=465d1c07cc5afd809bba071b0c1b54cb8ea8e102;hp=87e016cd7769520a67ccfa685ef10dfd00dfb8db;hpb=e706e464f265caa6b16711d030d7ab1ee79c811d;p=ghc-hetmet.git diff --git a/ghc/docs/users_guide/how_to_run.lit b/ghc/docs/users_guide/how_to_run.lit index 87e016c..52617ef 100644 --- a/ghc/docs/users_guide/how_to_run.lit +++ b/ghc/docs/users_guide/how_to_run.lit @@ -208,11 +208,14 @@ better code than \tr{-O}. \item[\tr{-fvia-C}:] \index{-fvia-C option} +\index{-fvia-c option} Compile via C, and don't use the native-code generator. (There are many cases when GHC does this on its own.) You might pick up a little bit of speed by compiling via C. If you use \tr{_ccall_}s or \tr{_casm_}s, you probably {\em have to} use -\tr{-fvia-C}. +\tr{-fvia-C}. + +The lower-case incantation, \tr{-fvia-c}, is synonymous. \item[\tr{-O2-for-C}:] \index{-O2-for-C option} @@ -488,7 +491,9 @@ The compiler does not overwrite an existing \tr{.hi} interface file if the new one is byte-for-byte the same as the old one; this is friendly to \tr{make}. When an interface does change, it is often enlightening to be informed. The \tr{-hi-diffs}\index{-hi-diffs option} option will -make \tr{ghc} run \tr{diff} on the old and new \tr{.hi} files. +make \tr{ghc} run \tr{diff} on the old and new \tr{.hi} files. You can +also record the difference in the interface file itself, the +\tr{-keep-hi-diffs}\index{-keep-hi-diffs} option takes care of that. The \tr{.hi} files from GHC 2.xx contain ``usage'' information which changes often and uninterestingly. If you really want to see these @@ -1239,7 +1244,7 @@ trademark of Peyton Jones Enterprises, plc.) \index{source-file options} Sometimes it is useful to make the connection between a source file -and the command-line options it requires, quite tight. For instance, +and the command-line options it requires quite tight. For instance, if a (Glasgow) Haskell source file uses \tr{casm}s, the C back-end often needs to be told about which header files to include. Rather than maintaining the list of files the source depends on in a @@ -1262,6 +1267,10 @@ are just included literally in the array of command-line arguments the compiler driver maintains internally, so you'll be desperately disappointed if you try to glob etc. inside \tr{OPTIONS}. +NOTE: the contents of OPTIONS are prepended to the command-line +options, so you *do* have the ability to override OPTIONS settings +via the command line. + It is not recommended to move all the contents of your Makefiles into your source files, but in some circumstances, the \tr{OPTIONS} pragma is the Right Thing. (If you use \tr{-keep-hc-file-too} and have OPTION