stage=1
endif
-# XXX DQ is now the same on all platforms, so get rid of it
-DQ = \"
-
.DUMMY: stage_dir
stage_dirs :
$(MKDIRHIER) stage$(stage)
ALL_DIRS = \
utils basicTypes types hsSyn prelude rename typecheck deSugar coreSyn \
vectorise specialise simplCore stranal stgSyn simplStg codeGen main \
- profiling parser cprAnalysis ndpFlatten iface cmm
+ profiling parser cprAnalysis iface cmm
# Make sure we include Config.hs even if it doesn't exist yet...
ALL_SRCS += $(CONFIG_HS)
endif
endif
+# Beyond stage 1, honour any Mac OS X depolyment target options. If we use
+# these options in stage 1 we get a linker error if the bootstrap compiler is
+# for a more recent OS version
+ifneq "$(findstring $(stage), 2 3)" ""
+SRC_CC_OPTS += $(MACOSX_DEPLOYMENT_CC_OPTS)
+SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS))
+SRC_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS))
+endif
+
# -----------------------------------------------------------------------------
# Building a compiler with interpreter support
#
SRC_LD_OPTS += -no-link-chk
+ifeq "$(GhcUnregisterised)" "NO"
+ifeq "$(HOSTPLATFORM)" "ia64-unknown-linux"
+# needed for generating proper relocation in large binaries: trac #856
+SRC_LD_OPTS += -optl-Wl,--relax
+endif
+endif
+
# -----------------------------------------------------------------------------
# create ghc-inplace, a convenient way to run ghc from the build tree...
# See comments in $(FPTOOLS_TOP)/utils/ghc-pkg/Makefile for why we use
# We have to expand each package dependency with its version, which we
# can do by calling "ghc-pkg list $pkg --simple-output".
PACKAGE_CPP_OPTS += -DPKG_DEPENDS='$(foreach pkg,$(PKG_DEPENDS),$(shell $(GHC_PKG_INPLACE) latest --global $(pkg)))'
+# We want to define STAGE to be like "2" in the Haskell code, so we need
+# to quote the "s so that they don't get interpreted by the shell.
PACKAGE_CPP_OPTS += -DSTAGE='"$(stage)"'
# Omit Main from the library, the client will want to plug their own Main in
all :: $(GHC_PROG)
endif
-$(odir)/main/Config.$(way_)o: SRC_HC_OPTS+=-DSTAGE=$(DQ)$(stage)$(DQ)
+$(odir)/main/Config.$(way_)o: SRC_HC_OPTS+=-DSTAGE='"$(stage)"'
ifneq "$(findstring $(stage), 2 3)" ""
$(warning LIBRARY is $(LIBRARY))