From 58ec07c28fdc6e6ce64fc2e8b2273df9212ae73f Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Wed, 18 Apr 2007 16:05:19 +0000 Subject: [PATCH] Fix bat-script generation for MSys The bat-script generation was using the wrong paths, in ghc-inplace ghc-pkg hsc2hs plus there was a double-backslah in the latter two which was wrong. This patch fixes both. See "MSys Note 3" in compiler/Makefile --- compiler/Makefile | 10 ++++++++-- utils/ghc-pkg/Makefile | 3 ++- utils/hsc2hs/Makefile | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index e16bf4e..9093d9a 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -727,7 +727,7 @@ else SCRIPT_SHELL = /bin/sh endif -# Note 2 +# MSys Note 2 # On MSys, we must use the following script for ghc-inplace: # exec /c/darcs/fc-branch-2/compiler/stage1/ghc -Bc:/darcs/fc-branch-2 "$@" # That is, @@ -748,10 +748,16 @@ $(odir)/ghc-inplace : $(GHC_PROG) # Re exec, see note 2 above chmod 755 $@ +# MSys Note 3 +# When we generate a .bat file, we must also use the form +# @call c:\darcs\fc-branch-2\compiler\stage1\ghc-inplace +# else the cmd shell gets confused; indeed it seems to simply hang +# Hence the use of $(FPTOOLS_TOP_ABS_PLATFORM) here, just like MSys Note 2 + ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" ghc-inplace.bat $(odir)/ghc-inplace.bat: $(GHC_PROG) @$(RM) $@ - echo '@call $(subst /,\,$(GHC_COMPILER_DIR_ABS)/$(GHC_PROG)) -B$(FPTOOLS_TOP_ABS_PLATFORM) %*' >> $@ + echo '@call $(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_COMPILER_DIR_REL)/$(GHC_PROG)) -B$(FPTOOLS_TOP_ABS_PLATFORM) %*' >> $@ chmod 755 $@ endif diff --git a/utils/ghc-pkg/Makefile b/utils/ghc-pkg/Makefile index 19d5a12..982c7a8 100644 --- a/utils/ghc-pkg/Makefile +++ b/utils/ghc-pkg/Makefile @@ -105,8 +105,9 @@ endif ifeq "$(INSTALLING)$(HOSTPLATFORM)" "0i386-unknown-mingw32" all :: $(INPLACE_SCRIPT_PROG).bat +# See "MSys Note 3" in compiler/Makefile $(INPLACE_SCRIPT_PROG).bat : - echo '@call $(subst /,\\,$(FPTOOLS_TOP_ABS)/utils/ghc-pkg/$(HS_PROG)) --global-conf $(PKGCONF) %*' >> $@ + echo '@call $(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/ghc-pkg/$(HS_PROG)) --global-conf $(PKGCONF) %*' >> $@ chmod 755 $@ endif diff --git a/utils/hsc2hs/Makefile b/utils/hsc2hs/Makefile index f87d049..96ae66c 100644 --- a/utils/hsc2hs/Makefile +++ b/utils/hsc2hs/Makefile @@ -98,7 +98,8 @@ endif ifeq "$(INSTALLING)$(HOSTPLATFORM)" "0i386-unknown-mingw32" all :: $(INPLACE_SCRIPT_PROG).bat -FULL_INPLACE_PATH=$(subst /,\\,$(FPTOOLS_TOP_ABS)/utils/hsc2hs/) +# See "MSys Note 3" in compiler/Makefile +FULL_INPLACE_PATH=$(subst /,\,$(FPTOOLS_TOP_ABS_PLATFORM)/utils/hsc2hs/) $(INPLACE_SCRIPT_PROG).bat : echo '@call $(FULL_INPLACE_PATH)$(HS_PROG) --template=$(FULL_INPLACE_PATH)template-hsc.h $(HSC2HS_EXTRA) %*' >> $@ chmod 755 $@ -- 1.7.10.4