diff options
author | Ian Lynagh <ian@well-typed.com> | 2013-05-13 22:39:29 +0100 |
---|---|---|
committer | Ian Lynagh <ian@well-typed.com> | 2013-05-14 13:49:09 +0100 |
commit | 60b86b04b2c214ef75b01371901a040933debf31 (patch) | |
tree | ed89503ca5c5039464692d0993b3525e209c99a6 /rules/distdir-way-opts.mk | |
parent | ff1a16a0bd630f97dc507f96977eaaae9d8df9a6 (diff) | |
download | haskell-60b86b04b2c214ef75b01371901a040933debf31.tar.gz |
Fix the GHC package DLL-splitting
There's now an internal -dll-split flag, which we use to tell GHC how
the GHC package is split into 2 separate DLLs. This is used by
Packages.isDllName to determine whether a call is within the same
DLL, or whether it is a call to another DLL.
Diffstat (limited to 'rules/distdir-way-opts.mk')
-rw-r--r-- | rules/distdir-way-opts.mk | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/rules/distdir-way-opts.mk b/rules/distdir-way-opts.mk index f288d3919e..23fdf7b20d 100644 --- a/rules/distdir-way-opts.mk +++ b/rules/distdir-way-opts.mk @@ -124,6 +124,14 @@ $1_$2_$3_ALL_HC_OPTS = \ $$(if $$(findstring YES,$$($1_$2_DYNAMIC_TOO)),$$(if $$(findstring v,$3),-dynamic-too)) ifeq "$3" "dyn" +ifeq "$$(HostOS_CPP)" "mingw32" +ifneq "$$($1_$2_dll0_MODULES)" "" +$1_$2_$3_ALL_HC_OPTS += -dll-split $1/$2/dll-split +endif +endif +endif + +ifeq "$3" "dyn" ifneq "$4" "0" ifeq "$$(TargetElf)" "YES" $1_$2_$3_GHC_LD_OPTS += \ |