blob: fe7becfccb9a121faafd1fb62786830c5a2882b8 [file] [log] [blame]
rust_prebuilt_dylib {
name: "libstd_x86_64-unknown-linux-gnu",
stem: "libstd",
suffix: "-0322c10236bca08f",
crate_name: "std",
target: {
linux_glibc_x86_64: {
srcs: ["1.40.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0322c10236bca08f.so"],
enabled: true,
},
},
enabled: false,
host_supported: true,
}
rust_prebuilt_dylib {
name: "libtest_x86_64-unknown-linux-gnu",
stem: "libtest",
suffix: "-c1e6fb83f3eb04e6",
crate_name: "test",
target: {
linux_glibc_x86_64: {
srcs: ["1.40.0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-c1e6fb83f3eb04e6.so"],
enabled: true,
},
},
enabled: false,
host_supported: true,
}
// Sysroot Libraries
rustc = "1.40.0/src/stdlibs"
// The basic crates are only available as static libraries
// .rust_sysroot is appended to the name to prevent accidental direct usage
// of these crates by user code.
// The most likely place for this to occur would be liblibc.
rust_library_rlib {
name: "libcore.rust_sysroot",
deny_warnings: false,
crate_name: "core",
srcs: [rustc + "/src/libcore/lib.rs"],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libbacktrace_sys.rust_sysroot",
deny_warnings: false,
crate_name: "backtrace_sys",
srcs: [rustc + "/vendor/backtrace-sys/src/lib.rs"],
features: [
"core", "compiler_builtins"
],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "librustc_demangle.rust_sysroot",
deny_warnings: false,
crate_name: "rustc_demangle",
srcs: [rustc + "/vendor/rustc-demangle/src/lib.rs"],
features: [
"core", "compiler_builtins"
],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "libbacktrace_rs.rust_sysroot",
deny_warnings: false,
crate_name: "backtrace_rs",
srcs: [rustc + "/vendor/backtrace/src/lib.rs"],
features: [
"core", "compiler_builtins"
],
rlibs: [
"libbacktrace_sys.rust_sysroot",
"libcfg_if.rust_sysroot",
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
"librustc_demangle.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libcompiler_builtins.rust_sysroot",
deny_warnings: false,
crate_name: "compiler_builtins",
features: [
"compiler-builtins",
"core",
"default",
],
srcs: [rustc + "/vendor/compiler_builtins/src/lib.rs"],
rlibs: ["libcore.rust_sysroot"],
flags: [
"-C",
"panic=abort",
],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "liblibc.rust_sysroot",
deny_warnings: false,
crate_name: "libc",
features: ["align"],
srcs: [rustc + "/vendor/libc/src/lib.rs"],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
// Generated via build.rs autodetect on compiler version. May need to be
// regenerated on compiler version bump.
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",
],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "liballoc.rust_sysroot",
deny_warnings: false,
crate_name: "alloc",
srcs: [rustc + "/src/liballoc/lib.rs"],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libcfg_if.rust_sysroot",
deny_warnings: false,
crate_name: "cfg_if",
features: [
"compiler_builtins",
"core",
],
srcs: [rustc + "/vendor/cfg-if/src/lib.rs"],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libpanic_abort.rust_sysroot",
deny_warnings: false,
crate_name: "panic_abort",
srcs: [rustc + "/src/libpanic_abort/lib.rs"],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libpanic_unwind.rust_sysroot",
deny_warnings: false,
crate_name: "panic_unwind",
srcs: [rustc + "/src/libpanic_unwind/lib.rs"],
rlibs: [
"liballoc.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
"libunwind.rust_sysroot",
"libcompiler_builtins.rust_sysroot",
"libcfg_if.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libunwind.rust_sysroot",
deny_warnings: false,
crate_name: "unwind",
srcs: [rustc + "/src/libunwind/lib.rs"],
rlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
"libcfg_if.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libhashbrown.rust_sysroot",
deny_warnings: false,
crate_name: "hashbrown",
srcs: [rustc + "/vendor/hashbrown/src/lib.rs"],
edition: "2018",
features: [
"alloc",
"compiler_builtins",
"core",
"nightly",
"rustc-dep-of-std",
"rustc-internal-api",
],
flags: ["--cfg=has_extern_crate_alloc"],
no_stdlibs: true,
rlibs: [
"libcore.rust_sysroot",
"libcompiler_builtins.rust_sysroot",
"liballoc.rust_sysroot",
"libunwind.rust_sysroot",
],
}
// Top level sysroot libraries are available both as static and dynamic
rust_library_dylib {
name: "libstd",
deny_warnings: false,
crate_name: "std",
edition: "2018",
srcs: [rustc + "/src/libstd/lib.rs"],
features: [
"default",
"std_detect_dlsym_getauxval",
"std_detect_file_io",
],
no_stdlibs: true,
rlibs: [
"libbacktrace_rs.rust_sysroot",
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
"libcfg_if.rust_sysroot",
"liballoc.rust_sysroot",
"libhashbrown.rust_sysroot",
"libunwind.rust_sysroot",
"libpanic_unwind.rust_sysroot",
],
}
// libstd does not actually need a separate .static version, as it statically
// links its dependencies whether compiled as rlib or dylib.
// However, since libterm and libtest do need a separate .static version
// until we have dynamic selection included, I'm splitting libstd for symmetry
rust_library_rlib {
name: "libstd.static",
deny_warnings: false,
crate_name: "std",
edition: "2018",
srcs: [rustc + "/src/libstd/lib.rs"],
features: [
"default",
"std_detect_dlsym_getauxval",
"std_detect_file_io",
],
no_stdlibs: true,
rlibs: [
"libbacktrace_rs.rust_sysroot",
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
"liblibc.rust_sysroot",
"libcfg_if.rust_sysroot",
"liballoc.rust_sysroot",
"libhashbrown.rust_sysroot",
"libunwind.rust_sysroot",
"libpanic_unwind.rust_sysroot",
],
}
rust_library_dylib {
name: "libterm",
deny_warnings: false,
crate_name: "term",
srcs: [rustc + "/src/libterm/lib.rs"],
no_stdlibs: true,
dylibs: ["libstd"],
edition: "2018",
}
rust_library_rlib {
name: "libterm.static",
deny_warnings: false,
crate_name: "term",
srcs: [rustc + "/src/libterm/lib.rs"],
no_stdlibs: true,
rlibs: ["libstd.static"],
edition: "2018",
}
rust_library_dylib {
name: "libgetopts",
deny_warnings: false,
crate_name: "getopts",
srcs: [rustc + "/vendor/getopts/src/lib.rs"],
dylibs: ["libstd"],
// libunicode_width is a no_std crate. This means it can't build into a
// shared object without explicit eh_personality etc. items which it
// doesn't have. Link it in statically.
rlibs: ["libunicode_width"],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "libgetopts.static",
deny_warnings: false,
crate_name: "getopts",
srcs: [rustc + "/vendor/getopts/src/lib.rs"],
rlibs: [
"libunicode_width.static",
"libstd.static",
],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "libunicode_width",
deny_warnings: false,
crate_name: "unicode_width",
srcs: [rustc + "/vendor/unicode-width/src/lib.rs"],
dylibs: ["libstd"],
no_stdlibs: true,
edition: "2015",
}
rust_library_rlib {
name: "libunicode_width.static",
deny_warnings: false,
crate_name: "unicode_width",
srcs: [rustc + "/vendor/unicode-width/src/lib.rs"],
rlibs: ["libstd.static"],
no_stdlibs: true,
edition: "2015",
}
rust_library_dylib {
name: "libtest",
deny_warnings: false,
crate_name: "test",
srcs: [rustc + "/src/libtest/lib.rs"],
dylibs: [
"libterm",
"libgetopts",
"libstd",
],
rlibs: [
"liblibc.rust_sysroot",
],
no_stdlibs: true,
edition: "2018",
}
rust_library_rlib {
name: "libtest.static",
deny_warnings: false,
crate_name: "test",
srcs: [rustc + "/src/libtest/lib.rs"],
rlibs: [
"liblibc.rust_sysroot",
"libterm.static",
"libgetopts.static",
"libstd.static",
],
no_stdlibs: true,
edition: "2018",
}