X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FMakefile;h=adddc0611b7171312c60592f61ee2a3e9c848a3d;hb=090a9b7dbbe8cdb4f6d211ac0c7daeb1ddc7ff7e;hp=0095419c4bcb44c59fad19ca2e5431a04b49a89d;hpb=9523a2fb2540a0a86d3bf076e71c0538c0f19ff6;p=ghc-hetmet.git diff --git a/compiler/Makefile b/compiler/Makefile index 0095419..adddc06 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -433,7 +433,7 @@ SRC_HC_OPTS += -Istage$(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) @@ -473,6 +473,15 @@ bootstrapped = NO 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 # @@ -762,6 +771,13 @@ endif 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 @@ -872,6 +888,8 @@ LIB_LD_OPTS += $(foreach pkg,$(PKG_DEPENDS),-package $(pkg)) # 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