diff options
-rw-r--r-- | lib/spack/spack/solver/concretize.lp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 2cb1512a33..cab54b9bd0 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -429,9 +429,11 @@ variant_value(Package, Variant, Value) % whenever possible. If a variant is set in a spec, or if it is % specified in an external, we score it as if it was a default value. variant_not_default(Package, Variant, Value, 1) - :- variant_value(Package, Variant, Value), - not variant_default_value(Package, Variant, Value), - not variant_set(Package, Variant, Value), + :- variant_value(Package, Variant, Actual), + not variant_value(Package, Variant, Value), + variant_default_value(Package, Variant, Value), + Actual != Value, + not variant_set(Package, Variant, Actual), not external_with_variant_set(Package, Variant, Value), node(Package). @@ -937,21 +939,6 @@ opt_criterion(5, "version badness"). build_priority(Package, Priority) }. -% If the value is a multivalued variant there could be multiple -% values set as default. Since a default value has a weight of 0 we -% need to maximize their number below to ensure they're all set -opt_criterion(104, "(build) number of values in multi valued variants (non-root)"). -opt_criterion(4, "number of values in multi valued variants (non-root)"). -#minimize{ 0@104 : #true }. -#minimize{ 0@4 : #true }. -#maximize { - 1@4+Priority,Package,Variant,Value - : variant_not_default(Package, Variant, Value, _), - not variant_single_value(Package, Variant), - not root(Package), - build_priority(Package, Priority) -}. - % Try to use preferred compilers opt_criterion(103, "(build) non-preferred compilers"). opt_criterion(3, "non-preferred compilers"). |