summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/solver/concretize.lp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp
index d6e63f3606..b97dfd7fd7 100644
--- a/lib/spack/spack/solver/concretize.lp
+++ b/lib/spack/spack/solver/concretize.lp
@@ -309,6 +309,13 @@ node_target_match_pref(Package, Target) :- node_target_set(Package, Target).
node_target_match_pref(Dependency, Target)
:- depends_on(Package, Dependency), node_target_match_pref(Package, Target),
not node_target_set(Dependency, _).
+
+node_target_match_pref(Dependency, Target)
+ :- depends_on(Package, Dependency),
+ root(Package), node_target(Package, Target),
+ not node_target_match_pref(Package, _),
+ not node_target_set(Dependency, _).
+
node_target_match(Package, 1)
:- node_target(Package, Target), node_target_match_pref(Package, Target).