xref: /aosp_15_r20/prebuilts/rust/Android.bp (revision b40554a23088fb75aa6945dfe8e65169c8484da3)
1*b40554a2SAndroid Build Coastguard Worker// Sysroot Libraries
2*b40554a2SAndroid Build Coastguard Workerpackage {
3*b40554a2SAndroid Build Coastguard Worker    default_applicable_licenses: ["prebuilts_rust_license"],
4*b40554a2SAndroid Build Coastguard Worker}
5*b40554a2SAndroid Build Coastguard Worker
6*b40554a2SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
7*b40554a2SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
8*b40554a2SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
9*b40554a2SAndroid Build Coastguard Worker//
10*b40554a2SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
11*b40554a2SAndroid Build Coastguard Worker//
12*b40554a2SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
13*b40554a2SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
14*b40554a2SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
15*b40554a2SAndroid Build Coastguard Worker//
16*b40554a2SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
17*b40554a2SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
18*b40554a2SAndroid Build Coastguard Worker// used in the current project.
19*b40554a2SAndroid Build Coastguard Worker// See: http://go/android-license-faq
20*b40554a2SAndroid Build Coastguard Workerlicense {
21*b40554a2SAndroid Build Coastguard Worker    name: "prebuilts_rust_license",
22*b40554a2SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
23*b40554a2SAndroid Build Coastguard Worker    license_kinds: [
24*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
25*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
26*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
27*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
28*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-3.0",
29*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL",
30*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
31*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-NCSA",
32*b40554a2SAndroid Build Coastguard Worker        "SPDX-license-identifier-OpenSSL",
33*b40554a2SAndroid Build Coastguard Worker        "legacy_notice",
34*b40554a2SAndroid Build Coastguard Worker        "legacy_permissive",
35*b40554a2SAndroid Build Coastguard Worker        "legacy_unencumbered",
36*b40554a2SAndroid Build Coastguard Worker    ],
37*b40554a2SAndroid Build Coastguard Worker    // large-scale-change unable to identify any license_text files
38*b40554a2SAndroid Build Coastguard Worker}
39*b40554a2SAndroid Build Coastguard Worker
40*b40554a2SAndroid Build Coastguard Workerrust_stdlib_prebuilt_host {
41*b40554a2SAndroid Build Coastguard Worker    name: "libstd",
42*b40554a2SAndroid Build Coastguard Worker    crate_name: "std",
43*b40554a2SAndroid Build Coastguard Worker    sysroot: true,
44*b40554a2SAndroid Build Coastguard Worker}
45*b40554a2SAndroid Build Coastguard Worker
46*b40554a2SAndroid Build Coastguard Worker// stdlibs source path relative to toolchain root
47*b40554a2SAndroid Build Coastguard Workerstdlibs_src_path = "src/stdlibs"
48*b40554a2SAndroid Build Coastguard Worker
49*b40554a2SAndroid Build Coastguard Worker// The basic crates are only available as static libraries
50*b40554a2SAndroid Build Coastguard Worker// .rust_sysroot is appended to the name to prevent accidental direct usage
51*b40554a2SAndroid Build Coastguard Worker// of these crates by user code.
52*b40554a2SAndroid Build Coastguard Worker// The most likely place for this to occur would be liblibc.
53*b40554a2SAndroid Build Coastguard Workerrust_defaults {
54*b40554a2SAndroid Build Coastguard Worker    name: "rust_sysroot_defaults",
55*b40554a2SAndroid Build Coastguard Worker    no_stdlibs: true,
56*b40554a2SAndroid Build Coastguard Worker    edition: "2021",
57*b40554a2SAndroid Build Coastguard Worker    native_coverage: false,
58*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
59*b40554a2SAndroid Build Coastguard Worker    sysroot: true,
60*b40554a2SAndroid Build Coastguard Worker    native_bridge_supported: true,
61*b40554a2SAndroid Build Coastguard Worker    product_available: true,
62*b40554a2SAndroid Build Coastguard Worker    ramdisk_available: true,
63*b40554a2SAndroid Build Coastguard Worker    recovery_available: true,
64*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
65*b40554a2SAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
66*b40554a2SAndroid Build Coastguard Worker    apex_available: [
67*b40554a2SAndroid Build Coastguard Worker        "//apex_available:platform",
68*b40554a2SAndroid Build Coastguard Worker        "//apex_available:anyapex",
69*b40554a2SAndroid Build Coastguard Worker    ],
70*b40554a2SAndroid Build Coastguard Worker    target: {
71*b40554a2SAndroid Build Coastguard Worker        glibc: {
72*b40554a2SAndroid Build Coastguard Worker            enabled: false,
73*b40554a2SAndroid Build Coastguard Worker        },
74*b40554a2SAndroid Build Coastguard Worker        darwin_x86_64: {
75*b40554a2SAndroid Build Coastguard Worker            enabled: false,
76*b40554a2SAndroid Build Coastguard Worker        },
77*b40554a2SAndroid Build Coastguard Worker        darwin_arm64: {
78*b40554a2SAndroid Build Coastguard Worker            enabled: true,
79*b40554a2SAndroid Build Coastguard Worker        },
80*b40554a2SAndroid Build Coastguard Worker        musl: {
81*b40554a2SAndroid Build Coastguard Worker            enabled: false,
82*b40554a2SAndroid Build Coastguard Worker        },
83*b40554a2SAndroid Build Coastguard Worker        musl_arm64: {
84*b40554a2SAndroid Build Coastguard Worker            enabled: true,
85*b40554a2SAndroid Build Coastguard Worker        },
86*b40554a2SAndroid Build Coastguard Worker    },
87*b40554a2SAndroid Build Coastguard Worker    min_sdk_version: "29",
88*b40554a2SAndroid Build Coastguard Worker}
89*b40554a2SAndroid Build Coastguard Worker
90*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
91*b40554a2SAndroid Build Coastguard Worker    name: "libcore.rust_sysroot",
92*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
93*b40554a2SAndroid Build Coastguard Worker    crate_name: "core",
94*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/core/src/lib.rs",
95*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
96*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/core/src/**/*.rs",
97*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/core/src/**/*.md",
98*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/core/primitive_docs/*.md",
99*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/core_arch/src/**/*.rs",
100*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/core_arch/src/**/*.md",
101*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/portable-simd/crates/core_simd/src/**/*.rs",
102*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/portable-simd/crates/core_simd/src/**/*.md",
103*b40554a2SAndroid Build Coastguard Worker    ],
104*b40554a2SAndroid Build Coastguard Worker    sanitize: {
105*b40554a2SAndroid Build Coastguard Worker        never: true,
106*b40554a2SAndroid Build Coastguard Worker    },
107*b40554a2SAndroid Build Coastguard Worker    edition: "2021",
108*b40554a2SAndroid Build Coastguard Worker}
109*b40554a2SAndroid Build Coastguard Worker
110*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
111*b40554a2SAndroid Build Coastguard Worker    name: "librustc_demangle.rust_sysroot",
112*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
113*b40554a2SAndroid Build Coastguard Worker    crate_name: "rustc_demangle",
114*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/rustc-demangle/src/lib.rs",
115*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
116*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/rustc-demangle/src/**/*.rs",
117*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/rustc-demangle/src/**/*.md",
118*b40554a2SAndroid Build Coastguard Worker    ],
119*b40554a2SAndroid Build Coastguard Worker    features: [
120*b40554a2SAndroid Build Coastguard Worker        "core",
121*b40554a2SAndroid Build Coastguard Worker        "compiler_builtins",
122*b40554a2SAndroid Build Coastguard Worker    ],
123*b40554a2SAndroid Build Coastguard Worker    rlibs: [
124*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
125*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
126*b40554a2SAndroid Build Coastguard Worker    ],
127*b40554a2SAndroid Build Coastguard Worker    edition: "2015",
128*b40554a2SAndroid Build Coastguard Worker}
129*b40554a2SAndroid Build Coastguard Worker
130*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
131*b40554a2SAndroid Build Coastguard Worker    name: "libcompiler_builtins.rust_sysroot",
132*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
133*b40554a2SAndroid Build Coastguard Worker    crate_name: "compiler_builtins",
134*b40554a2SAndroid Build Coastguard Worker    features: [
135*b40554a2SAndroid Build Coastguard Worker        "compiler-builtins",
136*b40554a2SAndroid Build Coastguard Worker        "core",
137*b40554a2SAndroid Build Coastguard Worker        "default",
138*b40554a2SAndroid Build Coastguard Worker        "weak-intrinsics",
139*b40554a2SAndroid Build Coastguard Worker    ],
140*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/compiler_builtins/src/lib.rs",
141*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
142*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/compiler_builtins/src/**/*.rs",
143*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/compiler_builtins/src/**/*.md",
144*b40554a2SAndroid Build Coastguard Worker    ],
145*b40554a2SAndroid Build Coastguard Worker    rlibs: ["libcore.rust_sysroot"],
146*b40554a2SAndroid Build Coastguard Worker    flags: [
147*b40554a2SAndroid Build Coastguard Worker        "-C",
148*b40554a2SAndroid Build Coastguard Worker        "panic=abort",
149*b40554a2SAndroid Build Coastguard Worker        "-C",
150*b40554a2SAndroid Build Coastguard Worker        "overflow-checks=off",
151*b40554a2SAndroid Build Coastguard Worker    ],
152*b40554a2SAndroid Build Coastguard Worker    edition: "2018",
153*b40554a2SAndroid Build Coastguard Worker}
154*b40554a2SAndroid Build Coastguard Worker
155*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
156*b40554a2SAndroid Build Coastguard Worker    name: "liblibc.rust_sysroot",
157*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
158*b40554a2SAndroid Build Coastguard Worker    crate_name: "libc",
159*b40554a2SAndroid Build Coastguard Worker    features: ["align"],
160*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/libc/src/lib.rs",
161*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
162*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/libc/src/**/*.rs",
163*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/libc/src/**/*.md",
164*b40554a2SAndroid Build Coastguard Worker    ],
165*b40554a2SAndroid Build Coastguard Worker    rlibs: [
166*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
167*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
168*b40554a2SAndroid Build Coastguard Worker    ],
169*b40554a2SAndroid Build Coastguard Worker    // Generated via build.rs autodetect on compiler version. May need to be
170*b40554a2SAndroid Build Coastguard Worker    // regenerated on compiler version bump.
171*b40554a2SAndroid Build Coastguard Worker    cfgs: [
172*b40554a2SAndroid Build Coastguard Worker        "freebsd11",
173*b40554a2SAndroid Build Coastguard Worker        "libc_priv_mod_use",
174*b40554a2SAndroid Build Coastguard Worker        "libc_union",
175*b40554a2SAndroid Build Coastguard Worker        "libc_const_size_of",
176*b40554a2SAndroid Build Coastguard Worker        "libc_align",
177*b40554a2SAndroid Build Coastguard Worker        "libc_core_cvoid",
178*b40554a2SAndroid Build Coastguard Worker        "libc_packedN",
179*b40554a2SAndroid Build Coastguard Worker        "libc_thread_local",
180*b40554a2SAndroid Build Coastguard Worker        "libc_const_extern_fn",
181*b40554a2SAndroid Build Coastguard Worker    ],
182*b40554a2SAndroid Build Coastguard Worker    edition: "2015",
183*b40554a2SAndroid Build Coastguard Worker}
184*b40554a2SAndroid Build Coastguard Worker
185*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
186*b40554a2SAndroid Build Coastguard Worker    name: "liballoc.rust_sysroot",
187*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
188*b40554a2SAndroid Build Coastguard Worker    crate_name: "alloc",
189*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/alloc/src/lib.rs",
190*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
191*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/alloc/src/**/*.rs",
192*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/alloc/src/**/*.md",
193*b40554a2SAndroid Build Coastguard Worker    ],
194*b40554a2SAndroid Build Coastguard Worker    features: ["compiler-builtins-weak-intrinsics"],
195*b40554a2SAndroid Build Coastguard Worker    rlibs: [
196*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
197*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
198*b40554a2SAndroid Build Coastguard Worker    ],
199*b40554a2SAndroid Build Coastguard Worker    edition: "2021",
200*b40554a2SAndroid Build Coastguard Worker}
201*b40554a2SAndroid Build Coastguard Worker
202*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
203*b40554a2SAndroid Build Coastguard Worker    name: "libcfg_if.rust_sysroot",
204*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
205*b40554a2SAndroid Build Coastguard Worker    crate_name: "cfg_if",
206*b40554a2SAndroid Build Coastguard Worker    features: [
207*b40554a2SAndroid Build Coastguard Worker        "compiler_builtins",
208*b40554a2SAndroid Build Coastguard Worker        "core",
209*b40554a2SAndroid Build Coastguard Worker    ],
210*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/cfg-if/src/lib.rs",
211*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
212*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/cfg-if/src/**/*.rs",
213*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/cfg-if/src/**/*.md",
214*b40554a2SAndroid Build Coastguard Worker    ],
215*b40554a2SAndroid Build Coastguard Worker    rlibs: [
216*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
217*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
218*b40554a2SAndroid Build Coastguard Worker    ],
219*b40554a2SAndroid Build Coastguard Worker    edition: "2018",
220*b40554a2SAndroid Build Coastguard Worker}
221*b40554a2SAndroid Build Coastguard Worker
222*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
223*b40554a2SAndroid Build Coastguard Worker    name: "libstd_detect.rust_sysroot",
224*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
225*b40554a2SAndroid Build Coastguard Worker    crate_name: "std_detect",
226*b40554a2SAndroid Build Coastguard Worker    features: [
227*b40554a2SAndroid Build Coastguard Worker        "std_detect_file_io",
228*b40554a2SAndroid Build Coastguard Worker        "std_detect_dlsym_getauxval",
229*b40554a2SAndroid Build Coastguard Worker    ],
230*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/stdarch/crates/std_detect/src/lib.rs",
231*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
232*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/std_detect/src/**/*.rs",
233*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/std_detect/src/**/*.md",
234*b40554a2SAndroid Build Coastguard Worker    ],
235*b40554a2SAndroid Build Coastguard Worker    rlibs: [
236*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
237*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
238*b40554a2SAndroid Build Coastguard Worker        "liballoc.rust_sysroot",
239*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_sysroot",
240*b40554a2SAndroid Build Coastguard Worker    ],
241*b40554a2SAndroid Build Coastguard Worker}
242*b40554a2SAndroid Build Coastguard Worker
243*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
244*b40554a2SAndroid Build Coastguard Worker    name: "libpanic_abort.rust_sysroot",
245*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
246*b40554a2SAndroid Build Coastguard Worker    crate_name: "panic_abort",
247*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/panic_abort/src/lib.rs",
248*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
249*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/panic_abort/src/**/*.rs",
250*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/panic_abort/src/**/*.md",
251*b40554a2SAndroid Build Coastguard Worker    ],
252*b40554a2SAndroid Build Coastguard Worker    rlibs: [
253*b40554a2SAndroid Build Coastguard Worker        "liballoc.rust_sysroot",
254*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
255*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
256*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_sysroot",
257*b40554a2SAndroid Build Coastguard Worker        "liblibc.rust_sysroot",
258*b40554a2SAndroid Build Coastguard Worker    ],
259*b40554a2SAndroid Build Coastguard Worker    flags: ["-C panic=abort"],
260*b40554a2SAndroid Build Coastguard Worker}
261*b40554a2SAndroid Build Coastguard Worker
262*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
263*b40554a2SAndroid Build Coastguard Worker    name: "libpanic_unwind.rust_sysroot",
264*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
265*b40554a2SAndroid Build Coastguard Worker    crate_name: "panic_unwind",
266*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/panic_unwind/src/lib.rs",
267*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
268*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/panic_unwind/src/**/*.rs",
269*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/panic_unwind/src/**/*.md",
270*b40554a2SAndroid Build Coastguard Worker    ],
271*b40554a2SAndroid Build Coastguard Worker    rlibs: [
272*b40554a2SAndroid Build Coastguard Worker        "liballoc.rust_sysroot",
273*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
274*b40554a2SAndroid Build Coastguard Worker        "liblibc.rust_sysroot",
275*b40554a2SAndroid Build Coastguard Worker        "libunwind.rust_sysroot",
276*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
277*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_sysroot",
278*b40554a2SAndroid Build Coastguard Worker    ],
279*b40554a2SAndroid Build Coastguard Worker}
280*b40554a2SAndroid Build Coastguard Worker
281*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
282*b40554a2SAndroid Build Coastguard Worker    name: "libunwind.rust_sysroot",
283*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
284*b40554a2SAndroid Build Coastguard Worker    crate_name: "unwind",
285*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/unwind/src/lib.rs",
286*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
287*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/unwind/src/**/*.rs",
288*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/unwind/src/**/*.md",
289*b40554a2SAndroid Build Coastguard Worker    ],
290*b40554a2SAndroid Build Coastguard Worker    rlibs: [
291*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
292*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
293*b40554a2SAndroid Build Coastguard Worker        "liblibc.rust_sysroot",
294*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_sysroot",
295*b40554a2SAndroid Build Coastguard Worker    ],
296*b40554a2SAndroid Build Coastguard Worker}
297*b40554a2SAndroid Build Coastguard Worker
298*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
299*b40554a2SAndroid Build Coastguard Worker    name: "libhashbrown.rust_sysroot",
300*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
301*b40554a2SAndroid Build Coastguard Worker    edition: "2021",
302*b40554a2SAndroid Build Coastguard Worker    crate_name: "hashbrown",
303*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/hashbrown/src/lib.rs",
304*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
305*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/hashbrown/src/**/*.rs",
306*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/hashbrown/src/**/*.md",
307*b40554a2SAndroid Build Coastguard Worker    ],
308*b40554a2SAndroid Build Coastguard Worker    features: [
309*b40554a2SAndroid Build Coastguard Worker        "alloc",
310*b40554a2SAndroid Build Coastguard Worker        "compiler_builtins",
311*b40554a2SAndroid Build Coastguard Worker        "core",
312*b40554a2SAndroid Build Coastguard Worker        "nightly",
313*b40554a2SAndroid Build Coastguard Worker        "rustc-dep-of-std",
314*b40554a2SAndroid Build Coastguard Worker        "rustc-internal-api",
315*b40554a2SAndroid Build Coastguard Worker    ],
316*b40554a2SAndroid Build Coastguard Worker    cfgs: ["has_extern_crate_alloc"],
317*b40554a2SAndroid Build Coastguard Worker    rlibs: [
318*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
319*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
320*b40554a2SAndroid Build Coastguard Worker        "liballoc.rust_sysroot",
321*b40554a2SAndroid Build Coastguard Worker        "libunwind.rust_sysroot",
322*b40554a2SAndroid Build Coastguard Worker    ],
323*b40554a2SAndroid Build Coastguard Worker}
324*b40554a2SAndroid Build Coastguard Worker
325*b40554a2SAndroid Build Coastguard Worker// Top level sysroot libraries are available both as static and dynamic
326*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library {
327*b40554a2SAndroid Build Coastguard Worker    name: "libstd",
328*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
329*b40554a2SAndroid Build Coastguard Worker    crate_name: "std",
330*b40554a2SAndroid Build Coastguard Worker    target: {
331*b40554a2SAndroid Build Coastguard Worker        linux_bionic: {
332*b40554a2SAndroid Build Coastguard Worker            rlibs: ["libpanic_abort.rust_sysroot"],
333*b40554a2SAndroid Build Coastguard Worker        },
334*b40554a2SAndroid Build Coastguard Worker        linux_musl: {
335*b40554a2SAndroid Build Coastguard Worker            rlibs: [
336*b40554a2SAndroid Build Coastguard Worker                "libpanic_abort.rust_sysroot",
337*b40554a2SAndroid Build Coastguard Worker                "libpanic_unwind.rust_sysroot",
338*b40554a2SAndroid Build Coastguard Worker            ],
339*b40554a2SAndroid Build Coastguard Worker        },
340*b40554a2SAndroid Build Coastguard Worker        android: {
341*b40554a2SAndroid Build Coastguard Worker            rlibs: ["libpanic_abort.rust_sysroot"],
342*b40554a2SAndroid Build Coastguard Worker        },
343*b40554a2SAndroid Build Coastguard Worker    },
344*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/std/src/lib.rs",
345*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
346*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/std/src/**/*.rs",
347*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/std/src/**/*.md",
348*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/std/primitive_docs/*.md",
349*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/core/src/**/*.md",
350*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/backtrace/src/**/*.rs",
351*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/backtrace/src/**/*.md",
352*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/portable-simd/crates/std_float/src/**/*.rs",
353*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/portable-simd/crates/std_float/src/**/*.md",
354*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/core_arch/src/**/*.md",
355*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/stdarch/crates/core_simd/src/**/*.md",
356*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/portable-simd/crates/core_simd/src/**/*.md",
357*b40554a2SAndroid Build Coastguard Worker    ],
358*b40554a2SAndroid Build Coastguard Worker    cfgs: ["backtrace_in_libstd"],
359*b40554a2SAndroid Build Coastguard Worker    features: [
360*b40554a2SAndroid Build Coastguard Worker        "default",
361*b40554a2SAndroid Build Coastguard Worker        "std_detect_dlsym_getauxval",
362*b40554a2SAndroid Build Coastguard Worker        "std_detect_file_io",
363*b40554a2SAndroid Build Coastguard Worker        "profiler",
364*b40554a2SAndroid Build Coastguard Worker        "compiler-builtins-weak-intrinsics",
365*b40554a2SAndroid Build Coastguard Worker    ],
366*b40554a2SAndroid Build Coastguard Worker    rlibs: [
367*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
368*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
369*b40554a2SAndroid Build Coastguard Worker        "librustc_demangle.rust_sysroot",
370*b40554a2SAndroid Build Coastguard Worker        "liblibc.rust_sysroot",
371*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_sysroot",
372*b40554a2SAndroid Build Coastguard Worker        "liballoc.rust_sysroot",
373*b40554a2SAndroid Build Coastguard Worker        "libhashbrown.rust_sysroot",
374*b40554a2SAndroid Build Coastguard Worker        "libunwind.rust_sysroot",
375*b40554a2SAndroid Build Coastguard Worker        "libprofiler_builtins.rust_sysroot",
376*b40554a2SAndroid Build Coastguard Worker        "libstd_detect.rust_sysroot",
377*b40554a2SAndroid Build Coastguard Worker    ],
378*b40554a2SAndroid Build Coastguard Worker}
379*b40554a2SAndroid Build Coastguard Worker
380*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
381*b40554a2SAndroid Build Coastguard Worker    name: "libprofiler_builtins.rust_sysroot",
382*b40554a2SAndroid Build Coastguard Worker    defaults: ["rust_sysroot_defaults"],
383*b40554a2SAndroid Build Coastguard Worker    crate_name: "profiler_builtins",
384*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/profiler_builtins/src/lib.rs",
385*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
386*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/profiler_builtins/src/**/*.rs",
387*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/profiler_builtins/src/**/*.md",
388*b40554a2SAndroid Build Coastguard Worker    ],
389*b40554a2SAndroid Build Coastguard Worker    rlibs: [
390*b40554a2SAndroid Build Coastguard Worker        "libcompiler_builtins.rust_sysroot",
391*b40554a2SAndroid Build Coastguard Worker        "libcore.rust_sysroot",
392*b40554a2SAndroid Build Coastguard Worker    ],
393*b40554a2SAndroid Build Coastguard Worker}
394*b40554a2SAndroid Build Coastguard Worker
395*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library {
396*b40554a2SAndroid Build Coastguard Worker    name: "libgetopts",
397*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
398*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
399*b40554a2SAndroid Build Coastguard Worker    product_available: true,
400*b40554a2SAndroid Build Coastguard Worker    crate_name: "getopts",
401*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/getopts/src/lib.rs",
402*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
403*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/getopts/src/**/*.rs",
404*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/getopts/src/**/*.md",
405*b40554a2SAndroid Build Coastguard Worker    ],
406*b40554a2SAndroid Build Coastguard Worker    rlibs: ["libunicode_width.rust_toolchain"],
407*b40554a2SAndroid Build Coastguard Worker    edition: "2015",
408*b40554a2SAndroid Build Coastguard Worker    apex_available: [
409*b40554a2SAndroid Build Coastguard Worker        "//apex_available:platform",
410*b40554a2SAndroid Build Coastguard Worker        "com.android.virt",
411*b40554a2SAndroid Build Coastguard Worker    ],
412*b40554a2SAndroid Build Coastguard Worker}
413*b40554a2SAndroid Build Coastguard Worker
414*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library {
415*b40554a2SAndroid Build Coastguard Worker    name: "libtest",
416*b40554a2SAndroid Build Coastguard Worker    crate_name: "test",
417*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
418*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
419*b40554a2SAndroid Build Coastguard Worker    product_available: true,
420*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/library/test/src/lib.rs",
421*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
422*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/test/src/**/*.rs",
423*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/library/test/src/**/*.md",
424*b40554a2SAndroid Build Coastguard Worker    ],
425*b40554a2SAndroid Build Coastguard Worker    rlibs: [
426*b40554a2SAndroid Build Coastguard Worker        "liblibc.rust_toolchain",
427*b40554a2SAndroid Build Coastguard Worker        "libcfg_if.rust_toolchain",
428*b40554a2SAndroid Build Coastguard Worker        "libgetopts",
429*b40554a2SAndroid Build Coastguard Worker    ],
430*b40554a2SAndroid Build Coastguard Worker}
431*b40554a2SAndroid Build Coastguard Worker
432*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
433*b40554a2SAndroid Build Coastguard Worker    name: "libunicode_width.rust_toolchain",
434*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
435*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
436*b40554a2SAndroid Build Coastguard Worker    product_available: true,
437*b40554a2SAndroid Build Coastguard Worker    crate_name: "unicode_width",
438*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/unicode-width/src/lib.rs",
439*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
440*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/unicode-width/src/**/*.rs",
441*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/unicode-width/src/**/*.md",
442*b40554a2SAndroid Build Coastguard Worker    ],
443*b40554a2SAndroid Build Coastguard Worker    edition: "2015",
444*b40554a2SAndroid Build Coastguard Worker    apex_available: [
445*b40554a2SAndroid Build Coastguard Worker        "//apex_available:platform",
446*b40554a2SAndroid Build Coastguard Worker        "com.android.virt",
447*b40554a2SAndroid Build Coastguard Worker    ],
448*b40554a2SAndroid Build Coastguard Worker}
449*b40554a2SAndroid Build Coastguard Worker
450*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
451*b40554a2SAndroid Build Coastguard Worker    name: "libcfg_if.rust_toolchain",
452*b40554a2SAndroid Build Coastguard Worker    crate_name: "cfg_if",
453*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
454*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
455*b40554a2SAndroid Build Coastguard Worker    product_available: true,
456*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/cfg-if/src/lib.rs",
457*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
458*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/cfg-if/src/**/*.rs",
459*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/cfg-if/src/**/*.md",
460*b40554a2SAndroid Build Coastguard Worker    ],
461*b40554a2SAndroid Build Coastguard Worker}
462*b40554a2SAndroid Build Coastguard Worker
463*b40554a2SAndroid Build Coastguard Workerrust_toolchain_library_rlib {
464*b40554a2SAndroid Build Coastguard Worker    name: "liblibc.rust_toolchain",
465*b40554a2SAndroid Build Coastguard Worker    crate_name: "libc",
466*b40554a2SAndroid Build Coastguard Worker    host_supported: true,
467*b40554a2SAndroid Build Coastguard Worker    vendor_available: true,
468*b40554a2SAndroid Build Coastguard Worker    product_available: true,
469*b40554a2SAndroid Build Coastguard Worker    toolchain_crate_root: stdlibs_src_path + "/vendor/libc/src/lib.rs",
470*b40554a2SAndroid Build Coastguard Worker    toolchain_srcs: [
471*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/libc/src/**/*.rs",
472*b40554a2SAndroid Build Coastguard Worker        stdlibs_src_path + "/vendor/libc/src/**/*.md",
473*b40554a2SAndroid Build Coastguard Worker    ],
474*b40554a2SAndroid Build Coastguard Worker    cfgs: [
475*b40554a2SAndroid Build Coastguard Worker        "freebsd11",
476*b40554a2SAndroid Build Coastguard Worker        "libc_priv_mod_use",
477*b40554a2SAndroid Build Coastguard Worker        "libc_union",
478*b40554a2SAndroid Build Coastguard Worker        "libc_const_size_of",
479*b40554a2SAndroid Build Coastguard Worker        "libc_align",
480*b40554a2SAndroid Build Coastguard Worker        "libc_core_cvoid",
481*b40554a2SAndroid Build Coastguard Worker        "libc_packedN",
482*b40554a2SAndroid Build Coastguard Worker        "libc_thread_local",
483*b40554a2SAndroid Build Coastguard Worker    ],
484*b40554a2SAndroid Build Coastguard Worker    features: [
485*b40554a2SAndroid Build Coastguard Worker        "std",
486*b40554a2SAndroid Build Coastguard Worker        "align",
487*b40554a2SAndroid Build Coastguard Worker    ],
488*b40554a2SAndroid Build Coastguard Worker    edition: "2015",
489*b40554a2SAndroid Build Coastguard Worker}
490*b40554a2SAndroid Build Coastguard Worker
491*b40554a2SAndroid Build Coastguard Worker// Rustc and Clang have mismatched LLVM versions, cross language LTO may break when LLVM bitcode
492*b40554a2SAndroid Build Coastguard Worker// format changes. Disallow LTO until we can synchronise the versions. http://b/240643019
493*b40554a2SAndroid Build Coastguard Workercc_defaults {
494*b40554a2SAndroid Build Coastguard Worker    name: "rust_static_cc_lib_defaults",
495*b40554a2SAndroid Build Coastguard Worker    visibility: ["//visibility:public"],
496*b40554a2SAndroid Build Coastguard Worker    lto: {
497*b40554a2SAndroid Build Coastguard Worker        never: true,
498*b40554a2SAndroid Build Coastguard Worker    },
499*b40554a2SAndroid Build Coastguard Worker}
500*b40554a2SAndroid Build Coastguard Worker
501*b40554a2SAndroid Build Coastguard Workerrust_stdlib_prebuilt_filegroup_host {
502*b40554a2SAndroid Build Coastguard Worker    name: "stdlib_prebuilts",
503*b40554a2SAndroid Build Coastguard Worker    srcs: [
504*b40554a2SAndroid Build Coastguard Worker        "**/*.rlib",
505*b40554a2SAndroid Build Coastguard Worker        "**/*.a",
506*b40554a2SAndroid Build Coastguard Worker        "**/*.so",
507*b40554a2SAndroid Build Coastguard Worker        "**/*.dylib",
508*b40554a2SAndroid Build Coastguard Worker    ],
509*b40554a2SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
510*b40554a2SAndroid Build Coastguard Worker}
511*b40554a2SAndroid Build Coastguard Worker
512*b40554a2SAndroid Build Coastguard Workerrust_toolchain_rustc_prebuilt {
513*b40554a2SAndroid Build Coastguard Worker    name: "rustc",
514*b40554a2SAndroid Build Coastguard Worker    toolchain_prebuilt_src: "bin/rustc",
515*b40554a2SAndroid Build Coastguard Worker    toolchain_deps: [
516*b40554a2SAndroid Build Coastguard Worker        "lib/*",
517*b40554a2SAndroid Build Coastguard Worker        "lib64/*",
518*b40554a2SAndroid Build Coastguard Worker    ],
519*b40554a2SAndroid Build Coastguard Worker    deps: [
520*b40554a2SAndroid Build Coastguard Worker        ":gcc.lib",
521*b40554a2SAndroid Build Coastguard Worker        ":gcc.lib32",
522*b40554a2SAndroid Build Coastguard Worker        ":gcc.lib64",
523*b40554a2SAndroid Build Coastguard Worker        ":gcc.sysroot",
524*b40554a2SAndroid Build Coastguard Worker        ":stdlib_prebuilts",
525*b40554a2SAndroid Build Coastguard Worker    ],
526*b40554a2SAndroid Build Coastguard Worker}
527*b40554a2SAndroid Build Coastguard Worker
528*b40554a2SAndroid Build Coastguard Workerrust_toolchain_rustc_prebuilt {
529*b40554a2SAndroid Build Coastguard Worker    name: "clippy-driver",
530*b40554a2SAndroid Build Coastguard Worker    toolchain_prebuilt_src: "bin/clippy-driver",
531*b40554a2SAndroid Build Coastguard Worker}
532*b40554a2SAndroid Build Coastguard Worker
533*b40554a2SAndroid Build Coastguard Workerrust_toolchain_rustc_prebuilt {
534*b40554a2SAndroid Build Coastguard Worker    name: "rustdoc",
535*b40554a2SAndroid Build Coastguard Worker    toolchain_prebuilt_src: "bin/rustdoc",
536*b40554a2SAndroid Build Coastguard Worker}
537*b40554a2SAndroid Build Coastguard Worker
538*b40554a2SAndroid Build Coastguard Workerdirgroup {
539*b40554a2SAndroid Build Coastguard Worker    name: "trusty_dirgroup_prebuilts_rust",
540*b40554a2SAndroid Build Coastguard Worker    dirs: ["."],
541*b40554a2SAndroid Build Coastguard Worker    visibility: ["//trusty/vendor/google/aosp/scripts"],
542*b40554a2SAndroid Build Coastguard Worker}
543