Skip to content

Glossary

abstract tool

Defines a set of functions to be implemented by a concrete tool. For example, the cpp.compiler abstract tool defines a set of functions which would be implemented by concrete tools clang.cpp.compiler and gcc.cpp.compiler.

action

A build action takes one or more input artifacts and produces one or more output artifacts.

artifact

Represents an entity like a file, directory, string, or other object used in the build process.

build configuration

build file

build hierarchy

collection

A set of Python files containing functions and classes implementing one or more toolsets.

concrete tool

discovery

The process of searching for a concrete tool on the user's system. This process is specific to the tool, and involves looking in the places the tool is commonly installed.

full build

A full build is a build which performs all actions in order to produce all output artifacts.

implicit dependency

An artifact which is not explicitly specified as an input artifact to a build action, but is implicitly used by the action. For example, a header file included by a source file used in a build action is an implicit dependency of that build build action.

incremental build

An incremental build is a build which only performs actions whose input artifacts have changed, or whose output artifacts have been modified or deleted since the previous build.

input artifact

An artifact which is used as input to a build action. For example, a source file is an input artifact to a build action which creates an object file.

inventory

All the collections -- and hence all the toolsets and tools -- available to the build process.

named artifact

An artifact which is assigned a name, so it can be referenced by that name elsewhere in the build.

output artifact

An artifact which is created as a result of a build action. For example, an object file is an output artifact of a build action which compiles a source file.

relevant settings

setting

settings

target

tool

toolset