blob: 5747a48a52c4d714c891133a301c6a1008a374e1 [file] [log] [blame]
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_stdlib_filegroup")
package(default_visibility = [
"//build/bazel/toolchains/rust:__subpackages__",
"//build/kernel:__subpackages__",
])
exports_files(["bin/*"])
filegroup(
name = "binaries",
srcs = glob([
"bin/*",
"lib/*",
"lib64/*",
]),
visibility = ["//visibility:public"],
)
rust_stdlib_filegroup(
name = "prebuilt_stdlibs",
srcs = glob(["lib/rustlib/x86_64_unknown-linux-gnu/*"]),
)
filegroup(
name = "stdlib_sources",
srcs = [
":liballoc.rust_sysroot",
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":libhashbrown.rust_sysroot",
":liblibc.rust_sysroot",
":libprofiler_builtins.rust_sysroot",
":librustc_demangle.rust_sysroot",
":libstd",
":libstd_detect.rust_sysroot",
":libunwind.rust_sysroot",
] + select({
"//build/bazel_common_rules/platforms/os:linux_musl": [
":libpanic_unwind.rust_sysroot",
],
"//build/bazel_common_rules/platforms/os:linux_bionic": [
":libpanic_abort.rust_sysroot",
],
"//build/bazel_common_rules/platforms/os:android": [
":libpanic_abort.rust_sysroot",
],
"//conditions:default": [],
}),
)
rust_library(
name = "libstd",
srcs = glob([
"src/stdlibs/library/std/src/**/*.rs",
"src/stdlibs/library/backtrace/src/**/*.rs",
"src/stdlibs/library/portable-simd/crates/std_float/src/**/*.rs",
]),
compile_data = glob([
"src/stdlibs/library/std/src/**/*.md",
"src/stdlibs/library/std/primitive_docs/*.md",
"src/stdlibs/library/core/src/**/*.md",
"src/stdlibs/library/backtrace/src/**/*.md",
"src/stdlibs/library/portable-simd/crates/std_float/src/**/*.md",
"src/stdlibs/library/stdarch/crates/core_arch/src/**/*.md",
"src/stdlibs/library/stdarch/crates/core_simd/src/**/*.md",
"src/stdlibs/library/portable-simd/crates/core_simd/src/**/*.md",
"src/stdlibs/library/portable-simd/crates/core_simd/src/**/*.md",
]),
crate_features = [
"default",
"std_detect_dlsym_getauxval",
"std_detect_file_io",
"profiler",
"no_std",
],
crate_name = "std",
rustc_env = {
"STD_ENV_ARCH": "aarch64",
},
rustc_flags = [
"--cfg=backtrace_in_libstd",
],
visibility = ["//visibility:public"],
deps = [
":liballoc.rust_sysroot",
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":libhashbrown.rust_sysroot",
":liblibc.rust_sysroot",
":libprofiler_builtins.rust_sysroot",
":librustc_demangle.rust_sysroot",
":libstd_detect.rust_sysroot",
":libunwind.rust_sysroot",
] + select({
"//build/bazel_common_rules/platforms/os:linux_musl": [
":libpanic_unwind.rust_sysroot",
],
"//build/bazel_common_rules/platforms/os:linux_bionic": [
":libpanic_abort.rust_sysroot",
],
"//build/bazel_common_rules/platforms/os:android": [
":libpanic_abort.rust_sysroot",
],
"//conditions:default": [],
}),
)
rust_library(
name = "libhashbrown.rust_sysroot",
srcs = glob([
"src/stdlibs/vendor/hashbrown/src/**/*.rs",
]),
compile_data = glob(["src/stdlibs/vendor/hashbrown/src/**/*.md"]),
crate_features = [
"alloc",
"compiler_builtins",
"core",
"nightly",
"rustc-dep-of-std",
"rustc-internal-api",
"no_std",
],
crate_name = "hashbrown",
rustc_flags = [
"--cfg=has_extern_crate_alloc",
],
deps = [
":liballoc.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":libunwind.rust_sysroot",
],
)
rust_library(
name = "liballoc.rust_sysroot",
srcs = glob(["src/stdlibs/library/alloc/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/library/alloc/src/**/*.md"]),
crate_features = ["no_std"],
crate_name = "alloc",
edition = "2021",
deps = [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
)
rust_library(
name = "libcompiler_builtins.rust_sysroot",
srcs = glob([
"src/stdlibs/vendor/compiler_builtins/src/**/*.rs",
]),
compile_data = glob(["src/stdlibs/vendor/compiler_builtins/src/**/*.md"]),
crate_features = [
"compiler-builtins",
"core",
"default",
"no_std",
],
crate_name = "compiler_builtins",
edition = "2015",
deps = [
"libcore.rust_sysroot",
],
)
rust_library(
name = "libcore.rust_sysroot",
srcs = glob([
"src/stdlibs/library/core/src/**/*.rs",
"src/stdlibs/library/stdarch/crates/core_arch/src/**/*.rs",
"src/stdlibs/library/portable-simd/crates/core_simd/src/**/*.rs",
]),
compile_data = glob([
"src/stdlibs/library/core/src/**/*.md",
"src/stdlibs/library/core/primitive_docs/*.md",
"src/stdlibs/library/stdarch/crates/core_arch/src/**/*.md",
"src/stdlibs/library/portable-simd/crates/core_simd/src/**/*.md",
]),
crate_features = [
"stdsimd",
"no_std",
],
crate_name = "core",
edition = "2021",
rustc_flags = [
"--cap-lints=allow",
],
)
rust_library(
name = "libstd_detect.rust_sysroot",
srcs = glob(["src/stdlibs/library/stdarch/crates/std_detect/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/library/stdarch/crates/std_detect/src/**/*.md"]),
crate_features = [
"std_detect_file_io",
"std_detect_dlsym_getauxval",
"no_std",
],
crate_name = "std_detect",
rustc_flags = [
"-Cmetadata=rustc_internal_rlibs",
],
deps = [
":liballoc.rust_sysroot",
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
],
)
rust_library(
name = "libcfg_if.rust_sysroot",
srcs = glob(["src/stdlibs/vendor/cfg-if/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/vendor/cfg_if/src/**/*.md"]),
crate_features = [
"compiler_builtins",
"core",
"no_std",
],
crate_name = "cfg_if",
deps = [
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
],
)
rust_library(
name = "libpanic_abort.rust_sysroot",
srcs = glob(["src/stdlibs/library/panic_abort/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/library/panic_abort/src/**/*.md"]),
crate_features = [
"no_std",
],
crate_name = "panic_abort",
deps = [
":liballoc.rust_sysroot",
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":liblibc.rust_sysroot",
],
)
rust_library(
name = "liblibc.rust_sysroot",
srcs = glob(["src/stdlibs/vendor/libc/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/vendor/libc/src/**/*.md"]),
crate_features = [
"align",
"cfg_if",
],
crate_name = "libc",
edition = "2015",
rustc_flags = [
"--cfg=freebsd11",
"--cfg=libc_priv_mod_use",
"--cfg=libc_union",
"--cfg=libc_const_size_of",
"--cfg=libc_align",
"--cfg=libc_core_cvoid",
"--cfg=libc_packedN",
"--cfg=libc_thread_local",
],
deps = [
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
],
)
rust_library(
name = "libunwind.rust_sysroot",
srcs = glob(["src/stdlibs/library/unwind/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/library/unwind/src/**/*.md"]),
crate_features = [
"no_std",
],
crate_name = "unwind",
deps = [
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":liblibc.rust_sysroot",
],
)
rust_library(
name = "libprofiler_builtins.rust_sysroot",
srcs = ["src/stdlibs/library/profiler_builtins/src/lib.rs"],
crate_features = [
"no_std",
],
crate_name = "profiler_builtins",
deps = [
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
],
)
rust_library(
name = "librustc_demangle.rust_sysroot",
srcs = glob(["src/stdlibs/vendor/rustc-demangle/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/vendor/rustc-demangle/src/**/*.md"]),
crate_features = [
"core",
"compiler_builtins",
"no_std",
],
crate_name = "rustc_demangle",
crate_root = "src/stdlibs/vendor/rustc-demangle/src/lib.rs",
deps = [
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
],
)
rust_library(
name = "libpanic_unwind.rust_sysroot",
srcs = glob(["src/stdlibs/library/panic_unwind/src/**/*.rs"]),
compile_data = glob(["src/stdlibs/library/panic_unwind/src/**/*.md"]),
crate_features = [
"no_std",
],
crate_name = "panic_unwind",
rustc_flags = [
"-Zforce-unstable-if-unmarked",
],
deps = [
":liballoc.rust_sysroot",
":libcfg_if.rust_sysroot",
":libcompiler_builtins.rust_sysroot",
":libcore.rust_sysroot",
":liblibc.rust_sysroot",
":libunwind.rust_sysroot",
],
)