Snap for 5949240 from 497df9d05d07a791784262596471900a83298793 to sdk-release

Change-Id: If813e0aad1e9be20b1a266fc6bcf6283289b8f53
diff --git a/Android.bp b/Android.bp
index d612393..5fe3ed9 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,3 +1,7 @@
+// This file is generated by cargo2android.py, then added from old Android.bp:
+//   module name, enabled, relative_install_path, target, required,
+//   flags, ld_flags, shared_libs, static_libs.
+
 rust_binary_host {
     name: "crosvm.experimental",
     crate_name: "crosvm",
@@ -35,14 +39,13 @@
     ],
 
     rlibs: [
-        "libassertions",
         "libarch",
+        "libassertions",
         "libaudio_streams",
         "libbit_field",
         "libbyteorder",
         "libdata_model",
         "libdevices",
-        "libgpu_buffer",
         "libio_jail",
         "libkernel_cmdline",
         "libkernel_loader",
@@ -60,10 +63,11 @@
         "libsys_util",
         "libvhost",
         "libvm_control",
+        "libx86_64_rust",
     ],
     proc_macros: [
-        "libremain",
         "libenumn",
+        "libremain",
     ],
     shared_libs: [
         "libminijail",
@@ -77,502 +81,3 @@
         "libfdt",
     ],
 }
-
-rust_library_host_rlib {
-    name: "libvm_control",
-    crate_name: "vm_control",
-    edition: "2018",
-    srcs: ["vm_control/src/lib.rs"],
-
-    features: ["sandboxed-libusb"],
-
-    rlibs: [
-        "libbyteorder",
-        "libdata_model",
-        "libkvm",
-        "libc_rust",
-        "libmsg_socket",
-        "libresources",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libnet_sys",
-    crate_name: "net_sys",
-    edition: "2018",
-    srcs: ["net_sys/src/lib.rs"],
-
-    rlibs: ["libsys_util"],
-}
-
-rust_library_host_rlib {
-    name: "libio_jail",
-    crate_name: "io_jail",
-    edition: "2018",
-    srcs: ["io_jail/src/lib.rs"],
-
-    rlibs: ["libc_rust"],
-}
-
-rust_library_host_rlib {
-    name: "libdevices",
-    deny_warnings: false,
-    crate_name: "devices",
-    edition: "2018",
-    srcs: ["devices/src/lib.rs"],
-
-    features: [
-        "gpu",
-        "wl-dmabuf",
-    ],
-
-    rlibs: [
-        "libaudio_streams",
-        "libbit_field",
-        "libbyteorder",
-        "libdata_model",
-        "libgpu_buffer",
-        "libgpu_display",
-        "libgpu_renderer",
-        "libio_jail",
-        "libkvm",
-        "libc_rust",
-        "libmsg_socket",
-        "libnet_sys",
-        "libnet_util",
-        "libp9",
-        "libresources",
-        "libsync_rust",
-        "libsys_util",
-        "libusb_util",
-        "libvhost",
-        "libvirtio_sys",
-        "libvm_control",
-    ],
-    proc_macros: [
-        "libmsg_on_socket_derive",
-        "libenumn",
-        "libremain",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libnet_util",
-    crate_name: "net_util",
-    edition: "2018",
-    srcs: ["net_util/src/lib.rs"],
-
-    rlibs: [
-        "libc_rust",
-        "libnet_sys",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libkvm_sys",
-    crate_name: "kvm_sys",
-    edition: "2018",
-    srcs: ["kvm_sys/src/lib.rs"],
-
-    rlibs: [
-        "libc_rust",
-        "libsys_util",
-    ],
-}
-
-rust_proc_macro {
-    name: "libpoll_token_derive",
-    crate_name: "poll_token_derive",
-    edition: "2018",
-    srcs: ["sys_util/poll_token_derive/poll_token_derive.rs"],
-
-    rlibs: [
-        "libsyn",
-        "libquote",
-        "libproc_macro2",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libvhost",
-    crate_name: "vhost",
-    edition: "2018",
-    srcs: ["vhost/src/lib.rs"],
-
-    rlibs: [
-        "libassertions",
-        "libc_rust",
-        "libnet_util",
-        "libsys_util",
-        "libvirtio_sys",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libsys_util",
-    deny_warnings: false,
-    edition: "2018",
-    crate_name: "sys_util",
-    srcs: ["sys_util/src/lib.rs"],
-
-    rlibs: [
-        "libdata_model",
-        "libc_rust",
-        "libsync_rust",
-        "libsyscall_defines",
-    ],
-    proc_macros: ["libpoll_token_derive"],
-}
-
-rust_library_host_rlib {
-    name: "libsyscall_defines",
-    crate_name: "syscall_defines",
-    edition: "2018",
-    srcs: ["syscall_defines/src/lib.rs"],
-}
-
-rust_library_host_rlib {
-    name: "libusb_util",
-    crate_name: "usb_util",
-    edition: "2018",
-    srcs: ["usb_util/src/lib.rs"],
-
-    rlibs: [
-        "libassertions",
-        "libdata_model",
-        "libsync_rust",
-    ],
-}
-
-rust_proc_macro {
-    name: "libbit_field_derive",
-    crate_name: "bit_field_derive",
-    edition: "2018",
-    srcs: ["bit_field/bit_field_derive/bit_field_derive.rs"],
-
-    rlibs: [
-        "libproc_macro2",
-        "libquote",
-        "libsyn",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libbit_field",
-    crate_name: "bit_field",
-    edition: "2018",
-    srcs: ["bit_field/src/lib.rs"],
-
-    proc_macros: ["libbit_field_derive"],
-}
-
-rust_library_host_rlib {
-    name: "libdata_model",
-    crate_name: "data_model",
-    edition: "2018",
-    srcs: ["data_model/src/lib.rs"],
-
-    rlibs: ["libassertions"],
-}
-
-rust_library_host_rlib {
-    name: "libtempfile",
-    crate_name: "tempfile",
-    edition: "2018",
-    srcs: ["tempfile/src/lib.rs"],
-
-    rlibs: ["librand_ish"],
-}
-
-rust_library_host_rlib {
-    name: "libassertions",
-    crate_name: "assertions",
-    srcs: ["assertions/src/lib.rs"],
-}
-
-rust_library_host_rlib {
-    name: "libarch",
-    crate_name: "arch",
-    edition: "2018",
-    srcs: ["arch/src/lib.rs"],
-
-    rlibs: [
-        "libbyteorder",
-        "libdevices",
-        "libio_jail",
-        "libkernel_cmdline",
-        "libkvm",
-        "libc_rust",
-        "libresources",
-        "libsync_rust",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libresources",
-    deny_warnings: false,
-    crate_name: "resources",
-    edition: "2018",
-    srcs: ["resources/src/lib.rs"],
-
-    features: ["wl-dmabuf"],
-
-    rlibs: [
-        "libgpu_buffer",
-        "libc_rust",
-        "libmsg_socket",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libvirtio_sys",
-    crate_name: "virtio_sys",
-    edition: "2018",
-    srcs: ["virtio_sys/src/lib.rs"],
-
-    rlibs: ["libsys_util"],
-}
-
-rust_library_host_rlib {
-    name: "libkvm",
-    crate_name: "kvm",
-    edition: "2018",
-    srcs: ["kvm/src/lib.rs"],
-
-    rlibs: [
-        "libkvm_sys",
-        "libmsg_socket",
-        "libc_rust",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libgpu_renderer",
-    crate_name: "gpu_renderer",
-    edition: "2018",
-    srcs: ["gpu_renderer/src/lib.rs"],
-
-    rlibs: [
-        "libdata_model",
-        "libc_rust",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libmsg_socket",
-    crate_name: "msg_socket",
-    edition: "2018",
-    srcs: ["msg_socket/src/lib.rs"],
-
-    rlibs: [
-        "libdata_model",
-        "libsys_util",
-    ],
-    proc_macros: ["libmsg_on_socket_derive"],
-}
-
-rust_proc_macro {
-    name: "libmsg_on_socket_derive",
-    crate_name: "msg_on_socket_derive",
-    edition: "2018",
-    srcs: ["msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs"],
-
-    rlibs: [
-        "libproc_macro2",
-        "libquote",
-        "libsyn",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libqcow",
-    crate_name: "qcow",
-    edition: "2018",
-    srcs: ["qcow/src/qcow.rs"],
-
-    rlibs: [
-        "libbyteorder",
-        "libc_rust",
-        "libsys_util",
-        "libdata_model",
-    ],
-    proc_macros: ["libremain"],
-}
-
-rust_proc_macro {
-    name: "libenumn",
-    crate_name: "enumn",
-    edition: "2018",
-    srcs: ["enumn/src/lib.rs"],
-
-    rlibs: [
-        "libproc_macro2",
-        "libquote",
-        "libsyn",
-    ],
-
-}
-
-rust_library_host_rlib {
-    name: "libgpu_buffer",
-    crate_name: "gpu_buffer",
-    edition: "2018",
-    srcs: ["gpu_buffer/src/lib.rs"],
-
-    rlibs: [
-        "libdata_model",
-        "libsys_util",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libsync_rust",
-    crate_name: "sync",
-    edition: "2018",
-    srcs: ["sync/src/lib.rs"],
-    stem: "libsync",
-}
-
-rust_library_host_rlib {
-    name: "libp9",
-    crate_name: "p9",
-    edition: "2018",
-    srcs: ["p9/src/lib.rs"],
-
-    features: ["trace"],
-
-    rlibs: ["libc_rust"],
-    proc_macros: ["libwire_format_derive"],
-}
-
-rust_proc_macro {
-    name: "libwire_format_derive",
-    crate_name: "wire_format_derive",
-    edition: "2018",
-    srcs: ["p9/wire_format_derive/wire_format_derive.rs"],
-
-    rlibs: [
-        "libproc_macro2",
-        "libquote",
-        "libsyn",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "librand_ish",
-    crate_name: "rand_ish",
-    edition: "2018",
-    srcs: ["rand_ish/src/lib.rs"],
-}
-
-rust_library_host_rlib {
-    name: "libx86_64_rust",
-    crate_name: "x86_64",
-    edition: "2018",
-    srcs: ["x86_64/src/lib.rs"],
-    stem: "libx86_64",
-
-    rlibs: [
-        "libarch",
-        "libassertions",
-        "libbyteorder",
-        "libdata_model",
-        "libdevices",
-        "libio_jail",
-        "libkernel_cmdline",
-        "libkernel_loader",
-        "libkvm",
-        "libkvm_sys",
-        "libc_rust",
-        "libresources",
-        "libsync_rust",
-        "libsys_util",
-    ],
-    proc_macros: ["libremain"],
-    static_libs: ["libhost_cpuid"],
-}
-
-cc_library_host_static {
-    name: "libhost_cpuid",
-    srcs: ["x86_64/host_cpuid.c"],
-}
-
-rust_library_host_rlib {
-    name: "libgpu_display",
-    crate_name: "gpu_display",
-    edition: "2018",
-    srcs: ["gpu_display/src/lib.rs"],
-
-    rlibs: [
-        "libdata_model",
-        "libc_rust",
-        "libsys_util",
-    ],
-    static_libs: ["libdisplay_wl"],
-}
-
-cc_library_host_static {
-    name: "libdisplay_wl",
-    c_std: "c11",
-    srcs: ["gpu_display/src/display_wl.c"],
-
-    generated_sources: ["gpu_display_protocol_sources"],
-    generated_headers: ["gpu_display_client_protocol_headers"],
-    export_generated_headers: ["gpu_display_client_protocol_headers"],
-
-    static_libs: ["libwayland_client"],
-}
-
-wayland_protocol_codegen {
-    name: "gpu_display_protocol_sources",
-    cmd: "$(location wayland_scanner) code < $(in) > $(out)",
-    suffix: ".c",
-    srcs: [
-        "gpu_display/protocol/aura-shell.xml",
-        "gpu_display/protocol/linux-dmabuf-unstable-v1.xml",
-        "gpu_display/protocol/viewporter.xml",
-        "gpu_display/protocol/xdg-shell-unstable-v6.xml",
-    ],
-    tools: ["wayland_scanner"],
-}
-
-wayland_protocol_codegen {
-    name: "gpu_display_client_protocol_headers",
-    cmd: "$(location wayland_scanner) client-header < $(in) > $(out)",
-    suffix: ".h",
-    srcs: [
-        "gpu_display/protocol/aura-shell.xml",
-        "gpu_display/protocol/linux-dmabuf-unstable-v1.xml",
-        "gpu_display/protocol/viewporter.xml",
-        "gpu_display/protocol/xdg-shell-unstable-v6.xml",
-    ],
-    tools: ["wayland_scanner"],
-}
-
-rust_library_host_rlib {
-    name: "libkernel_loader",
-    crate_name: "kernel_loader",
-    edition: "2018",
-    srcs: ["kernel_loader/src/lib.rs"],
-
-    rlibs: [
-        "libsys_util",
-        "libc_rust",
-    ],
-}
-
-rust_library_host_rlib {
-    name: "libkernel_cmdline",
-    deny_warnings: false,
-    crate_name: "kernel_cmdline",
-    edition: "2018",
-    srcs: ["kernel_cmdline/src/kernel_cmdline.rs"],
-
-    rlibs: ["libc_rust"],
-}
diff --git a/arch/Android.bp b/arch/Android.bp
new file mode 100644
index 0000000..3366749
--- /dev/null
+++ b/arch/Android.bp
@@ -0,0 +1,19 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libarch",
+    crate_name: "arch",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libbyteorder",
+        "libdevices",
+        "libio_jail",
+        "libkernel_cmdline",
+        "libkvm",
+        "libc_rust",
+        "libresources",
+        "libsync_rust",
+        "libsys_util",
+    ],
+}
diff --git a/assertions/Android.bp b/assertions/Android.bp
new file mode 100644
index 0000000..c7e5b59
--- /dev/null
+++ b/assertions/Android.bp
@@ -0,0 +1,8 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libassertions",
+    crate_name: "assertions",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+}
diff --git a/bit_field/Android.bp b/bit_field/Android.bp
new file mode 100644
index 0000000..21bf9e7
--- /dev/null
+++ b/bit_field/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libbit_field",
+    crate_name: "bit_field",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    proc_macros: [
+        "libbit_field_derive",
+    ],
+}
diff --git a/bit_field/bit_field_derive/Android.bp b/bit_field/bit_field_derive/Android.bp
new file mode 100644
index 0000000..460b93c
--- /dev/null
+++ b/bit_field/bit_field_derive/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_proc_macro {
+    name: "libbit_field_derive",
+    crate_name: "bit_field_derive",
+    srcs: ["bit_field_derive.rs"],
+    edition: "2018",
+    rlibs: [
+        "libproc_macro2",
+        "libquote",
+        "libsyn",
+    ],
+}
diff --git a/data_model/Android.bp b/data_model/Android.bp
new file mode 100644
index 0000000..478cd3a
--- /dev/null
+++ b/data_model/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libdata_model",
+    crate_name: "data_model",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libassertions",
+    ],
+}
diff --git a/devices/Android.bp b/devices/Android.bp
new file mode 100644
index 0000000..4f67fd6
--- /dev/null
+++ b/devices/Android.bp
@@ -0,0 +1,43 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libdevices",
+    deny_warnings: false,
+    crate_name: "devices",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    features: [
+        "gpu",
+        "gpu_buffer",
+        "gpu_display",
+        "gpu_renderer",
+    ],
+    rlibs: [
+        "libaudio_streams",
+        "libbit_field",
+        "libbyteorder",
+        "libdata_model",
+        "libgpu_buffer",
+        "libgpu_display",
+        "libgpu_renderer",
+        "libio_jail",
+        "libkvm",
+        "libc_rust",
+        "libmsg_socket",
+        "libnet_sys",
+        "libnet_util",
+        "libp9",
+        "libresources",
+        "libsync_rust",
+        "libsys_util",
+        "libusb_util",
+        "libvhost",
+        "libvirtio_sys",
+        "libvm_control",
+    ],
+    proc_macros: [
+        "libenumn",
+        "libmsg_on_socket_derive",
+        "libremain",
+    ],
+}
diff --git a/enumn/Android.bp b/enumn/Android.bp
new file mode 100644
index 0000000..271f584
--- /dev/null
+++ b/enumn/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_proc_macro {
+    name: "libenumn",
+    crate_name: "enumn",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libproc_macro2",
+        "libquote",
+        "libsyn",
+    ],
+}
diff --git a/gpu_buffer/Android.bp b/gpu_buffer/Android.bp
new file mode 100644
index 0000000..334c3c6
--- /dev/null
+++ b/gpu_buffer/Android.bp
@@ -0,0 +1,12 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libgpu_buffer",
+    crate_name: "gpu_buffer",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libdata_model",
+        "libsys_util",
+    ],
+}
diff --git a/gpu_display/Android.bp b/gpu_display/Android.bp
new file mode 100644
index 0000000..a22b449
--- /dev/null
+++ b/gpu_display/Android.bp
@@ -0,0 +1,58 @@
+// This file is manually copied from old Android.bp
+
+// cargo2android.py limitations:
+//   does not handle "-l dylib=wayland-client" yet
+//   does not generate cc_library module yet
+//   does not generate wayland_protocol_codegen module yet
+
+rust_library_host_rlib {
+    name: "libgpu_display",
+    crate_name: "gpu_display",
+    edition: "2018",
+    srcs: ["src/lib.rs"],
+
+    rlibs: [
+        "libdata_model",
+        "libc_rust",
+        "libsys_util",
+    ],
+    static_libs: ["libdisplay_wl"],
+}
+
+cc_library_host_static {
+    name: "libdisplay_wl",
+    c_std: "c11",
+    srcs: ["src/display_wl.c"],
+
+    generated_sources: ["gpu_display_protocol_sources"],
+    generated_headers: ["gpu_display_client_protocol_headers"],
+    export_generated_headers: ["gpu_display_client_protocol_headers"],
+
+    static_libs: ["libwayland_client"],
+}
+
+wayland_protocol_codegen {
+    name: "gpu_display_protocol_sources",
+    cmd: "$(location wayland_scanner) code < $(in) > $(out)",
+    suffix: ".c",
+    srcs: [
+        "protocol/aura-shell.xml",
+        "protocol/linux-dmabuf-unstable-v1.xml",
+        "protocol/viewporter.xml",
+        "protocol/xdg-shell-unstable-v6.xml",
+    ],
+    tools: ["wayland_scanner"],
+}
+
+wayland_protocol_codegen {
+    name: "gpu_display_client_protocol_headers",
+    cmd: "$(location wayland_scanner) client-header < $(in) > $(out)",
+    suffix: ".h",
+    srcs: [
+        "protocol/aura-shell.xml",
+        "protocol/linux-dmabuf-unstable-v1.xml",
+        "protocol/viewporter.xml",
+        "protocol/xdg-shell-unstable-v6.xml",
+    ],
+    tools: ["wayland_scanner"],
+}
diff --git a/gpu_renderer/Android.bp b/gpu_renderer/Android.bp
new file mode 100644
index 0000000..aaed8da
--- /dev/null
+++ b/gpu_renderer/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libgpu_renderer",
+    crate_name: "gpu_renderer",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libdata_model",
+        "libc_rust",
+        "libsys_util",
+    ],
+}
diff --git a/io_jail/Android.bp b/io_jail/Android.bp
new file mode 100644
index 0000000..99354cc
--- /dev/null
+++ b/io_jail/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libio_jail",
+    crate_name: "io_jail",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+    ],
+}
diff --git a/kernel_cmdline/Android.bp b/kernel_cmdline/Android.bp
new file mode 100644
index 0000000..be051a2
--- /dev/null
+++ b/kernel_cmdline/Android.bp
@@ -0,0 +1,12 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libkernel_cmdline",
+    deny_warnings: false,
+    crate_name: "kernel_cmdline",
+    srcs: ["src/kernel_cmdline.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+    ],
+}
diff --git a/kernel_loader/Android.bp b/kernel_loader/Android.bp
new file mode 100644
index 0000000..4f776eb
--- /dev/null
+++ b/kernel_loader/Android.bp
@@ -0,0 +1,12 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libkernel_loader",
+    crate_name: "kernel_loader",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+        "libsys_util",
+    ],
+}
diff --git a/kvm/Android.bp b/kvm/Android.bp
new file mode 100644
index 0000000..8913047
--- /dev/null
+++ b/kvm/Android.bp
@@ -0,0 +1,14 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libkvm",
+    crate_name: "kvm",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libkvm_sys",
+        "libc_rust",
+        "libmsg_socket",
+        "libsys_util",
+    ],
+}
diff --git a/kvm_sys/Android.bp b/kvm_sys/Android.bp
new file mode 100644
index 0000000..dc4bf54
--- /dev/null
+++ b/kvm_sys/Android.bp
@@ -0,0 +1,12 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libkvm_sys",
+    crate_name: "kvm_sys",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+        "libsys_util",
+    ],
+}
diff --git a/msg_socket/Android.bp b/msg_socket/Android.bp
new file mode 100644
index 0000000..c36feda
--- /dev/null
+++ b/msg_socket/Android.bp
@@ -0,0 +1,15 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libmsg_socket",
+    crate_name: "msg_socket",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libdata_model",
+        "libsys_util",
+    ],
+    proc_macros: [
+        "libmsg_on_socket_derive",
+    ],
+}
diff --git a/msg_socket/msg_on_socket_derive/Android.bp b/msg_socket/msg_on_socket_derive/Android.bp
new file mode 100644
index 0000000..1852bbf
--- /dev/null
+++ b/msg_socket/msg_on_socket_derive/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_proc_macro {
+    name: "libmsg_on_socket_derive",
+    crate_name: "msg_on_socket_derive",
+    srcs: ["msg_on_socket_derive.rs"],
+    edition: "2018",
+    rlibs: [
+        "libproc_macro2",
+        "libquote",
+        "libsyn",
+    ],
+}
diff --git a/net_sys/Android.bp b/net_sys/Android.bp
new file mode 100644
index 0000000..c2f926e
--- /dev/null
+++ b/net_sys/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libnet_sys",
+    crate_name: "net_sys",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libsys_util",
+    ],
+}
diff --git a/net_util/Android.bp b/net_util/Android.bp
new file mode 100644
index 0000000..2faa26c
--- /dev/null
+++ b/net_util/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libnet_util",
+    crate_name: "net_util",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+        "libnet_sys",
+        "libsys_util",
+    ],
+}
diff --git a/p9/Android.bp b/p9/Android.bp
new file mode 100644
index 0000000..0a2fb39
--- /dev/null
+++ b/p9/Android.bp
@@ -0,0 +1,14 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libp9",
+    crate_name: "p9",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+    ],
+    proc_macros: [
+        "libwire_format_derive",
+    ],
+}
diff --git a/p9/wire_format_derive/Android.bp b/p9/wire_format_derive/Android.bp
new file mode 100644
index 0000000..eaab718
--- /dev/null
+++ b/p9/wire_format_derive/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_proc_macro {
+    name: "libwire_format_derive",
+    crate_name: "wire_format_derive",
+    srcs: ["wire_format_derive.rs"],
+    edition: "2018",
+    rlibs: [
+        "libproc_macro2",
+        "libquote",
+        "libsyn",
+    ],
+}
diff --git a/qcow/Android.bp b/qcow/Android.bp
new file mode 100644
index 0000000..22ffeab
--- /dev/null
+++ b/qcow/Android.bp
@@ -0,0 +1,17 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libqcow",
+    crate_name: "qcow",
+    srcs: ["src/qcow.rs"],
+    edition: "2018",
+    rlibs: [
+        "libbyteorder",
+        "libdata_model",
+        "libc_rust",
+        "libsys_util",
+    ],
+    proc_macros: [
+        "libremain",
+    ],
+}
diff --git a/rand_ish/Android.bp b/rand_ish/Android.bp
new file mode 100644
index 0000000..de1eea8
--- /dev/null
+++ b/rand_ish/Android.bp
@@ -0,0 +1,8 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "librand_ish",
+    crate_name: "rand_ish",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+}
diff --git a/resources/Android.bp b/resources/Android.bp
new file mode 100644
index 0000000..687e726
--- /dev/null
+++ b/resources/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libresources",
+    crate_name: "resources",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libc_rust",
+        "libmsg_socket",
+        "libsys_util",
+    ],
+}
diff --git a/sync/Android.bp b/sync/Android.bp
new file mode 100644
index 0000000..b68c852
--- /dev/null
+++ b/sync/Android.bp
@@ -0,0 +1,9 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libsync_rust",
+    stem: "libsync",
+    crate_name: "sync",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+}
diff --git a/sys_util/Android.bp b/sys_util/Android.bp
new file mode 100644
index 0000000..b559f5f
--- /dev/null
+++ b/sys_util/Android.bp
@@ -0,0 +1,18 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libsys_util",
+    deny_warnings: false,
+    crate_name: "sys_util",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libdata_model",
+        "libc_rust",
+        "libsync_rust",
+        "libsyscall_defines",
+    ],
+    proc_macros: [
+        "libpoll_token_derive",
+    ],
+}
diff --git a/sys_util/poll_token_derive/Android.bp b/sys_util/poll_token_derive/Android.bp
new file mode 100644
index 0000000..7d6f98c
--- /dev/null
+++ b/sys_util/poll_token_derive/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_proc_macro {
+    name: "libpoll_token_derive",
+    crate_name: "poll_token_derive",
+    srcs: ["poll_token_derive.rs"],
+    edition: "2018",
+    rlibs: [
+        "libproc_macro2",
+        "libquote",
+        "libsyn",
+    ],
+}
diff --git a/syscall_defines/Android.bp b/syscall_defines/Android.bp
new file mode 100644
index 0000000..cc5cb17
--- /dev/null
+++ b/syscall_defines/Android.bp
@@ -0,0 +1,8 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libsyscall_defines",
+    crate_name: "syscall_defines",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+}
diff --git a/tempfile/Android.bp b/tempfile/Android.bp
new file mode 100644
index 0000000..227922c
--- /dev/null
+++ b/tempfile/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libtempfile",
+    crate_name: "tempfile",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "librand_ish",
+    ],
+}
diff --git a/usb_util/Android.bp b/usb_util/Android.bp
new file mode 100644
index 0000000..5a616c8
--- /dev/null
+++ b/usb_util/Android.bp
@@ -0,0 +1,13 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libusb_util",
+    crate_name: "usb_util",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libassertions",
+        "libdata_model",
+        "libsync_rust",
+    ],
+}
diff --git a/vhost/Android.bp b/vhost/Android.bp
new file mode 100644
index 0000000..a0e9e02
--- /dev/null
+++ b/vhost/Android.bp
@@ -0,0 +1,15 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libvhost",
+    crate_name: "vhost",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libassertions",
+        "libc_rust",
+        "libnet_util",
+        "libsys_util",
+        "libvirtio_sys",
+    ],
+}
diff --git a/virtio_sys/Android.bp b/virtio_sys/Android.bp
new file mode 100644
index 0000000..7bf4224
--- /dev/null
+++ b/virtio_sys/Android.bp
@@ -0,0 +1,11 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libvirtio_sys",
+    crate_name: "virtio_sys",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libsys_util",
+    ],
+}
diff --git a/vm_control/Android.bp b/vm_control/Android.bp
new file mode 100644
index 0000000..209bdd8
--- /dev/null
+++ b/vm_control/Android.bp
@@ -0,0 +1,17 @@
+// This file is generated by cargo2android.py.
+
+rust_library_host_rlib {
+    name: "libvm_control",
+    crate_name: "vm_control",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libbyteorder",
+        "libdata_model",
+        "libkvm",
+        "libc_rust",
+        "libmsg_socket",
+        "libresources",
+        "libsys_util",
+    ],
+}
diff --git a/x86_64/Android.bp b/x86_64/Android.bp
new file mode 100644
index 0000000..d3451db
--- /dev/null
+++ b/x86_64/Android.bp
@@ -0,0 +1,36 @@
+// This file is generated by cargo2android.py. manual copy of libhost_cpuid
+
+rust_library_host_rlib {
+    name: "libx86_64_rust",
+    stem: "libx86_64",
+    crate_name: "x86_64",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rlibs: [
+        "libarch",
+        "libassertions",
+        "libbyteorder",
+        "libdata_model",
+        "libdevices",
+        "libio_jail",
+        "libkernel_cmdline",
+        "libkernel_loader",
+        "libkvm",
+        "libkvm_sys",
+        "libc_rust",
+        "libresources",
+        "libsync_rust",
+        "libsys_util",
+    ],
+    proc_macros: [
+        "libremain",
+    ],
+    static_libs: [
+        "libhost_cpuid",
+    ],
+}
+
+cc_library_host_static {
+    name: "libhost_cpuid",
+    srcs: ["host_cpuid.c"],
+}