replace sparc-specific Int64 code with calls to platform-independent macros
[ghc-hetmet.git] / includes / RtsConfig.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 1998-2004
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
12 #ifndef RTSCONFIG_H
13 #define RTSCONFIG_H
14
15 /*
16  * SUPPORT_LONG_LONGS controls whether we need to support long longs on a
17  * particular platform.   On 64-bit platforms, we don't need to support
18  * long longs since regular machine words will do just fine.
19  */
20 #if HAVE_LONG_LONG && SIZEOF_VOID_P < 8
21 #define SUPPORT_LONG_LONGS 1
22 #endif
23
24 /*
25  * Whether the runtime system will use libbfd for debugging purposes.
26  */
27 #if defined(DEBUG) && defined(HAVE_BFD_H) && defined(HAVE_LIBBFD) && !defined(_WIN32)
28 #define USING_LIBBFD 1
29 #endif
30
31 /* -----------------------------------------------------------------------------
32    Labels - entry labels & info labels point to the same place in
33    TABLES_NEXT_TO_CODE, so we only generate the _info label.  Jumps
34    must therefore be directed to foo_info rather than foo_entry when
35    TABLES_NEXT_TO_CODE is on.
36
37    This isn't a good place for these macros, but they need to be
38    available to .cmm sources as well as C and we don't have a better
39    place.
40    -------------------------------------------------------------------------- */
41
42 #ifdef TABLES_NEXT_TO_CODE
43 #define ENTRY_LBL(f) f##_info
44 #else
45 #define ENTRY_LBL(f) f##_entry
46 #endif
47
48 #ifdef TABLES_NEXT_TO_CODE
49 #define RET_LBL(f) f##_info
50 #else
51 #define RET_LBL(f) f##_ret
52 #endif
53
54 /* -----------------------------------------------------------------------------
55    Signals - supported on non-PAR versions of the runtime.  See RtsSignals.h.
56    -------------------------------------------------------------------------- */
57
58 #define RTS_USER_SIGNALS 1
59
60 /* Profile spin locks */
61
62 #define PROF_SPIN
63
64 #endif /* RTSCONFIG_H */