summaryrefslogtreecommitdiff
path: root/rts/Makefile
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-06-03 07:31:19 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-06-03 07:31:19 +0000
commitb339c8b1d0f239031802555b454062e9430ec8bb (patch)
tree501e7b6d56a34ff86e6b0fe2959a4ee250b8c0e9 /rts/Makefile
parent2ac31c7f6e9306024da822674f478db039edb39b (diff)
downloadhaskell-b339c8b1d0f239031802555b454062e9430ec8bb.tar.gz
Put the contents of Evac.c-inc back in Evac.c, and just compile the file twice
Similarly for Scav.c/Scav.c-inc.
Diffstat (limited to 'rts/Makefile')
-rw-r--r--rts/Makefile14
1 files changed, 14 insertions, 0 deletions
diff --git a/rts/Makefile b/rts/Makefile
index 9f1782bb70..ab1eb3d7d8 100644
--- a/rts/Makefile
+++ b/rts/Makefile
@@ -397,6 +397,20 @@ endif
# -O3 helps unroll some loops (especially in copy() with a constant argument).
sm/Evac_HC_OPTS += -optc-funroll-loops
+ifneq "$(findstring thr, $(way))" ""
+EXTRA_SRCS += sm/Evac_thr.c sm/Scav_thr.c
+
+sm/Evac_thr.c : sm/Evac.c
+ cp $< $@
+sm/Scav_thr.c : sm/Scav.c
+ cp $< $@
+
+sm/Evac_thr_HC_OPTS += -optc-DPARALLEL_GC
+sm/Scav_thr_HC_OPTS += -optc-DPARALLEL_GC
+else
+EXCLUDED_SRCS += sm/Evac_thr.c sm/Scav_thr.c
+endif
+
# Without this, thread_obj will not be inlined (at least on x86 with GCC 4.1.0)
sm/Compact_HC_OPTS += -optc-finline-limit=2500