bazel-skylib/docs/common_settings_doc.md

6.5 KiB
Executable File

Common build setting rules

These rules return a BuildSettingInfo with the value of the build setting. For label-typed settings, use the native label_flag and label_setting rules.

More documentation on how to use build settings at https://bazel.build/extending/config#user-defined-build-settings

bool_flag

bool_flag(name)

A bool-typed build setting that can be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required

bool_setting

bool_setting(name)

A bool-typed build setting that cannot be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required

int_flag

int_flag(name, make_variable)

An int-typed build setting that can be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
make_variable If set, the build setting's value will be available as a Make variable with this name in the attributes of rules that list this build setting in their 'toolchains' attribute. String optional ""

int_setting

int_setting(name, make_variable)

An int-typed build setting that cannot be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
make_variable If set, the build setting's value will be available as a Make variable with this name in the attributes of rules that list this build setting in their 'toolchains' attribute. String optional ""

string_flag

string_flag(name, make_variable, values)

A string-typed build setting that can be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
make_variable If set, the build setting's value will be available as a Make variable with this name in the attributes of rules that list this build setting in their 'toolchains' attribute. String optional ""
values The list of allowed values for this setting. An error is raised if any other value is given. List of strings optional []

string_list_flag

string_list_flag(name)

A string list-typed build setting that can be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required

string_list_setting

string_list_setting(name)

A string list-typed build setting that cannot be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required

string_setting

string_setting(name, make_variable, values)

A string-typed build setting that cannot be set on the command line

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
make_variable If set, the build setting's value will be available as a Make variable with this name in the attributes of rules that list this build setting in their 'toolchains' attribute. String optional ""
values The list of allowed values for this setting. An error is raised if any other value is given. List of strings optional []

BuildSettingInfo

BuildSettingInfo(value)

A singleton provider that contains the raw value of a build setting

FIELDS

Name Description
value The value of the build setting in the current configuration. This value may come from the command line or an upstream transition, or else it will be the build setting's default.