diff --git a/mk/config.mk.in b/mk/config.mk.in index 28041b32d13780d0a298c6902a2896f4bf974e62..927285f70bc37ede1e9277c2ff1723749d40a77f 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -82,9 +82,9 @@ IncludeTestDirsInBuild=NO # GhcProjectName =The Glorious Glasgow Haskell Compilation System GhcProjectNameShort =ghc -GhcProjectVersion =2.02 +GhcProjectVersion =2.03 GhcProjectPatchLevel =0 -GhcBuildeeVersion =202 +GhcBuildeeVersion =203 GhcBuilderVersion =29 # @@ -490,6 +490,29 @@ RANLIB = @RANLIB@ RM = rm -f SED = @SedCmd@ SHELL = /bin/sh +# +# In emergency situations, REAL_SHELL is used to perform shell commands +# from within the ghc driver script, by scribbling the command line to +# a temp file and then having $(REAL_SHELL) execute it. +# +# The reason for having to do this is that overly long command lines +# cause unnecessary trouble with some shells (e.g., /bin/sh on Solaris +# 2.5.1), which is why this backdoor is provided. The situation of overly +# long command lines is either encountered while doing `make boot' in ghc/compiler, +# or when linking the compiler binary (`hsc'). +# +# We do not use SHELL to execute long commands, as `make' will more than likely +# override whatever setting you have in your environment while executing. + +# By default, REAL_SHELL is set equal SHELL, which is not really a smart move +# as it SHELL that will show up the bogosity in the first place, but setting +# it to anything else isn't really portable. +# +# ====> If long command lines cause you trouble, invoke `ghc' (via `make' or otherwise) +# with REAL_SHELL set to something else than /bin/sh, for instance, your favourite +# command shell. +# +REAL_SHELL=$(SHELL) SIZE = size STRIP = strip TAR = @TarCmd@