Skip to content
Snippets Groups Projects
Commit fecabc25 authored by tibbe's avatar tibbe
Browse files

Merge branch '1.18' of https://github.com/ezyang/cabal into 1.18

parents ece909bf b14a493a
No related merge requests found
......@@ -75,6 +75,7 @@ import qualified Distribution.InstalledPackageInfo as IPI
import qualified Distribution.ModuleName as ModuleName
import Distribution.ModuleName (ModuleName)
import Distribution.Simple.Program (ghcPkgProgram)
import Distribution.Simple.Setup
( BuildFlags(..), ReplFlags(..), fromFlag )
import Distribution.Simple.BuildTarget
......@@ -91,6 +92,7 @@ import Distribution.Simple.LocalBuildInfo
, inplacePackageId, LibraryName(..) )
import Distribution.Simple.Program.Types
import Distribution.Simple.Program.Db
import qualified Distribution.Simple.Program.HcPkg as HcPkg
import Distribution.Simple.BuildPaths
( autogenModulesDir, autogenModuleName, cppHeaderName, exeExtension )
import Distribution.Simple.Register
......@@ -116,7 +118,7 @@ import Control.Monad
import System.FilePath
( (</>), (<.>) )
import System.Directory
( getCurrentDirectory )
( getCurrentDirectory, removeDirectoryRecursive, doesDirectoryExist )
-- -----------------------------------------------------------------------------
-- |Build the libraries and executables in this package.
......@@ -141,7 +143,8 @@ build pkg_descr lbi flags suffixes = do
-- Only bother with this message if we're building the whole package
setupMessage verbosity "Building" (packageId pkg_descr)
internalPackageDB <- createInternalPackageDB distPref
let Just ghcPkgProg = lookupProgram ghcPkgProgram (withPrograms lbi)
internalPackageDB <- createInternalPackageDB verbosity ghcPkgProg distPref
withComponentsInBuildOrder pkg_descr lbi componentsToBuild $ \comp clbi ->
let bi = componentBuildInfo comp
......@@ -177,7 +180,8 @@ repl pkg_descr lbi flags suffixes args = do
initialBuildSteps distPref pkg_descr lbi verbosity
internalPackageDB <- createInternalPackageDB distPref
let Just ghcPkgProg = lookupProgram ghcPkgProgram (withPrograms lbi)
internalPackageDB <- createInternalPackageDB verbosity ghcPkgProg distPref
let lbiForComponent comp lbi' =
lbi' {
withPackageDB = withPackageDB lbi ++ [internalPackageDB],
......@@ -435,11 +439,13 @@ benchmarkExeV10asExe Benchmark{} _ = error "benchmarkExeV10asExe: wrong kind"
-- | Initialize a new package db file for libraries defined
-- internally to the package.
createInternalPackageDB :: FilePath -> IO PackageDB
createInternalPackageDB distPref = do
let dbFile = distPref </> "package.conf.inplace"
packageDB = SpecificPackageDB dbFile
writeFile dbFile "[]"
createInternalPackageDB :: Verbosity -> ConfiguredProgram -> FilePath -> IO PackageDB
createInternalPackageDB verbosity ghcPkgProg distPref = do
let dbDir = distPref </> "package.conf.inplace"
packageDB = SpecificPackageDB dbDir
exists <- doesDirectoryExist dbDir
when exists $ removeDirectoryRecursive dbDir
HcPkg.init verbosity ghcPkgProg dbDir
return packageDB
addInternalBuildTools :: PackageDescription -> LocalBuildInfo -> BuildInfo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment