diff --git a/Cabal/src/Distribution/Simple/GHC.hs b/Cabal/src/Distribution/Simple/GHC.hs index ea447c4070f..5ad41d41e02 100644 --- a/Cabal/src/Distribution/Simple/GHC.hs +++ b/Cabal/src/Distribution/Simple/GHC.hs @@ -82,7 +82,7 @@ module Distribution.Simple.GHC import Distribution.Compat.Prelude import Prelude () -import Control.Monad (forM_, msum) +import Control.Monad (forM_) import Data.List (stripPrefix) import qualified Data.Map as Map import Distribution.CabalSpecVersion diff --git a/cabal-install/src/Distribution/Client/PackageHash.hs b/cabal-install/src/Distribution/Client/PackageHash.hs index 18be444cde7..f5387a37bd8 100644 --- a/cabal-install/src/Distribution/Client/PackageHash.hs +++ b/cabal-install/src/Distribution/Client/PackageHash.hs @@ -10,6 +10,8 @@ -- * the package tarball -- * the ids of all the direct dependencies -- * other local configuration (flags, profiling, etc) +-- +-- See 'PackageHashInputs' for a detailed list of what determines the hash. module Distribution.Client.PackageHash ( -- * Calculating package hashes PackageHashInputs (..) @@ -38,7 +40,8 @@ import Distribution.Package , mkComponentId ) import Distribution.Simple.Compiler - ( CompilerId + ( AbiTag (..) + , CompilerId , DebugInfoLevel (..) , OptimisationLevel (..) , PackageDB @@ -191,6 +194,7 @@ type PackageSourceHash = HashValue -- package hash. data PackageHashConfigInputs = PackageHashConfigInputs { pkgHashCompilerId :: CompilerId + , pkgHashCompilerABI :: AbiTag , pkgHashPlatform :: Platform , pkgHashFlagAssignment :: FlagAssignment -- complete not partial , pkgHashConfigureScriptArgs :: [String] -- just ./configure for build-type Configure @@ -301,6 +305,7 @@ renderPackageHashInputs pkgHashDirectDeps , -- and then all the config entry "compilerid" prettyShow pkgHashCompilerId + , entry "compilerabi" prettyShow pkgHashCompilerABI , entry "platform" prettyShow pkgHashPlatform , opt "flags" mempty showFlagAssignment pkgHashFlagAssignment , opt "configure-script" [] unwords pkgHashConfigureScriptArgs diff --git a/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs b/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs index bc382216010..cc32a55e828 100644 --- a/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs +++ b/cabal-install/src/Distribution/Client/ProjectBuilding/UnpackedPackage.hs @@ -71,7 +71,6 @@ import Distribution.Simple.BuildPaths (haddockDirName) import Distribution.Simple.Command (CommandUI) import Distribution.Simple.Compiler ( PackageDBStack - , compilerId ) import qualified Distribution.Simple.InstallDirs as InstallDirs import Distribution.Simple.LocalBuildInfo diff --git a/cabal-install/src/Distribution/Client/ProjectPlanning.hs b/cabal-install/src/Distribution/Client/ProjectPlanning.hs index 2c71d0ecb46..4a295be849c 100644 --- a/cabal-install/src/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/src/Distribution/Client/ProjectPlanning.hs @@ -4310,6 +4310,7 @@ packageHashConfigInputs packageHashConfigInputs shared@ElaboratedSharedConfig{..} pkg = PackageHashConfigInputs { pkgHashCompilerId = compilerId pkgConfigCompiler + , pkgHashCompilerABI = compilerAbiTag pkgConfigCompiler , pkgHashPlatform = pkgConfigPlatform , pkgHashFlagAssignment = elabFlagAssignment , pkgHashConfigureScriptArgs = elabConfigureScriptArgs diff --git a/cabal-testsuite/src/Test/Cabal/Monad.hs b/cabal-testsuite/src/Test/Cabal/Monad.hs index 7d7323ecbef..68bc7d9f36b 100644 --- a/cabal-testsuite/src/Test/Cabal/Monad.hs +++ b/cabal-testsuite/src/Test/Cabal/Monad.hs @@ -582,7 +582,7 @@ testLibInstallDir env = libDir compilerDir libDir = case os of Windows -> testPrefixDir env _ -> testPrefixDir env "lib" - compilerDir = prettyShow platform ++ "-" ++ showCompilerId (testCompiler env) + compilerDir = prettyShow platform ++ "-" ++ showCompilerIdWithAbi (testCompiler env) -- | The absolute path to the build directory that should be used -- for the current package in a test.