aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
blob: d69c7a56e7386e4c4ebd9134349da7d5f726837d (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// This file is generated by cargo2android.py --run --device --dependencies --tests --patch=patches/Android.bp.patch.

cc_library_headers {
    name: "libquiche_ffi_headers",
    export_include_dirs: ["include"],
    apex_available: [
        "//apex_available:platform",
        "com.android.resolv",
    ],
    min_sdk_version: "29",
}

rust_defaults {
    name: "libquiche_defaults",
    stem: "libquiche",
    host_supported: true,
    crate_name: "quiche",
    srcs: ["src/lib.rs"],
    edition: "2018",
    features: [
        "boringssl",
        "default",
    ],
    // Link all crates statically to create a self-contained .so library.
    rlibs: [
        "liblazy_static",
        "liblibc",
        "liblibm",
        "liblog_rust",
        "libring",
    ],
    prefer_rlib: true,
    shared_libs: [
        "libcrypto",
        "libssl",
    ],
    // For DnsResolver (Mainline module introduced in Q).
    apex_available: [
        "//apex_available:platform",
        "com.android.resolv",
    ],
    min_sdk_version: "29",
}

rust_ffi {
    name: "libquiche_ffi",
    defaults: ["libquiche_defaults"],
}

rust_library {
    name: "libquiche",
    defaults: ["libquiche_defaults"],
}

rust_defaults {
    name: "quiche_defaults",
    crate_name: "quiche",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: [
        "boringssl",
        "default",
    ],
    rustlibs: [
        "liblazy_static",
        "liblibc",
        "liblibm",
        "liblog_rust",
        "libmio",
        "libring",
        "liburl",
    ],
    shared_libs: [
        "libcrypto",
        "libssl",
    ],
    data: [
        "examples/cert.crt",
        "examples/cert.key",
        "examples/cert-big.crt",
        "examples/rootca.crt",
    ]
}

rust_test_host {
    name: "quiche_host_test_src_lib",
    defaults: ["quiche_defaults"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "quiche_device_test_src_lib",
    defaults: ["quiche_defaults"],
}

// dependent_library ["feature_list"]
//   cc-1.0.66
//   cfg-if-0.1.10
//   cfg-if-1.0.0
//   cmake-0.1.45
//   idna-0.1.5
//   iovec-0.1.4
//   lazy_static-1.4.0
//   libc-0.2.85 "default,std"
//   libm-0.2.1 "default"
//   log-0.4.14 "std"
//   matches-0.1.8
//   mio-0.6.23 "default,with-deprecated"
//   net2-0.2.37 "default,duration"
//   once_cell-1.5.2 "alloc,std"
//   percent-encoding-1.0.1
//   ring-0.16.20 "alloc,default,dev_urandom_fallback,once_cell"
//   slab-0.4.2
//   spin-0.5.2
//   tinyvec-1.1.1 "alloc,default,tinyvec_macros"
//   tinyvec_macros-0.1.0
//   unicode-bidi-0.3.4 "default"
//   unicode-normalization-0.1.16 "default,std"
//   untrusted-0.7.1
//   url-1.7.2