load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@bazel_skylib//rules:common_settings.bzl", "string_flag") load( "//rust:defs.bzl", "capture_clippy_output", "clippy_flags", "error_format", "extra_exec_rustc_flag", "extra_exec_rustc_flags", "extra_rustc_flag", "extra_rustc_flags", "no_std", "per_crate_rustc_flag", "rustc_output_diagnostics", ) exports_files([ "LICENSE", "MODULE.bazel", ]) bzl_library( name = "bzl_lib", srcs = [ ":version.bzl", ], visibility = ["//visibility:public"], ) # This setting may be changed from the command line to generate machine readable errors. error_format( name = "error_format", build_setting_default = "human", visibility = ["//visibility:public"], ) # This setting may be changed from the command line to generate rustc diagnostics. rustc_output_diagnostics( name = "rustc_output_diagnostics", build_setting_default = False, visibility = ["//visibility:public"], ) # This setting may be used to pass extra options to clippy from the command line. # It applies across all targets. clippy_flags( name = "clippy_flags", build_setting_default = [], visibility = ["//visibility:public"], ) # This setting may be used to pass extra options to rustc from the command line # in non-exec configuration. # It applies across all targets whereas the rustc_flags option on targets applies only # to that target. This can be useful for passing build-wide options such as LTO. extra_rustc_flags( name = "extra_rustc_flags", build_setting_default = [], visibility = ["//visibility:public"], ) extra_rustc_flag( name = "extra_rustc_flag", build_setting_default = "", visibility = ["//visibility:public"], ) # This setting may be used to pass extra options to rustc from the command line # in exec configuration. # It applies across all targets whereas the rustc_flags option on targets applies only # to that target. This can be useful for passing build-wide options such as LTO. extra_exec_rustc_flags( name = "extra_exec_rustc_flags", build_setting_default = [], visibility = ["//visibility:public"], ) extra_exec_rustc_flag( name = "extra_exec_rustc_flag", build_setting_default = "", visibility = ["//visibility:public"], ) per_crate_rustc_flag( name = "experimental_per_crate_rustc_flag", build_setting_default = "", visibility = ["//visibility:public"], ) # This setting is used by the clippy rules. See https://bazelbuild.github.io/rules_rust/rust_clippy.html label_flag( name = "clippy.toml", build_setting_default = "//tools/clippy:clippy.toml", visibility = ["//visibility:public"], ) # This setting is used by the rustfmt rules. See https://bazelbuild.github.io/rules_rust/rust_fmt.html label_flag( name = "rustfmt.toml", build_setting_default = "//tools/rustfmt:rustfmt.toml", visibility = ["//visibility:public"], ) alias( name = "rustfmt", actual = "//tools/rustfmt", visibility = ["//visibility:public"], ) capture_clippy_output( name = "capture_clippy_output", build_setting_default = False, visibility = ["//visibility:public"], ) # This setting may be used to enable builds without the standard library. # Currently only no_std + alloc is supported, which can be enabled with setting the value to "alloc". # In the future we could add support for additional modes, e.g "core", "alloc,collections". string_flag( name = "no_std", build_setting_default = "off", values = [ "alloc", "off", ], visibility = ["//visibility:public"], ) # A hack target to allow as to only apply the no_std mode in target config. no_std( name = "build_target_in_no_std", ) # A config setting for setting conditional `cargo_features`, `deps`, based on the `:no_std` value. config_setting( name = "is_no_std", flag_values = { ":build_target_in_no_std": "alloc", }, visibility = ["//visibility:public"], )