aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
blob: af1d5f1dd34d8b6bf52f580dbb09f17cc41d1768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_protobuf_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_protobuf_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE.txt",
    ],
}

genrule {
    name: "copy_protobuf_build_out",
    srcs: ["out/*"],
    cmd: "cp $(in) $(genDir)",
    out: ["version.rs"],
}

rust_library {
    name: "libprotobuf",
    // has rustc warnings
    host_supported: true,
    crate_name: "protobuf",
    cargo_env_compat: true,
    cargo_pkg_version: "2.27.1",
    srcs: [
        "src/lib.rs",
        ":copy_protobuf_build_out",
    ],
    edition: "2018",
    features: ["bytes"],
    rustlibs: [
        "libbytes",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.btservices",
        "com.android.compos",
        "com.android.virt",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}

rust_library_host {
    name: "libprotobuf_with_serde",
    // has rustc warnings
    crate_name: "protobuf",
    cargo_env_compat: true,
    cargo_pkg_version: "2.27.1",
    srcs: [
        "src/lib.rs",
        ":copy_protobuf_build_out",
    ],
    edition: "2018",
    features: [
        "serde",
        "serde_derive",
        "with-serde",
    ],
    rustlibs: [
        "libserde",
    ],
    proc_macros: ["libserde_derive"],
    product_available: true,
    vendor_available: true,
}