summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2009-11-07 18:36:14 +0000
committerIan Lynagh <igloo@earth.li>2009-11-07 18:36:14 +0000
commitf5b3f16c9321a1594ce1ed0b73914feabaa321a8 (patch)
treeff9568aaad7fd55b1803f01e2bf1d97b0e14f693
parent24e30dfa3fe0bb1efef01b1f216d9b5e45309f9c (diff)
downloadhaskell-f5b3f16c9321a1594ce1ed0b73914feabaa321a8.tar.gz
ghc-stage2 is now renamed to ghc when it is installed
This means that we get the right program name in error messages etc.
-rw-r--r--ghc.mk5
-rw-r--r--ghc/ghc.mk6
-rw-r--r--rules/shell-wrapper.mk6
3 files changed, 15 insertions, 2 deletions
diff --git a/ghc.mk b/ghc.mk
index 2408049319..94e9080909 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -781,6 +781,9 @@ else
for i in $(INSTALL_LIBEXECS); do \
$(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i "$(DESTDIR)$(ghclibexecdir)"; \
done
+# We rename ghc-stage2, so that the right program name is used in error
+# messages etc.
+ "$(MV)" "$(DESTDIR)$(ghclibexecdir)/ghc-stage2" "$(DESTDIR)$(ghclibexecdir)/ghc"
endif
install_topdir_scripts: $(INSTALL_TOPDIR_SCRIPTS)
@@ -827,7 +830,7 @@ INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdir)/package.conf.d
# Install packages in the right order, so that ghc-pkg doesn't complain.
# Also, install ghc-pkg first.
ifeq "$(Windows)" "NO"
-INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/ghc-stage2
+INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/ghc
INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(ghclibexecdir)/ghc-pkg
else
INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
diff --git a/ghc/ghc.mk b/ghc/ghc.mk
index 4c78e7fecb..2f505cf0c7 100644
--- a/ghc/ghc.mk
+++ b/ghc/ghc.mk
@@ -89,6 +89,12 @@ ghc_stage3_SHELL_WRAPPER_NAME = ghc/ghc.wrapper
ghc_stage$(INSTALL_GHC_STAGE)_INSTALL_SHELL_WRAPPER = YES
ghc_stage$(INSTALL_GHC_STAGE)_INSTALL_SHELL_WRAPPER_NAME = ghc-$(ProjectVersion)
+# We override the program name to be ghc, rather than ghc-stage2.
+# This means the right program name is used in error messages etc.
+define ghc_stage$(INSTALL_GHC_STAGE)_INSTALL_SHELL_WRAPPER_EXTRA
+echo 'executablename="$$$$exedir/ghc"' >> "$$(WRAPPER)"
+endef
+
# stage 1 is enabled unless $(stage) is set to something other than 1
ifeq "$(filter-out 1,$(stage))" ""
$(eval $(call build-prog,ghc,stage1,0))
diff --git a/rules/shell-wrapper.mk b/rules/shell-wrapper.mk
index dda78aa9ed..503a8d26e8 100644
--- a/rules/shell-wrapper.mk
+++ b/rules/shell-wrapper.mk
@@ -39,6 +39,8 @@ $$(INPLACE_BIN)/$$($1_$2_PROG): $$($1_$2_INPLACE)
echo 'datadir="$$(TOP)/$$(INPLACE_LIB)"' >> $$@
echo 'bindir="$$(TOP)/$$(INPLACE_BIN)"' >> $$@
echo 'topdir="$$(TOP)/$$(INPLACE_TOPDIR)"' >> $$@
+ $($1_$2_SHELL_WRAPPER_EXTRA)
+ $($1_$2_INPLACE_SHELL_WRAPPER_EXTRA)
cat $$($1_$2_SHELL_WRAPPER_NAME) >> $$@
$$(EXECUTABLE_FILE) $$@
endif
@@ -58,7 +60,7 @@ install: install_$1_$2_wrapper
.PHONY: install_$1_$2_wrapper
install_$1_$2_wrapper: WRAPPER=$$(DESTDIR)$$(bindir)/$$($1_$2_INSTALL_SHELL_WRAPPER_NAME)
install_$1_$2_wrapper:
- $$(INSTALL_DIR) $$(DESTDIR)$$(bindir)
+ $$(INSTALL_DIR) "$$(DESTDIR)$$(bindir)"
"$$(RM)" $$(RM_OPTS) "$$(WRAPPER)"
$$(CREATE_SCRIPT) "$$(WRAPPER)"
echo '#!$$(SHELL)' >> "$$(WRAPPER)"
@@ -68,6 +70,8 @@ install_$1_$2_wrapper:
echo 'datadir="$$(datadir)"' >> "$$(WRAPPER)"
echo 'bindir="$$(bindir)"' >> "$$(WRAPPER)"
echo 'topdir="$$(topdir)"' >> "$$(WRAPPER)"
+ $($1_$2_SHELL_WRAPPER_EXTRA)
+ $($1_$2_INSTALL_SHELL_WRAPPER_EXTRA)
cat $$($1_$2_SHELL_WRAPPER_NAME) >> "$$(WRAPPER)"
$$(EXECUTABLE_FILE) "$$(WRAPPER)"