Mac OS X deployment target: piping opts through Makefiles
[ghc-hetmet.git] / utils / ghc-pkg / Makefile
index 9cb2a59..b27a2f1 100644 (file)
@@ -4,6 +4,15 @@ include $(TOP)/mk/boilerplate.mk
 # -----------------------------------------------------------------------------
 # ghc-pkg.bin
 
+# 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
+ifeq "$(stage)" "2"
+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
+
 SRC_HC_OPTS += -cpp -Wall -fno-warn-name-shadowing -fno-warn-unused-matches
 
 # This causes libghccompat.a to be used:
@@ -35,9 +44,17 @@ INSTALL_PROGS    += $(HS_PROG)
 EXCLUDE_SRCS     += CRT_noglob.c
 NOGLOB_O          = CRT_noglob.o
 else
+
+# We have two version: the inplace version compiled by the bootstrap compiler
+#   and the install version compiled by the stage 1 compiler
+ifeq "$(stage)" "2"
 HS_PROG           = ghc-pkg.bin
+else
+HS_PROG           = ghc-pkg-inplace.bin
+endif
 INSTALL_LIBEXECS += $(HS_PROG)
 NOGLOB_O         =
+
 endif
 
 # -----------------------------------------------------------------------------