diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2015-02-18 09:46:40 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-02-18 09:46:41 -0600 |
commit | 6d17125dccda76b7aafe33181df822045ff5b9bf (patch) | |
tree | 059635082b320b889d06505382f83ebd8dc8afd0 | |
parent | 9caf71a8d9293cfebdbb5b28e2d6a455ad126882 (diff) | |
download | haskell-6d17125dccda76b7aafe33181df822045ff5b9bf.tar.gz |
runghc: be explicit about ghc version (#9054)
Summary: runghc-7.x should always call ghc-7.x
Reviewers: austin
Reviewed By: austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D664
GHC Trac Issues: #9054
-rw-r--r-- | rules/build-prog.mk | 6 | ||||
-rw-r--r-- | rules/shell-wrapper.mk | 8 | ||||
-rw-r--r-- | utils/runghc/ghc.mk | 8 | ||||
-rw-r--r-- | utils/runghc/runghc.wrapper | 2 |
4 files changed, 15 insertions, 9 deletions
diff --git a/rules/build-prog.mk b/rules/build-prog.mk index f93b99d5f8..88f1b53960 100644 --- a/rules/build-prog.mk +++ b/rules/build-prog.mk @@ -11,11 +11,7 @@ # ----------------------------------------------------------------------------- -# Build a program. Invoke like this: -# -# utils/genapply_MODULES = Main -# utils/genapply_HC_OPTS = -package Cabal -# utils/genapply_dist_PROGNAME = genapply +# Build a program. # # $(eval $(call build-prog,utils/genapply,dist-install,1)) diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk index 05dd0eff01..ae38e65d34 100644 --- a/rules/shell-wrapper.mk +++ b/rules/shell-wrapper.mk @@ -22,15 +22,17 @@ endif ifeq "$$($1_$2_WANT_INPLACE_WRAPPER)" "YES" +$1_$2_INPLACE_SHELL_WRAPPER_NAME = $$($1_$2_PROG) + ifeq "$$($1_$2_TOPDIR)" "YES" -INPLACE_WRAPPER = $$(INPLACE_LIB)/$$($1_$2_PROG) +INPLACE_WRAPPER = $$(INPLACE_LIB)/$$($1_$2_INPLACE_SHELL_WRAPPER_NAME) else -INPLACE_WRAPPER = $$(INPLACE_BIN)/$$($1_$2_PROG) +INPLACE_WRAPPER = $$(INPLACE_BIN)/$$($1_$2_INPLACE_SHELL_WRAPPER_NAME) endif all_$1_$2 : $$(INPLACE_WRAPPER) -$$(INPLACE_BIN)/$$($1_$2_PROG): WRAPPER=$$@ +$$(INPLACE_WRAPPER): WRAPPER=$$@ ifeq "$$($1_$2_SHELL_WRAPPER)" "YES" $$(INPLACE_WRAPPER): $$($1_$2_SHELL_WRAPPER_NAME) endif diff --git a/utils/runghc/ghc.mk b/utils/runghc/ghc.mk index 31bf089fab..6979d5022b 100644 --- a/utils/runghc/ghc.mk +++ b/utils/runghc/ghc.mk @@ -19,6 +19,14 @@ utils/runghc_dist-install_INSTALL_INPLACE = YES utils/runghc_dist-install_INSTALL_SHELL_WRAPPER_NAME = runghc-$(ProjectVersion) utils/runghc_dist-install_EXTRA_HC_OPTS = -cpp -DVERSION="\"$(ProjectVersion)\"" +# Be explicit about which version of ghc to call (#9054). +define utils/runghc_dist-install_INPLACE_SHELL_WRAPPER_EXTRA +echo 'ghcprog="$(ghc_stage2_INPLACE_SHELL_WRAPPER_NAME)"' >> "$(WRAPPER)" +endef +define utils/runghc_dist-install_INSTALL_SHELL_WRAPPER_EXTRA +echo 'ghcprog="$(ghc_stage$(INSTALL_GHC_STAGE)_INSTALL_SHELL_WRAPPER_NAME)"' >> "$(WRAPPER)" +endef + ifneq "$(BINDIST)" "YES" # hack: the build system has trouble with Main modules not called Main.hs utils/runghc/dist-install/build/Main.hs : utils/runghc/runghc.hs | $$(dir $$@)/. diff --git a/utils/runghc/runghc.wrapper b/utils/runghc/runghc.wrapper index 9110dccacf..5caea0b6c7 100644 --- a/utils/runghc/runghc.wrapper +++ b/utils/runghc/runghc.wrapper @@ -1,3 +1,3 @@ #!/bin/sh -exec "$executablename" -f "$bindir/ghc" ${1+"$@"} +exec "$executablename" -f "$bindir/$ghcprog" ${1+"$@"} |