Generalize exposed-modules field in installed package database
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 15 Nov 2014 08:08:53 +0000 (00:08 -0800)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 15 Nov 2014 08:36:03 +0000 (00:36 -0800)
commite14a973215102cb3774e3b4370c64edcff0e10bc
treee5c3e310619fbf642af8a0febaed515030b807a3
parent452d6aa95b754a08e1e61800680ccbf6f968aef0
Generalize exposed-modules field in installed package database

Summary:
Instead of recording exposed-modules and reexported-modules as seperate
fields in the installed package database, this commit merges them into
a single field (exposed-modules).  The motivation for this change is
in preparation for the inclusion of *signatures* into the installed
package database, which may also be reexported.  Merging the representation
means that we can treat reexports uniformly, no matter if they're a normal
module or a signature.

This commit adds a stub for signatures, but that code isn't wired up to
anything yet.

Contains Cabal submodule update to accommodate these changes.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate

Reviewers: simonpj, duncan, austin

Subscribers: thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D421
compiler/main/PackageConfig.hs
compiler/main/Packages.lhs
libraries/Cabal
libraries/bin-package-db/GHC/PackageDb.hs
testsuite/tests/cabal/Makefile
testsuite/tests/cabal/ghcpkg07.stdout
testsuite/tests/cabal/test7a.pkg
testsuite/tests/cabal/test7b.pkg
utils/ghc-pkg/Main.hs