51ee74fdb8b607c743c47ee8067e83ecbc936a42
[ghc.git] / includes / rts / Config.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2009
4 *
5 * Rts settings.
6 *
7 * NOTE: assumes #include "ghcconfig.h"
8 *
9 * NB: THIS FILE IS INCLUDED IN NON-C CODE AND DATA! #defines only please.
10 *
11 * To understand the structure of the RTS headers, see the wiki:
12 * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
13 *
14 * ---------------------------------------------------------------------------*/
15
16 #ifndef RTS_CONFIG_H
17 #define RTS_CONFIG_H
18
19 #if defined(TICKY_TICKY) && defined(THREADED_RTS)
20 #error TICKY_TICKY is incompatible with THREADED_RTS
21 #endif
22
23 /*
24 * Whether the runtime system will use libbfd for debugging purposes.
25 */
26 #if defined(DEBUG) && defined(HAVE_BFD_H) && defined(HAVE_LIBBFD) && !defined(_WIN32)
27 #define USING_LIBBFD 1
28 #endif
29
30 /* DEBUG implies TRACING and TICKY_TICKY */
31 #if defined(DEBUG)
32 #if !defined(TRACING)
33 #define TRACING
34 #endif
35 #if !defined(TICKY_TICKY)
36 #define TICKY_TICKY
37 #endif
38 #endif
39
40
41 /* -----------------------------------------------------------------------------
42 Signals - supported on non-PAR versions of the runtime. See RtsSignals.h.
43 -------------------------------------------------------------------------- */
44
45 #define RTS_USER_SIGNALS 1
46
47 /* Profile spin locks */
48
49 #define PROF_SPIN
50
51 #endif /* RTS_CONFIG_H */