Changes between Version 15 and Version 16 of Commentary/Pipeline


Ignore:
Timestamp:
Oct 4, 2006 8:33:27 PM (8 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Pipeline

    v15 v16  
    88We start with {{{Foo.hs}}} or {{{Foo.lhs}}}, the "l" specifing whether literate style is being used. 
    99 
    10  * Run the unlit pre-processor, {{{unlit}}}, to remove the literate markup, generating {{{Foo.lpp}}}.  The {{{unlit}}} processor is a C program kept in {{{utils/unlit}}}. 
     10 * Run the '''unlit pre-processor''', {{{unlit}}}, to remove the literate markup, generating {{{Foo.lpp}}}.  The {{{unlit}}} processor is a C program kept in {{{utils/unlit}}}. 
    1111 
    12  * Run CPP (if {{{-cpp}}} is specified), generating {{{Foo.cpp}}} or {{{Foo.hspp}}} respectively. 
     12 * Run the '''C preprocessor''', `cpp`, (if {{{-cpp}}} is specified), generating {{{Foo.cpp}}} or {{{Foo.hspp}}} respectively. 
    1313 
    14  * Run the compiler itself. This does not start a separate process; it's just a call to a Haskell function.  This step always generates an '''interface file''' {{{Foo.hi}}}, and depending on what flags you give, it also generates a compiled file: 
     14 * Run '''the compiler itself'''. This does not start a separate process; it's just a call to a Haskell function.  This step always generates an '''interface file''' {{{Foo.hi}}}, and depending on what flags you give, it also generates a compiled file: 
    1515   * Assembly code: flag {{{-S}}}, file {{{Foo.s}}} 
    1616   * C code: flag {{{-fviaC}}}, file {{{Foo.hc}}} 
    1717   * C-- mode: flag {{{-fcmm}}}, file {{{Foo.cmm}}}, believed not to work 
    1818 
    19   * In the {{{-fviaC}}} case, run the C compiler, followed by the [wiki:EvilMangler Evil Mangler], generating {{{Foo.s}}} 
     19  * In the {{{-fviaC}}} case, run the '''C compiler''', followed by the [wiki:EvilMangler Evil Mangler], generating {{{Foo.s}}} 
    2020 
    2121  * If `-fsplit-objs` is in force, run the '''splitter''' on `Foo.s`.  This splits `Foo.s` into lots of small files, `Foo/Foo1.s`, `Foo/Foo2.s`, etc.  The idea is that the static linker will thereby avoid linking dead code.