From 66218d15b7c27a4a38992003bd761f60bae84b1f Mon Sep 17 00:00:00 2001 From: "Edward Z. Yang" Date: Fri, 18 Jul 2014 14:48:47 +0100 Subject: 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 Test Plan: validate Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D80 --- rts/package.conf.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'rts/package.conf.in') diff --git a/rts/package.conf.in b/rts/package.conf.in index 8250bc2bb6..82d2870cde 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -6,6 +6,7 @@ name: rts version: 1.0 id: builtin_rts +key: rts license: BSD3 maintainer: glasgow-haskell-users@haskell.org exposed: True @@ -16,7 +17,7 @@ hidden-modules: import-dirs: #ifdef INSTALLING -library-dirs: LIB_DIR"/rts-1.0" PAPI_LIB_DIR FFI_LIB_DIR +library-dirs: LIB_DIR"/rts" PAPI_LIB_DIR FFI_LIB_DIR #else /* !INSTALLING */ library-dirs: TOP"/rts/dist/build" PAPI_LIB_DIR FFI_LIB_DIR #endif -- cgit v1.2.1