+# MSys notes
+# Note 1
+# I'm exec'ing $(SCRIPT_SHELL), rather than the usual #!/bin/sh, to make
+# sure that the right shell is invoked. If we use /bin/sh, then
+# when ghc-inplace is invoked from a Cygwin Python (which is the only Python
+# that seems to run the test-suite correctly), we get the Cygwin shell,
+# and it in turn interprets the path-names in the second (exec) line
+# differently to the MSys shell. That's bad, because ghc-inplace must
+# also work when invoked from MSys shells
+#
+# To figure out what the MSys shell is, we cd to '/bin' and do 'pwd -W'
+# On MSys, the -W flag prints out the directory in c:/msys/bin format
+# (On other system, -W isn't a pwd flag at all.)
+
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+# MSys (...and cygwin with a mingw toolchain)
+SCRIPT_SHELL = $(shell cd /bin; pwd -W 2>/dev/null || echo "/bin")/sh
+else
+# Cygwin and Unix
+SCRIPT_SHELL = /bin/sh
+endif
+
+# 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,
+# (a) You *must* use the /c/ form for the first arg to exec. Using the
+# c:/ form makes exec complain that it can't find $pwd/c:/darcs/.../ghc
+# The /c/ form is $(FPTOOLS_TOP_ABS)
+# (b) You *must* use the c:/ form for the -B argument, else the testsuite
+# doesn't work. I think that's something to do with ghc-inplace being
+# invoked by Python
+# The c:/ form is $(FPTOOLS_TOP_ABS_PLATFORM)
+