Fix #3439: -debug implies -ticky, and -ticky code links with any RTS
[ghc-hetmet.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://hackage.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  */
32 #if defined(DEBUG)
33 #define TRACING
34 #define TICKY_TICKY
35 #endif
36
37 /* -----------------------------------------------------------------------------
38    Signals - supported on non-PAR versions of the runtime.  See RtsSignals.h.
39    -------------------------------------------------------------------------- */
40
41 #define RTS_USER_SIGNALS 1
42
43 /* Profile spin locks */
44
45 #define PROF_SPIN
46
47 #endif /* RTS_CONFIG_H */