Fix scoped type variables for expression type signatures
[ghc-hetmet.git] / mk / package.mk
index fbabfeb..22bfdd0 100644 (file)
@@ -81,7 +81,7 @@ package.conf.inplace   : package.conf.in
                -DDATA_DIR='"$(DATA_DIR_INPLACE)"' \
                -DHTML_DIR='"$(HTML_DIR_INPLACE)"' \
                -DHADDOCK_IFACE='"$(HADDOCK_IFACE_INPLACE)"' \
-               -DFPTOOLS_TOP_ABS=\"${FPTOOLS_TOP_ABS}\" \
+               -DFPTOOLS_TOP_ABS='"${FPTOOLS_TOP_ABS}"' \
                -x c $(PACKAGE_CPP_OPTS) $< | \
        grep -v '^#pragma GCC' | \
        sed -e 's/""//g' -e 's/:[       ]*,/: /g' >$@
@@ -119,8 +119,8 @@ boot all :: $(STAMP_PKG_CONF)
 endif
 
 $(STAMP_PKG_CONF) : package.conf.inplace package.conf.installed
-       $(GHC_PKG_INPLACE) --force --update-package <package.conf.inplace
-       $(GHC_PKG_INPLACE)  -f $(GHC_DRIVER_DIR)/package.conf --force --update-package <package.conf.installed
+       $(GHC_PKG_INPLACE) update - --force-files <package.conf.inplace
+       $(GHC_PKG_INPLACE) update - -f $(GHC_DRIVER_DIR)/package.conf --force-files <package.conf.installed
        @touch $(STAMP_PKG_CONF)
 
 CLEAN_FILES += package.conf.installed package.conf.inplace 
@@ -153,20 +153,20 @@ SRC_HSC2HS_OPTS += -I.
 
 ifeq "$(STANDALONE_PACKAGE)" "NO"
 HC = $(GHC_INPLACE)
-IGNORE_PACKAGE_FLAG = -ignore-package
+IGNORE_PACKAGE_FLAG = -package-name  $(PACKAGE)-$(VERSION)
 else
 # Only use -ignore-package if supported by HC; i.e., ghc-6.3 and later.
 # (Don't like the use of slow $(shell ..) in Makefiles, but can't see a way around it here.)
 ifeq "$(strip $(GHC))" ""
-IGNORE_PACKAGE_FLAG = -ignore-package
+IGNORE_PACKAGE_FLAG = -ignore-package $(PACKAGE)
 else
 # Making the assumption here that standalone packages will be using mk/config.mk:GHC
-IGNORE_PACKAGE_FLAG = $(shell if (test $(GhcCanonVersion) -ge 603); then echo "-ignore-package"; else echo "-package-name"; fi)
+IGNORE_PACKAGE_FLAG = $(shell if (test $(GhcCanonVersion) -ge 603); then echo "-ignore-package"; else echo "-package-name"; fi) $(PACKAGE)
 endif 
 endif # STANDALONE_PACKAGE
 
 ifeq "$(NON_HS_PACKAGE)" ""
-SRC_HC_OPTS    += $(IGNORE_PACKAGE_FLAG) $(PACKAGE)
+SRC_HC_OPTS    += $(IGNORE_PACKAGE_FLAG)
 SRC_HC_OPTS    += $(GhcLibHcOpts)
 SRC_HC_OPTS     += $(patsubst %, -package %, $(PACKAGE_DEPS))
 endif
@@ -356,7 +356,7 @@ ifneq "$(NO_HADDOCK_DOCS)" "YES"
 
 HS_PPS = $(addsuffix .raw-hs, $(basename $(filter-out $(EXCLUDED_HADDOCK_SRCS), $(HS_SRCS)))) $(EXTRA_HADDOCK_SRCS)
 
-HTML_DIR = ../html/$(PACKAGE)
+HTML_DIR = ../html-docs/$(PACKAGE)
 HTML_DOC = $(HTML_DIR)/haddock.css $(HTML_DIR)/haddock.js
 
 ifneq "$(HS_PPS)" ""
@@ -375,22 +375,29 @@ html :: $(HTML_DOC)
 extraclean :: 
        $(RM) -rf $(HTML_DIR)
 
+ifneq "$(findstring $(PACKAGE), $(CorePackages))" ""
+HaddockSourceURL = $(CorePackageSourceURL)
+else
+HaddockSourceURL = $(ExtraPackageSourceURL)
+endif
+
 $(HTML_DOC) : $(HS_PPS)
        @$(INSTALL_DIR) $(HTML_DIR)
        $(HADDOCK) $(HADDOCK_OPTS) -h -o $(HTML_DIR) $(HS_PPS) \
                --package=$(PACKAGE) \
                --dump-interface=$(PACKAGE).haddock \
                --use-index=../doc-index.html --use-contents=../index.html \
+               --source-module=$(HaddockSourceURL) \
                $(foreach pkg, $(PACKAGE_DEPS), \
                   --read-interface=../$(pkg),../$(pkg)/$(pkg).haddock)
 
 CLEAN_FILES += $(PACKAGE).haddock
 
 %.raw-hs : %.lhs
-       $(HC) $(HC_OPTS) -D__HADDOCK__ -E -optP-P $< -o $@
+       $(HC) $(HC_OPTS) -D__HADDOCK__ -E $< -o $@
 
 %.raw-hs : %.hs
-       $(HC) $(HC_OPTS) -D__HADDOCK__ -E -optP-P $< -o $@
+       $(HC) $(HC_OPTS) -D__HADDOCK__ -E $< -o $@
 
 HTML_INSTALL_DIR = $(datadir)/html/libraries/$(PACKAGE)
 #  NOT the same as HTML_DIR_INSTALLED when BIN_DIST is on