summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2019-03-19 22:50:31 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2019-03-26 17:07:58 +0800
commit0afafba73f675ed429368bb72a0e89414d50820d (patch)
tree7a93a5729b595be361301ff66d17c9d4b62b76da
parenteca4bb66aaf210cbc1c2516db128541525a89823 (diff)
downloadhaskell-wip/angerman/reinstallable-lib-ghc.tar.gz
Unconditionally add keepCAFsForGHCi.cwip/angerman/reinstallable-lib-ghc
This brings us closer to being able to represent the compiler with a .cabal file. We do need to ensure that the rts exports `keepCAFs` though.
-rw-r--r--compiler/ghc.mk14
-rw-r--r--rts/RtsSymbols.c1
2 files changed, 1 insertions, 14 deletions
diff --git a/compiler/ghc.mk b/compiler/ghc.mk
index 361ca87187..66b757d556 100644
--- a/compiler/ghc.mk
+++ b/compiler/ghc.mk
@@ -442,20 +442,6 @@ $(eval $(call build-package,compiler,stage1,0))
$(eval $(call build-package,compiler,stage2,1))
$(eval $(call build-package,compiler,stage3,2))
-# We only want to turn keepCAFs on if we will be loading dynamic
-# Haskell libraries with GHCi. We therefore filter the object file
-# out for non-dynamic ways.
-define keepCAFsForGHCiDynOnly
-# $1 = stage
-# $2 = way
-ifeq "$$(findstring dyn, $2)" ""
-compiler_stage$1_$2_C_OBJS := $$(filter-out %/keepCAFsForGHCi.$$($2_osuf),$$(compiler_stage$1_$2_C_OBJS))
-endif
-endef
-$(foreach w,$(compiler_stage1_WAYS),$(eval $(call keepCAFsForGHCiDynOnly,1,$w)))
-$(foreach w,$(compiler_stage2_WAYS),$(eval $(call keepCAFsForGHCiDynOnly,2,$w)))
-$(foreach w,$(compiler_stage3_WAYS),$(eval $(call keepCAFsForGHCiDynOnly,3,$w)))
-
# after build-package, because that adds --enable-library-for-ghci
# to compiler_stage*_CONFIGURE_OPTS:
# We don't build the GHCi library for the ghc package. We can load it
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index eb0322ed3e..8f44a098e4 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -935,6 +935,7 @@
SymI_HasProto(load_load_barrier) \
SymI_HasProto(cas) \
SymI_HasProto(_assertFail) \
+ SymI_HasProto(keepCAFs) \
RTS_USER_SIGNALS_SYMBOLS \
RTS_INTCHAR_SYMBOLS