1// This file is generated by cargo2android.py --run --device --tests --dependencies --global_defaults=crosvm_defaults --add_workspace.
2
3package {
4    // See: http://go/android-license-faq
5    // A large-scale-change added 'default_applicable_licenses' to import
6    // all of the 'license_kinds' from "external_crosvm_license"
7    // to get the below license kinds:
8    //   SPDX-license-identifier-BSD
9    default_applicable_licenses: ["external_crosvm_license"],
10}
11
12rust_defaults {
13    name: "aarch64_defaults",
14    defaults: ["crosvm_defaults"],
15    crate_name: "aarch64",
16    // has rustc warnings
17    srcs: ["src/lib.rs"],
18    test_suites: ["general-tests"],
19    auto_gen_config: true,
20    edition: "2018",
21    rustlibs: [
22        "libarch",
23        "libbase_rust",
24        "libdata_model",
25        "libdevices",
26        "libhypervisor",
27        "libkernel_cmdline",
28        "libkvm",
29        "libkvm_sys",
30        "liblibc",
31        "libminijail_rust",
32        "libresources",
33        "libsync_rust",
34        "libvm_control",
35        "libvm_memory",
36    ],
37    proc_macros: ["libremain"],
38    target: {
39        // It is necessary to disable this specifically as well as the arch below, because
40        // crosvm_defaults enables it and the more specific target apparently takes precedence over
41        // the less specific arch.
42        linux_glibc_x86_64: {
43            enabled: false,
44        },
45    },
46    arch: {
47        x86_64: {
48            enabled: false,
49        },
50    },
51}
52
53rust_test_host {
54    name: "aarch64_host_test_src_lib",
55    defaults: ["aarch64_defaults"],
56    test_options: {
57        unit_test: true,
58    },
59}
60
61rust_test {
62    name: "aarch64_device_test_src_lib",
63    defaults: ["aarch64_defaults"],
64}
65
66rust_library {
67    name: "libaarch64",
68    defaults: ["crosvm_defaults"],
69    // has rustc warnings
70    host_supported: true,
71    crate_name: "aarch64",
72    srcs: ["src/lib.rs"],
73    edition: "2018",
74    rustlibs: [
75        "libarch",
76        "libbase_rust",
77        "libdata_model",
78        "libdevices",
79        "libhypervisor",
80        "libkernel_cmdline",
81        "libkvm",
82        "libkvm_sys",
83        "liblibc",
84        "libminijail_rust",
85        "libresources",
86        "libsync_rust",
87        "libvm_control",
88        "libvm_memory",
89    ],
90    proc_macros: ["libremain"],
91    target: {
92        // It is necessary to disable this specifically as well as the arch below, because
93        // crosvm_defaults enables it and the more specific target apparently takes precedence over
94        // the less specific arch.
95        linux_glibc_x86_64: {
96            enabled: false,
97        },
98    },
99    arch: {
100        x86_64: {
101            enabled: false,
102        },
103    },
104}
105
106// dependent_library ["feature_list"]
107//   ../../adhd/audio_streams/src/audio_streams.rs
108//   ../../adhd/cras/client/cras-sys/src/lib.rs
109//   ../../adhd/cras/client/libcras/src/libcras.rs
110//   ../../libchromeos-rs/src/lib.rs
111//   ../../minijail/rust/minijail-sys/lib.rs
112//   ../../minijail/rust/minijail/src/lib.rs
113//   ../../vm_tools/p9/src/lib.rs
114//   ../../vm_tools/p9/wire_format_derive/wire_format_derive.rs
115//   ../acpi_tables/src/lib.rs
116//   ../arch/src/lib.rs
117//   ../assertions/src/lib.rs
118//   ../base/src/lib.rs
119//   ../bit_field/bit_field_derive/bit_field_derive.rs
120//   ../bit_field/src/lib.rs
121//   ../cros_async/src/lib.rs
122//   ../data_model/src/lib.rs
123//   ../devices/src/lib.rs
124//   ../disk/src/disk.rs
125//   ../enumn/src/lib.rs
126//   ../fuse/src/lib.rs
127//   ../hypervisor/src/lib.rs
128//   ../io_uring/src/lib.rs
129//   ../kernel_cmdline/src/kernel_cmdline.rs
130//   ../kvm/src/lib.rs
131//   ../kvm_sys/src/lib.rs
132//   ../linux_input_sys/src/lib.rs
133//   ../net_sys/src/lib.rs
134//   ../net_util/src/lib.rs
135//   ../power_monitor/src/lib.rs
136//   ../rand_ish/src/lib.rs
137//   ../resources/src/lib.rs
138//   ../rutabaga_gfx/src/lib.rs
139//   ../sync/src/lib.rs
140//   ../sys_util/poll_token_derive/poll_token_derive.rs
141//   ../sys_util/src/lib.rs
142//   ../syscall_defines/src/lib.rs
143//   ../tempfile/src/lib.rs
144//   ../usb_sys/src/lib.rs
145//   ../usb_util/src/lib.rs
146//   ../vfio_sys/src/lib.rs
147//   ../vhost/src/lib.rs
148//   ../virtio_sys/src/lib.rs
149//   ../vm_control/src/lib.rs
150//   ../vm_memory/src/lib.rs
151//   async-task-4.0.3 "default,std"
152//   async-trait-0.1.45
153//   autocfg-1.0.1
154//   base-0.1.0
155//   bitflags-1.2.1 "default"
156//   cfg-if-1.0.0
157//   downcast-rs-1.2.0 "default,std"
158//   futures-0.3.13 "alloc,async-await,default,executor,futures-executor,std"
159//   futures-channel-0.3.13 "alloc,futures-sink,sink,std"
160//   futures-core-0.3.13 "alloc,std"
161//   futures-executor-0.3.13 "std"
162//   futures-io-0.3.13 "std"
163//   futures-macro-0.3.13
164//   futures-sink-0.3.13 "alloc,std"
165//   futures-task-0.3.13 "alloc,std"
166//   futures-util-0.3.13 "alloc,async-await,async-await-macro,channel,futures-channel,futures-io,futures-macro,futures-sink,io,memchr,proc-macro-hack,proc-macro-nested,sink,slab,std"
167//   getrandom-0.2.2 "std"
168//   intrusive-collections-0.9.0 "alloc,default"
169//   libc-0.2.87 "default,std"
170//   log-0.4.14
171//   memchr-2.3.4 "default,std"
172//   memoffset-0.5.6 "default"
173//   paste-1.0.4
174//   pin-project-lite-0.2.6
175//   pin-utils-0.1.0
176//   pkg-config-0.3.19
177//   ppv-lite86-0.2.10 "simd,std"
178//   proc-macro-hack-0.5.19
179//   proc-macro-nested-0.1.7
180//   proc-macro2-1.0.24 "default,proc-macro"
181//   protobuf-2.22.0
182//   quote-1.0.9 "default,proc-macro"
183//   rand-0.8.3 "alloc,default,getrandom,libc,rand_chacha,rand_hc,std,std_rng"
184//   rand_chacha-0.3.0 "std"
185//   rand_core-0.6.2 "alloc,getrandom,std"
186//   remain-0.2.2
187//   remove_dir_all-0.5.3
188//   serde-1.0.123 "default,derive,serde_derive,std"
189//   serde_derive-1.0.123 "default"
190//   slab-0.4.2
191//   syn-1.0.61 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote,visit-mut"
192//   tempfile-3.2.0
193//   thiserror-1.0.24
194//   thiserror-impl-1.0.24
195//   unicode-xid-0.2.1 "default"
196