"README.md" did not exist on "b437bb7ecb46a1d85183ef4e2b68e7b8df062b59"
Package keys (for linking/type equality) separated from package IDs.
This patch set makes us no longer assume that a package key is a human readable string, leaving Cabal free to "do whatever it wants" to allocate keys; we'll look up the PackageId in the database to display to the user. This also means we have a new level of qualifier decisions to make at the package level, and rewriting some Safe Haskell error reporting code to DTRT. Additionally, we adjust the build system to use a new ghc-cabal output Make variable PACKAGE_KEY to determine library names and other things, rather than concatenating PACKAGE/VERSION as before. Adds a new `-this-package-key` flag to subsume the old, erroneously named `-package-name` flag, and `-package-key` to select packages by package key. RFC: The md5 hashes are pretty tough on the eye, as far as the file system is concerned :( ToDo: safePkg01 test had its output updated, but the fix is not really right: the rest of the dependencies are truncated due to the fact the we're only grepping a single line, but ghc-pkg is wrapping its output. ToDo: In a later commit, update all submodules to stop using -package-name and use -this-package-key. For now, we don't do it to avoid submodule explosion. Signed-off-by:Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D80
Showing
- compiler/basicTypes/Module.lhs 23 additions, 3 deletionscompiler/basicTypes/Module.lhs
- compiler/ghc.cabal.in 2 additions, 2 deletionscompiler/ghc.cabal.in
- compiler/ghc.mk 6 additions, 0 deletionscompiler/ghc.mk
- compiler/ghci/Linker.lhs 1 addition, 1 deletioncompiler/ghci/Linker.lhs
- compiler/iface/LoadIface.lhs 2 additions, 0 deletionscompiler/iface/LoadIface.lhs
- compiler/llvmGen/LlvmCodeGen/Base.hs 1 addition, 1 deletioncompiler/llvmGen/LlvmCodeGen/Base.hs
- compiler/main/DynFlags.hs 13 additions, 5 deletionscompiler/main/DynFlags.hs
- compiler/main/Finder.lhs 1 addition, 1 deletioncompiler/main/Finder.lhs
- compiler/main/HscMain.hs 10 additions, 3 deletionscompiler/main/HscMain.hs
- compiler/main/HscTypes.lhs 49 additions, 6 deletionscompiler/main/HscTypes.lhs
- compiler/main/PackageConfig.hs 10 additions, 9 deletionscompiler/main/PackageConfig.hs
- compiler/main/Packages.lhs 41 additions, 18 deletionscompiler/main/Packages.lhs
- compiler/main/Packages.lhs-boot 4 additions, 0 deletionscompiler/main/Packages.lhs-boot
- compiler/utils/Outputable.lhs 48 additions, 13 deletionscompiler/utils/Outputable.lhs
- docs/users_guide/flags.xml 1 addition, 1 deletiondocs/users_guide/flags.xml
- docs/users_guide/packages.xml 7 additions, 11 deletionsdocs/users_guide/packages.xml
- ghc.mk 3 additions, 3 deletionsghc.mk
- ghc/InteractiveUI.hs 3 additions, 2 deletionsghc/InteractiveUI.hs
- libraries/Cabal 1 addition, 1 deletionlibraries/Cabal
- libraries/base/base.cabal 2 additions, 2 deletionslibraries/base/base.cabal
Loading
Please register or sign in to comment