summaryrefslogtreecommitdiff
path: root/ghc.mk
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2014-09-23 16:05:25 +0200
committerHerbert Valerio Riedel <hvr@gnu.org>2014-09-24 23:18:28 +0200
commit4b648be19c75e6c6a8e6f9f93fa12c7a4176f0ae (patch)
tree9ac36c659e391d72825ce896a3424a22823b7703 /ghc.mk
parent165072b334ebb2ccbef38a963ac4d126f1e08c96 (diff)
downloadhaskell-4b648be19c75e6c6a8e6f9f93fa12c7a4176f0ae.tar.gz
Update Cabal submodule & ghc-pkg to use new module re-export types
Summary: The main change is that Cabal changed the representation of module re-exports to distinguish reexports in source .cabal files versus re-exports in installed package registraion files. Cabal now also does the resolution of re-exports to specific installed packages itself, so ghc-pkg no longer has to do this. This is a cleaner design overall because re-export resolution can fail so it is better to do it during package configuration rather than package registration. It also simplifies the re-export representation that ghc-pkg has to use. Add extra ghc-pkg sanity check for module re-exports and duplicates For re-exports, check that the defining package exists and that it exposes the defining module (or for self-rexport exposed or hidden modules). Also check that the defining package is actually a direct or indirect dependency of the package doing the re-exporting. Also add a check for duplicate modules in a package, including re-exported modules. Test Plan: So far the sanity checks are totally untested. Should add some test case to make sure the sanity checks do catch things correctly, and don't ban legal things. Reviewers: austin, duncan Subscribers: angerman, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D183 GHC Trac Issues:
Diffstat (limited to 'ghc.mk')
-rw-r--r--ghc.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/ghc.mk b/ghc.mk
index fb93ef0a16..eedb023c6e 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -383,7 +383,7 @@ else
# programs such as GHC and ghc-pkg, that we do not assume the stage0
# compiler already has installed (or up-to-date enough).
-PACKAGES_STAGE0 = Cabal/Cabal hpc binary bin-package-db hoopl transformers
+PACKAGES_STAGE0 = binary Cabal/Cabal hpc bin-package-db hoopl transformers
ifeq "$(Windows_Host)" "NO"
ifneq "$(HostOS_CPP)" "ios"
PACKAGES_STAGE0 += terminfo
@@ -413,8 +413,8 @@ PACKAGES_STAGE1 += process
PACKAGES_STAGE1 += hpc
PACKAGES_STAGE1 += pretty
PACKAGES_STAGE1 += template-haskell
-PACKAGES_STAGE1 += Cabal/Cabal
PACKAGES_STAGE1 += binary
+PACKAGES_STAGE1 += Cabal/Cabal
PACKAGES_STAGE1 += bin-package-db
PACKAGES_STAGE1 += hoopl
PACKAGES_STAGE1 += transformers