# Include GHCi in the compiler. Default to NO for the time being.
-ifneq "$(findstring $(HostOS_CPP), linux solaris freebsd netbsd openbsd)" ""
+ifneq "$(findstring $(HostOS_CPP), mingw32 linux solaris2 freebsd netbsd openbsd)" ""
GhcWithInterpreter=YES
ifeq "$(HaveLibDL)" "YES"
SRC_HC_OPTS += -ldl
ifeq "$(BootingFromHc)" "YES"
SplitObjs=NO
endif
+ifeq "$(GhcUnregisterised)" "YES"
+SplitObjs=NO
+endif
# Strip local symbols from libraries? This can make the libraries smaller,
# but makes debugging somewhat more difficult. Doesn't work with all ld's.
# For an optimised RTS:
GhcRtsHcOpts=-O2
-GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer
+GhcRtsCcOpts=-O2 -fomit-frame-pointer
# Include the front panel code? Needs GTK+.
GhcRtsWithFrontPanel = NO
# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path.
+ifeq "$(findstring $(TARGETPLATFORM), i386-unknown-cygwin32 i386-unknown-mingw32)" ""
FPTOOLS_TOP_ABS = @hardtop@
-ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32"
-FPTOOLS_TOP_ABS = $(subst \,/,$(shell cygpath -w @hardtop@))
-endif
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+else
FPTOOLS_TOP_ABS = $(subst \,/,$(shell cygpath -w @hardtop@))
endif
+# Keep the Unix-style path to use with Unix tools (e.g. in ghc-inplace script)
+FPTOOLS_TOP_ABS_UNIX = @hardtop@
#
# Installation directories, we don't use half of these,
#
# SRC_HC_OPTS += -O
+# These flags make flex 8-bit
+SRC_FLEX_OPTS += -8
+
+SRC_INSTALL_BIN_OPTS += -s
+
+# lint gets all CPP's flags too
+SRC_LINT_OPTS += -axz -DLINT $(SRC_CPP_OPTS)
+WAY$(_way)_LINT_OPTS += WAY$(_way)_CPP_OPTS
+
+# Default fptools options for dllwrap.
+SRC_BLD_DLL_OPTS += -mno-cygwin --target=i386-mingw32
+
+# Flags for CPP when running GreenCard on .pgc files
+GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__
+
################################################################################
#
# default C compiler flags
SRC_CC_OPTS = -O
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+SRC_CC_OPTS += -mno-cygwin -mwin32
+endif
#-----------------------------------------------------------------------------
# GMP Library (version 2.0.x or above)