NAME
bdep-default-options-files
– specifying default options
SYNOPSIS
bdep command [mode-options]
...
DESCRIPTION
Instead of having a separate config file format for tool configuration,
the build2
toolchain uses default options files
which contain the same options as what can be specified on the command line.
The default options files are like options files that one can specify with
--options-file
(bdep-common-options(1)
)
except that they are loaded by default.
The default options files are searched for in the
.build2/
and .build2/local/
subdirectories of each outer directory beginning from the start
directory and until reaching either the home directory or the filesystem
root directory (both excluding). Then in the .build2/
subdirectory of the home directory and finally in the system directory (for
example, /etc/build2/
) if configured.
Once the search is complete, the files are loaded in the reverse order, that is, beginning from the system directory (if any), followed by the home directory, ending with the start directory, and finishing off with the options specified on the command line. In other words, the files are loaded from the more generic to the more specific with the command line options having the ability to override any values specified in the default options files.
The start directory, the names of the default options files, and in which
order they are loaded within each directory are determined by the
command
and potentially its
mode-options
. See each command's DEFAULT OPTIONS FILES
section for details.
If a default options file contains
--no-default-options
, then the search is stopped at the
directory containing this file and no outer files are loaded. If this option
is specified on the command line, then none of the default options files are
searched for or loaded.
An additional directory containing default options files can be specified
with --default-options
. If such a directory is a
subdirectory of the start directory or is between the start directory and
the end of the outer search, then its configuration files are loaded at the
corresponding point in the directory hierarchy. Otherwise, they are loaded
after the home directory.
The presence of the .git
filesystem entry causes the
default options files in this directory and any of its subdirectories to be
considered remote. Depending on the command, some security-sensitive options
may be disallowed or trigger a prompt when specified in remote options files
(in the current implementation this is the case even for files from the
.build2/local/
subdirectory since the mere location is
not a sufficient ground to definitively conclude that the file is not
remote; to be sure we would need to query the version control system). Note
that additional default options files specified with
--default-options
are never considered remote.
The order in which default options files are loaded is traced at the
verbosity level 3 (-V
option) or higher.
BUGS
Send bug reports to the users@build2.org mailing list.