summaryrefslogtreecommitdiff
path: root/lib/spack/docs/config_yaml.rst
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/docs/config_yaml.rst')
-rw-r--r--lib/spack/docs/config_yaml.rst45
1 files changed, 40 insertions, 5 deletions
diff --git a/lib/spack/docs/config_yaml.rst b/lib/spack/docs/config_yaml.rst
index da760f05e3..c02929d8c1 100644
--- a/lib/spack/docs/config_yaml.rst
+++ b/lib/spack/docs/config_yaml.rst
@@ -1,8 +1,13 @@
+.. Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
+ Spack Project Developers. See the top-level COPYRIGHT file for details.
+
+ SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
.. _config-yaml:
-====================================
-Basic settings in ``config.yaml``
-====================================
+==============
+Basic Settings
+==============
Spack's basic configuration options are set in ``config.yaml``. You can
see the default settings by looking at
@@ -79,8 +84,8 @@ See :ref:`modules` for details.
--------------------
Spack is designed to run out of a user home directory, and on many
-systems the home directory is a (slow) network filesystem. On most systems,
-building in a temporary filesystem results in faster builds than building
+systems the home directory is a (slow) network file system. On most systems,
+building in a temporary file system results in faster builds than building
in the home directory. Usually, there is also more space available in
the temporary location than in the home directory. So, Spack tries to
create build stages in temporary space.
@@ -151,6 +156,17 @@ to ``false`` to disable these checks. Disabling this can expose you to
attacks. Use at your own risk.
--------------------
+``locks``
+--------------------
+
+When set to ``true``, concurrent instances of Spack will use locks to
+avoid modifying the install tree, database file, etc. If false, Spack
+will disable all locking, but you must **not** run concurrent instances
+of Spack. For file systems that don't support locking, you should set
+this to ``false`` and run one Spack at a time, but otherwise we recommend
+enabling locks.
+
+--------------------
``dirty``
--------------------
@@ -180,3 +196,22 @@ to 4, for example, commands like ``spack install`` will run ``make -j4``
instead of hogging every core.
To build all software in serial, set ``build_jobs`` to 1.
+
+--------------------
+``ccache``
+--------------------
+
+When set to ``true`` Spack will use ccache to cache compiles. This is
+useful specifically in two cases: (1) when using ``spack setup``, and (2)
+when building the same package with many different variants. The default is
+``false``.
+
+When enabled, Spack will look inside your ``PATH`` for a ``ccache``
+executable and stop if it is not found. Some systems come with
+``ccache``, but it can also be installed using ``spack install
+ccache``. ``ccache`` comes with reasonable defaults for cache size
+and location. (See the *Configuration settings* section of ``man
+ccache`` to learn more about the default settings and how to change
+them). Please note that we currently disable ccache's ``hash_dir``
+feature to avoid an issue with the stage directory (see
+https://github.com/LLNL/spack/pull/3761#issuecomment-294352232).