X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghc-pkg%2FMakefile;h=67ed7ceb0cbbb659dee150860ab2be06a793c787;hb=45202530612593a0ba7a6c559a38dc1ff26670a4;hp=bb140f56e54caf0bffee9a0d4bd70046f4853657;hpb=c15489181a60a228ce52b945d2523cfdacd5a90b;p=ghc-hetmet.git diff --git a/utils/ghc-pkg/Makefile b/utils/ghc-pkg/Makefile index bb140f5..67ed7ce 100644 --- a/utils/ghc-pkg/Makefile +++ b/utils/ghc-pkg/Makefile @@ -16,6 +16,10 @@ SRC_HC_OPTS += $(PACKAGE_CABAL) # we must also build with $(GhcHcOpts) here: SRC_HC_OPTS += $(GhcHcOpts) $(GhcStage1HcOpts) +ifeq "$(ghc_ge_607)" "YES" +SRC_HC_OPTS += -package containers +endif + # 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 @@ -59,13 +63,18 @@ DIST_CLEAN_FILES += $(VERSION_HS) INPLACE_HS=ghc-pkg-inplace.hs INPLACE_PROG=ghc-pkg-inplace +EXCLUDED_SRCS+=$(INPLACE_HS) + +# FPTOOLS_TOP_ABS platform uses backslashes, at least on Cygwin, but that +# will go wrong when we use it in a Haskell string below. +TOP_ABS=$(subst \\,/,$(FPTOOLS_TOP_ABS_PLATFORM)) $(INPLACE_HS): Makefile $(FPTOOLS_TOP)/mk/config.mk - echo "import System.Cmd; import System.Environment" > $@ - echo "main = getArgs >>= \args -> rawSystem \"$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_PKG_DIR_REL)/$(HS_PROG)\" (\"--global-conf\":\"$(FPTOOLS_TOP_ABS_PLATFORM)/driver/package.conf.inplace\":args)" >> $@ + echo "import System.Cmd; import System.Environment; import System.Exit" > $@ + echo "main = do args <- getArgs; rawSystem \"$(TOP_ABS)/$(GHC_PKG_DIR_REL)/$(HS_PROG)\" (\"--global-conf\":\"$(TOP_ABS)/driver/package.conf.inplace\":args) >>= exitWith" >> $@ $(INPLACE_PROG): $(INPLACE_HS) - $(GHC) --make $< -o $@ + $(HC) --make $< -o $@ all :: $(INPLACE_PROG) @@ -74,7 +83,7 @@ CLEAN_FILES += $(INPLACE_HS) $(INPLACE_PROG) ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32" LINK = ghc-pkg LINK_TARGET = $(LINK)-$(ProjectVersion) -INSTALLED_SCRIPT=$(bindir)/$(LINK_TARGET) +INSTALLED_SCRIPT=$(DESTDIR)$(bindir)/$(LINK_TARGET) install:: $(RM) -f $(INSTALLED_SCRIPT) echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT)