Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
Packages
Cabal
Commits
a890177c
Commit
a890177c
authored
Sep 16, 2016
by
Edward Z. Yang
Committed by
GitHub
Sep 16, 2016
Browse files
Merge pull request #3829 from ezyang/pr/t3827
Correctly propagate profiling for ALL library dependencies.
parents
2a5e9bc2
a310bf51
Changes
8
Hide whitespace changes
Inline
Side-by-side
cabal-install/Distribution/Client/ProjectPlanning.hs
View file @
a890177c
...
...
@@ -1573,7 +1573,7 @@ elaborateInstallPlan platform compiler compilerprogdb pkgConfigDB
profLibFlag
=
lookupPerPkgOption
pkgid
packageConfigProfLib
--TODO: [code cleanup] unused: the old deprecated packageConfigProfExe
libDepGraph
=
Graph
.
fromList
(
map
LibDepSolverPlanPackage
libDepGraph
=
Graph
.
fromList
(
map
NonSetup
LibDepSolverPlanPackage
(
SolverInstallPlan
.
toList
solverPlan
))
packagesWithLibDepsDownwardClosedProperty
property
=
...
...
@@ -1597,20 +1597,21 @@ elaborateInstallPlan platform compiler compilerprogdb pkgConfigDB
-- + ghci or shared lib needed by TH, recursive, ghc version dependent
-- | A newtype for 'SolverInstallPlan.SolverPlanPackage' for which the
-- dependency graph considers only
library
dependencies
(so, no setup
--
dependencies or executable
dependencies.
)
Used to compute the set
-- dependency graph considers only dependencies
on libraries which are
--
NOT from setup
dependencies. Used to compute the set
-- of packages needed for profiling and dynamic libraries.
newtype
LibDepSolverPlanPackage
=
LibDepSolverPlanPackage
{
unLibDepSolverPlanPackage
::
SolverInstallPlan
.
SolverPlanPackage
}
instance
Package
LibDepSolverPlanPackage
where
packageId
=
packageId
.
unLibDepSolverPlanPackage
instance
IsNode
LibDepSolverPlanPackage
where
type
Key
LibDepSolverPlanPackage
=
SolverId
nodeKey
=
nodeKey
.
unLibDepSolverPlanPackage
nodeNeighbors
(
LibDepSolverPlanPackage
spkg
)
=
ordNub
$
CD
.
libraryDeps
(
resolverPackageLibDeps
spkg
)
newtype
NonSetupLibDepSolverPlanPackage
=
NonSetupLibDepSolverPlanPackage
{
unNonSetupLibDepSolverPlanPackage
::
SolverInstallPlan
.
SolverPlanPackage
}
instance
Package
NonSetupLibDepSolverPlanPackage
where
packageId
=
packageId
.
unNonSetupLibDepSolverPlanPackage
instance
IsNode
NonSetupLibDepSolverPlanPackage
where
type
Key
NonSetupLibDepSolverPlanPackage
=
SolverId
nodeKey
=
nodeKey
.
unNonSetupLibDepSolverPlanPackage
nodeNeighbors
(
NonSetupLibDepSolverPlanPackage
spkg
)
=
ordNub
$
CD
.
nonSetupDeps
(
resolverPackageLibDeps
spkg
)
---------------------------
-- Build targets
...
...
cabal-install/cabal-install.cabal
View file @
a890177c
...
...
@@ -144,6 +144,12 @@ Extra-Source-Files:
tests/IntegrationTests/regression/t3335/Setup.hs
tests/IntegrationTests/regression/t3335/cabal.project
tests/IntegrationTests/regression/t3335/t3335.cabal
tests/IntegrationTests/regression/t3827.sh
tests/IntegrationTests/regression/t3827/cabal.project
tests/IntegrationTests/regression/t3827/p/P.hs
tests/IntegrationTests/regression/t3827/p/p.cabal
tests/IntegrationTests/regression/t3827/q/Main.hs
tests/IntegrationTests/regression/t3827/q/q.cabal
tests/IntegrationTests/sandbox-reinstalls/p/Main.hs
tests/IntegrationTests/sandbox-reinstalls/p/p.cabal
tests/IntegrationTests/sandbox-reinstalls/q/Q.hs
...
...
cabal-install/tests/IntegrationTests/regression/t3827.sh
0 → 100644
View file @
a890177c
.
./common.sh
cd
t3827
cabal new-build exe:q
cabal-install/tests/IntegrationTests/regression/t3827/cabal.project
0 → 100644
View file @
a890177c
packages
:
p
q
profiling
-
detail
:
all
-
functions
package
q
profiling
:
True
cabal-install/tests/IntegrationTests/regression/t3827/p/P.hs
0 → 100644
View file @
a890177c
module
P
where
p
=
True
cabal-install/tests/IntegrationTests/regression/t3827/p/p.cabal
0 → 100644
View file @
a890177c
name: p
version: 1.0
build-type: Simple
cabal-version: >= 1.10
library
build-depends: base
exposed-modules: P
cabal-install/tests/IntegrationTests/regression/t3827/q/Main.hs
0 → 100644
View file @
a890177c
module
Main
where
import
P
main
=
print
p
cabal-install/tests/IntegrationTests/regression/t3827/q/q.cabal
0 → 100644
View file @
a890177c
name: q
version: 1.0
build-type: Simple
cabal-version: >= 1.10
executable q
build-depends: base, p
main-is: Main.hs
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment