5bae742826
This adds a new mode for `concretizer:reuse` called `dependencies`, which only reuses dependencies. Currently, `spack install foo` will reuse older versions of `foo`, which might be surprising to users.
38 lines
2.1 KiB
YAML
38 lines
2.1 KiB
YAML
# -------------------------------------------------------------------------
|
|
# This is the default spack configuration file.
|
|
#
|
|
# Settings here are versioned with Spack and are intended to provide
|
|
# sensible defaults out of the box. Spack maintainers should edit this
|
|
# file to keep it current.
|
|
#
|
|
# Users can override these settings by editing
|
|
# `$SPACK_ROOT/etc/spack/concretizer.yaml`, `~/.spack/concretizer.yaml`,
|
|
# or by adding a `concretizer:` section to an environment.
|
|
# -------------------------------------------------------------------------
|
|
concretizer:
|
|
# Whether to consider installed packages or packages from buildcaches when
|
|
# concretizing specs. If `true`, we'll try to use as many installs/binaries
|
|
# as possible, rather than building. If `false`, we'll always give you a fresh
|
|
# concretization. If `dependencies`, we'll only reuse dependencies but
|
|
# give you a fresh concretization for your root specs.
|
|
reuse: dependencies
|
|
# Options that tune which targets are considered for concretization. The
|
|
# concretization process is very sensitive to the number targets, and the time
|
|
# needed to reach a solution increases noticeably with the number of targets
|
|
# considered.
|
|
targets:
|
|
# Determine whether we want to target specific or generic
|
|
# microarchitectures. Valid values are: "microarchitectures" or "generic".
|
|
# An example of "microarchitectures" would be "skylake" or "bulldozer",
|
|
# while an example of "generic" would be "aarch64" or "x86_64_v4".
|
|
granularity: microarchitectures
|
|
# If "false" allow targets that are incompatible with the current host (for
|
|
# instance concretize with target "icelake" while running on "haswell").
|
|
# If "true" only allow targets that are compatible with the host.
|
|
host_compatible: true
|
|
# When "true" concretize root specs of environments together, so that each unique
|
|
# package in an environment corresponds to one concrete spec. This ensures
|
|
# environments can always be activated. When "false" perform concretization separately
|
|
# on each root spec, allowing different versions and variants of the same package in
|
|
# an environment.
|
|
unify: true
|