summaryrefslogtreecommitdiff
path: root/rules/build-package-way.mk
diff options
context:
space:
mode:
authorThomas Miedema <thomasmiedema@gmail.com>2015-10-26 20:54:58 +0100
committerThomas Miedema <thomasmiedema@gmail.com>2015-10-28 07:51:03 +0100
commit9fc2d777f53110040f48ab27643a16888fa377f5 (patch)
tree7f93728a10f89444ea0529c26b1e47923eae884c /rules/build-package-way.mk
parentd1ab6fc9eddcee63ea594c1357d47d3dcebe2492 (diff)
downloadhaskell-9fc2d777f53110040f48ab27643a16888fa377f5.tar.gz
Build system: don't add ALL_HC_OPTS when linking
Summary: The current scheme in rules/distdir-way-opts.mk is something like this: GHC_LD_OPTS = MOST_HC_OPTS + ALL_LD_OPTS MOST_DIR_HC_OPTS = MOST_HC_OPTS + -odir,-hidir,-stubdir ALL_HC_OPTS = MOST_DIR_HC_OPTS + -hisuf,-osuf,-hcsuf,-split-objs,-dynamic-too Notice that both ALL_HC_OPTS and GHC_LD_OPTS include MOST_HC_OPTS, and currently both got added when linking. Adding MOST_HC_OPTS twice results in overly long and hard to decipher command lines (and build logs). This commit fixes that. Afaik, -odir,-hidir,-stubdir,-hisuf,-osuf,-hcsuf,-spit-objs,-dynamic-too are all not needed when linking, so this change should be safe to make. GHC_LD_OPTS is for linking, ALL_HC_OPTS is for compiling. ALL_HC_OPTS was added to the linking commands in 37a6a52facd1c3999ce4472c50b0030568be1e04, to make sure -no-user-package-conf would be in the options list. It still is after this change. Reviewers: austin, bgamari Differential Revision: https://phabricator.haskell.org/D1379
Diffstat (limited to 'rules/build-package-way.mk')
-rw-r--r--rules/build-package-way.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk
index a10e53833e..592d3a7808 100644
--- a/rules/build-package-way.mk
+++ b/rules/build-package-way.mk
@@ -91,7 +91,7 @@ endif
else # ifneq "$$(HostOS_CPP)" "mingw32"
$$($1_$2_$3_LIB) : $$($1_$2_$3_ALL_OBJS) $$(ALL_RTS_LIBS) $$($1_$2_$3_DEPS_LIBS)
- $$(call cmd,$1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) $$($1_$2_$3_GHC_LD_OPTS) $$($1_$2_$3_ALL_OBJS) \
+ $$(call cmd,$1_$2_HC) $$($1_$2_$3_GHC_LD_OPTS) $$($1_$2_$3_ALL_OBJS) \
-shared -dynamic -dynload deploy \
$$(addprefix -l,$$($1_$2_EXTRA_LIBRARIES)) $$(addprefix -L,$$($1_$2_EXTRA_LIBDIRS)) \
-no-auto-link-packages \
@@ -170,7 +170,7 @@ endef # build-package-way
# $5 = object files to link
# $6 = output filename
define build-dll
- $(call cmd,$1_$2_HC) $($1_$2_$3_ALL_HC_OPTS) $($1_$2_$3_GHC_LD_OPTS) $4 $5 \
+ $(call cmd,$1_$2_HC) $($1_$2_$3_GHC_LD_OPTS) $4 $5 \
-shared -dynamic -dynload deploy \
$(addprefix -l,$($1_$2_EXTRA_LIBRARIES)) \
-no-auto-link-packages \