... | @@ -6,37 +6,29 @@ The RTS can be built in several different ways, corresponding to global CPP defi |
... | @@ -6,37 +6,29 @@ The RTS can be built in several different ways, corresponding to global CPP defi |
|
|
|
|
|
The CPP symbols and their corresponding command-line flags are:
|
|
The CPP symbols and their corresponding command-line flags are:
|
|
|
|
|
|
<table><tr><th>`PROFILING`</th>
|
|
- **`PROFILING`**
|
|
<td>
|
|
|
|
Enables profiling.
|
|
|
|
|
|
|
|
GHC option: `-prof`
|
|
- Enables profiling.
|
|
|
|
- GHC option: `-prof`
|
|
|
|
- RTS suffix: `p`
|
|
|
|
|
|
RTS suffix: `p`</td></tr></table>
|
|
- **`THREADED_RTS`**
|
|
|
|
|
|
<table><tr><th>`THREADED_RTS`</th>
|
|
- Enables multithreading in the RTS, bound threads, and SMP execution.
|
|
<td>
|
|
- GHC option: `-threaded`
|
|
Enables multithreading in the RTS, bound threads, and SMP execution.
|
|
- RTS suffix: `thr`
|
|
|
|
|
|
GHC option: `-threaded`
|
|
- **`DEBUG`**
|
|
|
|
|
|
RTS suffix: `thr`</td></tr></table>
|
|
- Enables extra debugging code, assertions, traces, and the `+RTS -D` options.
|
|
|
|
- GHC option: `-debug`
|
|
|
|
- RTS suffix: `debug`
|
|
|
|
|
|
<table><tr><th>`DEBUG`</th>
|
|
- **`TRACING`**
|
|
<td>
|
|
|
|
Enables extra debugging code, assertions, traces, and the `+RTS -D` options.
|
|
|
|
|
|
|
|
GHC option: `-debug`
|
|
- Enables RTS tracing and event logging, see [rts/Trace.c](/ghc/ghc/tree/master/ghc/rts/Trace.c). Implied by `DEBUG`.
|
|
|
|
- GHC option: `-eventlog`
|
|
RTS suffix: `debug`</td></tr></table>
|
|
- RTS suffix: `l`
|
|
|
|
|
|
<table><tr><th>`TRACING`</th>
|
|
|
|
<td>
|
|
|
|
Enables RTS tracing and event logging, see [rts/Trace.c](/ghc/ghc/tree/master/ghc/rts/Trace.c). Implied by `DEBUG`.
|
|
|
|
|
|
|
|
GHC option: `-eventlog`
|
|
|
|
|
|
|
|
RTS suffix: `l`</td></tr></table>
|
|
|
|
|
|
|
|
|
|
|
|
So for example, `libHSrts_thr_debug.a` is the version of the runtime compiled with `THREADED_RTS` and `DEBUG`, and will be linked in if you use the `-threaded` and `-debug` options to GHC.
|
|
So for example, `libHSrts_thr_debug.a` is the version of the runtime compiled with `THREADED_RTS` and `DEBUG`, and will be linked in if you use the `-threaded` and `-debug` options to GHC.
|
... | @@ -51,22 +43,19 @@ All combinations are allowed. Only some are built by default though; see [mk/co |
... | @@ -51,22 +43,19 @@ All combinations are allowed. Only some are built by default though; see [mk/co |
|
|
|
|
|
## Other configuration options
|
|
## Other configuration options
|
|
|
|
|
|
<table><tr><th>`NO_REGS`</th>
|
|
- **`NO_REGS`**
|
|
<td>
|
|
|
|
Disabled the use of hardware registers for the stack pointer (`Sp`), heap pointer (`Hp`), etc. This is
|
|
Disabled the use of hardware registers for the stack pointer (`Sp`), heap pointer (`Hp`), etc. This is
|
|
enabled when building "unregisterised" code, which is controlled by the `GhcUnregisterised` build option.
|
|
enabled when building "unregisterised" code, which is controlled by the `GhcUnregisterised` build option.
|
|
Typically this is necessary when building GHC on a platform for which there is no native code generator
|
|
Typically this is necessary when building GHC on a platform for which there is no native code generator
|
|
and LLVM does not have a GHC calling convention.
|
|
and LLVM does not have a GHC calling convention.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`USE_MINIINTERPRETER`</th>
|
|
- **`USE_MINIINTERPRETER`**
|
|
<td>
|
|
|
|
Enables the use of the RTS "mini-interpreter", which simulates tail-calls. Again, this is enabled by
|
|
Enables the use of the RTS "mini-interpreter", which simulates tail-calls. Again, this is enabled by
|
|
`GhcUnregisterised` in the build system.
|
|
`GhcUnregisterised` in the build system.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`TABLES_NEXT_TO_CODE`</th>
|
|
- **`TABLES_NEXT_TO_CODE`**
|
|
<td>
|
|
|
|
Controls whether the info table is placed directly before the entry code for a closure or return continuation.
|
|
Controls whether the info table is placed directly before the entry code for a closure or return continuation.
|
|
This is normally turned on if the platform supports it, but is turned off by `GhcUnregisterised`. |
|
This is normally turned on if the platform supports it, but is turned off by `GhcUnregisterised`. |
|
|
|
\ No newline at end of file |
|
</td></tr></table> |
|
|
|
\ No newline at end of file |
|
|