Update Cabal submodule to latest 1.22 snapshot
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Wed, 11 Mar 2015 13:53:17 +0000 (14:53 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Wed, 11 Mar 2015 14:14:38 +0000 (15:14 +0100)
This changes the library file name format

NOTE: This patch originally updated to Cabal HEAD, but was reduced to
      update to Cabal 1.22 HEAD by hvr as this is needed in order to
      update the filepath submodule to version 1.4.0, and subsequently
      to be cherry-picked into the ghc-7.10 branch

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Reviewed By: austin

Differential Revision: https://phabricator.haskell.org/D707

compiler/ghc.mk
libraries/Cabal
rules/build-package-way.mk
utils/ghc-cabal/Main.hs

index 07f5ec5..b692891 100644 (file)
@@ -445,6 +445,7 @@ compiler_stage1_MUNGED_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion
 define compiler_PACKAGE_MAGIC
 compiler_stage1_VERSION = $(compiler_stage1_MUNGED_VERSION)
 compiler_stage1_PACKAGE_KEY = $(subst .$(ProjectPatchLevel),,$(compiler_stage1_PACKAGE_KEY))
+compiler_stage1_LIB_NAME = $(subst .$(ProjectPatchLevel),,$(compiler_stage1_LIB_NAME))
 endef
 
 # NB: the PACKAGE_KEY munging has no effect for new-style package keys
index a8dfc6f..a9958fe 160000 (submodule)
@@ -1 +1 @@
-Subproject commit a8dfc6f4cb9cd280299385a50fefc0a4f8103ef1
+Subproject commit a9958fefc737b223b75babc68ecd3122b9697cd9
index 3efe501..27da099 100644 (file)
@@ -23,13 +23,13 @@ $(call hs-objs,$1,$2,$3)
 # The .a/.so library file, indexed by two different sets of vars:
 # the first is indexed by the dir, distdir and way
 # the second is indexed by the package id, distdir and way
-$1_$2_$3_LIB_NAME = libHS$$($1_$2_PACKAGE_KEY)$$($3_libsuf)
+$1_$2_$3_LIB_NAME = libHS$$($1_$2_LIB_NAME)$$($3_libsuf)
 $1_$2_$3_LIB = $1/$2/build/$$($1_$2_$3_LIB_NAME)
 $$($1_$2_PACKAGE_KEY)_$2_$3_LIB = $$($1_$2_$3_LIB)
 
 ifeq "$$(HostOS_CPP)" "mingw32"
 ifneq "$$($1_$2_dll0_HS_OBJS)" ""
-$1_$2_$3_LIB0_ROOT = HS$$($1_$2_PACKAGE_KEY)-0$$($3_libsuf)
+$1_$2_$3_LIB0_ROOT = HS$$($1_$2_LIB_NAME)-0$$($3_libsuf)
 $1_$2_$3_LIB0_NAME = lib$$($1_$2_$3_LIB0_ROOT)
 $1_$2_$3_LIB0 = $1/$2/build/$$($1_$2_$3_LIB0_NAME)
 endif
@@ -136,7 +136,7 @@ ifeq "$$(DYNAMIC_GHC_PROGRAMS)" "YES"
 $1_$2_GHCI_LIB = $$($1_$2_dyn_LIB)
 else
 ifeq "$3" "v"
-$1_$2_GHCI_LIB = $1/$2/build/HS$$($1_$2_PACKAGE_KEY).$$($3_osuf)
+$1_$2_GHCI_LIB = $1/$2/build/HS$$($1_$2_LIB_NAME).$$($3_osuf)
 ifeq "$$($1_$2_BUILD_GHCI_LIB)" "YES"
 # Don't put bootstrapping packages in the bindist
 ifneq "$4" "0"
index 6724f3a..47968a1 100644 (file)
@@ -6,6 +6,7 @@ import Distribution.PackageDescription
 import Distribution.PackageDescription.Check hiding (doesFileExist)
 import Distribution.PackageDescription.Configuration
 import Distribution.PackageDescription.Parse
+import Distribution.Package
 import Distribution.System
 import Distribution.Simple
 import Distribution.Simple.Configure
@@ -438,6 +439,8 @@ generate directory distdir dll0Modules config_args
           allMods = mods ++ otherMods
       let xs = [variablePrefix ++ "_VERSION = " ++ display (pkgVersion (package pd)),
                 variablePrefix ++ "_PACKAGE_KEY = " ++ display (pkgKey lbi),
+                -- copied from mkComponentsLocalBuildInfo
+                variablePrefix ++ "_LIB_NAME = " ++ packageKeyLibraryName (package pd) (pkgKey lbi),
                 variablePrefix ++ "_MODULES = " ++ unwords mods,
                 variablePrefix ++ "_HIDDEN_MODULES = " ++ unwords otherMods,
                 variablePrefix ++ "_SYNOPSIS =" ++ synopsis pd,