blob: c0bbf6180e3063e72f968d7e40218c220404030e [file]
"""# Cargo settings
Definitions for all `@rules_rust//cargo` settings
"""
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_list_flag")
def experimental_symlink_execroot():
"""A flag for which causes `cargo_build_script` to symlink the execroot of the action to \
the `CARGO_MANIFEST_DIR` where the scripts are run.
"""
bool_flag(
name = "experimental_symlink_execroot",
build_setting_default = False,
)
def incompatible_runfiles_cargo_manifest_dir():
"""A flag which causes `cargo_build_script` to write an explicit `CARGO_MANFIEST_DIR` \
directory from an action instead of using runfiles directories which cannot be \
passed to downstream actions.
https://github.com/bazelbuild/bazel/issues/15486
"""
bool_flag(
name = "incompatible_runfiles_cargo_manifest_dir",
build_setting_default = True,
)
def cargo_manifest_dir_filename_suffixes_to_retain():
"""A flag which determines what files are retained in `CARGO_MANIFEST_DIR` directories \
that are created in `CargoBuildScriptRun` actions.
"""
string_list_flag(
name = "cargo_manifest_dir_filename_suffixes_to_retain",
build_setting_default = [
".lib",
".so",
],
)
def debug_std_streams_output_group():
"""A flag which adds a `streams` output group to `cargo_build_script` targets that contain \
the raw `stderr` and `stdout` streams from the build script.
"""
bool_flag(
name = "debug_std_streams_output_group",
build_setting_default = False,
)
def use_default_shell_env():
"""A flag which controls the global default of `ctx.actions.run.use_default_shell_env` for `cargo_build_script` targets.
"""
bool_flag(
name = "use_default_shell_env",
build_setting_default = True,
)