Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / rts / Makefile
index ff7d82a..9828f55 100644 (file)
@@ -119,6 +119,11 @@ SRC_CC_OPTS += $(STANDARD_OPTS)
 SRC_CC_OPTS += $(GhcRtsCcOpts)
 SRC_HC_OPTS += $(GhcRtsHcOpts)
 
+ifneq "$(GhcWithSMP)" "YES"
+SRC_CC_OPTS += -DNOSMP
+SRC_HC_OPTS += -optc-DNOSMP
+endif
+
 ifneq "$(DLLized)" "YES"
 SRC_HC_OPTS += -static
 endif
@@ -317,6 +322,9 @@ endif
 # -O3 helps unroll some loops (especially in copy() with a constant argument).
 GC_HC_OPTS += -optc-O3
 
+# Without this, thread_obj will not be inlined (at least on x86 with GCC 4.1.0)
+GCCompact_HC_OPTS += -optc-finline-limit=2500
+
 # -fno-strict-aliasing is required for the runtime, because we often
 # use a variety of types to represent closure pointers (StgPtr,
 # StgClosure, StgMVar, etc.), and without -fno-strict-aliasing gcc is
@@ -325,6 +333,9 @@ GC_HC_OPTS += -optc-O3
 # upd_evacee() assigments get moved before the object copy.
 SRC_CC_OPTS += -fno-strict-aliasing
 
+# Cmm must be compiled via-C for now, because the NCG can't handle loops
+SRC_HC_OPTS += -fvia-C
+
 # We *want* type-checking of hand-written cmm.
 SRC_HC_OPTS += -dcmm-lint