Remove Cabal modules from compat
[ghc-hetmet.git] / utils / ghc-pkg / Makefile
index 9cb2a59..adce829 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:
@@ -24,6 +33,8 @@ ifeq "$(ghc_ge_607)" "YES"
 SRC_HC_OPTS += -package containers
 endif
 
+SRC_HC_OPTS += -package Cabal
+
 # On Windows, ghc-pkg is a standalone program
 # ($bindir/ghc-pkg.exe), whereas on Unix it needs a wrapper script
 # to pass the appropriate flag to the real binary
@@ -35,9 +46,23 @@ 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.
+# When creating or using bindists we always want the final binary, as built
+# by the stage 1 compiler.
+ifeq "$(DOING_BIN_DIST)" "YES"
+HS_PROG           = ghc-pkg.bin
+else
+ifeq "$(stage)" "2"
 HS_PROG           = ghc-pkg.bin
+else
+HS_PROG           = ghc-pkg-inplace.bin
+endif
+endif
 INSTALL_LIBEXECS += $(HS_PROG)
 NOGLOB_O         =
+
 endif
 
 # -----------------------------------------------------------------------------