# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.163 2001/06/25 17:28:30 sof Exp $
+# $Id: Makefile,v 1.165 2001/06/26 11:07:55 simonpj Exp $
TOP = ..
include $(TOP)/mk/boilerplate.mk
endif
#
-# Canonicalize the GHC version number - assume it is has the form x.yy.[z].
+# Canonicalize the GHC version number - assume it is has the form x.yy.[z] or
+# x.yy[.date] where date = yyyymmdd
#
-# [First sed substitution gets rid of the '.' - second appends a '0' if the
-# 'z' portion is missing]
+# [First sed substitution gets rid of the '.', second gets rid of the date portion,
+# third appends a '0' if the z portion is missing]
#
-CANON_HC_VERSION=$(shell echo "$(GhcVersion)" | sed -e 's/\.//g;s/^\(...\)$$/\10/g')
+CANON_HC_VERSION=$(shell echo "$(GhcVersion)" | sed -e 's/\.//g;s/^\(...\)........$$/\1/g;s/^\(...\)$$/\10/g')
+
+# 20010625
ifeq "$(BootingFromHc)" "YES"
# HC files are always from a self-booted compiler
main/Finder_HC_OPTS = -fno-cse
main/SysTools_HC_OPTS = -fno-cse
+# The #include is vital for the via-C route, else the C
+# compiler doesn't realise that the stcall foreign imports are indeed
+# stdcall, and doesn't generate the Foo@8 name for them
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+main/SysTools_HC_OPTS += '-\#include <windows.h>'
+endif
+
# ----------------------------------------------------------------------------
# C compilations