+# $(GHC), $(HBC) and $(NHC) point to installed versions of the relevant
+# compilers, if available.
+#
+# $(HC) is a generic Haskell 98 compiler, set to $(GHC) by default.
+# $(MKDEPENDHS) is the Haskell dependency generator (ghc -M).
+#
+# NOTE: Don't override $(GHC) in build.mk, use configure --with-ghc instead
+# (because the version numbers have to be calculated).
+
+GHC = @WithGhc@
+GhcVersion = @GhcVersion@
+GhcMajVersion = @GhcMajVersion@
+GhcMinVersion = @GhcMinVersion@
+GhcPatchLevel = @GhcPatchLevel@
+
+# Canonicalised ghc version number, used for easy (integer) version
+# comparisons. We must expand $(GhcMinVersion) to two digits by
+# adding a leading zero if necessary:
+ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" ""
+GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion)
+else
+GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion)
+endif
+
+HBC = @HBC@
+NHC = @NHC@
+
+HC = @WithHc@
+MKDEPENDHS = $(GHC)
+
+# Sometimes we want to invoke ghc from the build tree in different
+# projects (eg. it's handy to have a nofib & a ghc build in the same
+# tree). We can refer to "this ghc" as $(GHC_INPLACE):
+
+GHC_INPLACE = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace
+GHC_STAGE1 = $(FPTOOLS_TOP)/ghc/compiler/stage1/ghc-inplace
+GHC_STAGE2 = $(FPTOOLS_TOP)/ghc/compiler/stage2/ghc-inplace
+GHC_STAGE3 = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace