Cope with libraries in libraries/foo/bar rather than just libraries/foo
[ghc-hetmet.git] / includes / Rts.h
index eba8146..610cd70 100644 (file)
@@ -18,6 +18,9 @@ extern "C" {
 #endif
 #include "Stg.h"
 
+// ToDo: move RtsExternal stuff elsewhere
+#include "RtsExternal.h"
+
 // Turn off inlining when debugging - it obfuscates things
 #ifdef DEBUG
 # undef  STATIC_INLINE
@@ -165,7 +168,8 @@ TAG_CLOSURE(StgWord tag,StgClosure * p)
 /* Parallel information */
 #include "Parallel.h"
 #include "OSThreads.h"
-#include "SMP.h"
+#include "SMPClosureOps.h"
+#include "SpinLock.h"
 
 /* GNU mp library */
 #if defined(HAVE_FRAMEWORK_GMP)
@@ -202,6 +206,8 @@ extern void stackOverflow(void);
 
 extern void      __decodeDouble (MP_INT *man, I_ *_exp, StgDouble dbl);
 extern void      __decodeFloat  (MP_INT *man, I_ *_exp, StgFloat flt);
+extern void      __decodeDouble_2Int (I_ *man_high, I_ *man_low, I_ *exp, StgDouble dbl);
+extern void      __decodeFloat_Int (I_ *man, I_ *exp, StgFloat flt);
 
 #if defined(WANT_DOTNET_SUPPORT)
 #include "DNInvoke.h"
@@ -258,7 +264,11 @@ TICK_VAR(2)
    -------------------------------------------------------------------------- */
 
 #ifdef DEBUG
+#if IN_STG_CODE
+#define IF_DEBUG(c,s)  if (RtsFlags[0].DebugFlags.c) { s; }
+#else
 #define IF_DEBUG(c,s)  if (RtsFlags.DebugFlags.c) { s; }
+#endif
 #else
 #define IF_DEBUG(c,s)  doNothing()
 #endif