xref: /aosp_15_r20/system/server_configurable_flags/libflags/Android.bp (revision 207333786ba243bc7d4d69ef6b05487aa7071806)
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5cc_library {
6    name: "server_configurable_flags",
7    srcs: ["server_configurable_flags.cc"],
8    host_supported: true,
9    vendor_available: true,
10    double_loadable: true,
11    product_available: true,
12    shared_libs: [
13        "libbase",
14        "libcutils",
15    ],
16    cflags: [
17        "-Wall",
18        "-Werror",
19    ],
20    export_include_dirs: ["include"],
21    apex_available: [
22        "//apex_available:platform",
23        "//apex_available:anyapex",
24    ],
25    min_sdk_version: "29",
26    afdo: true,
27    target: {
28        windows: {
29            enabled: true,
30        },
31    },
32}
33
34// Tests
35// ------------------------------------------------------------------------------
36cc_test {
37    name: "server_configurable_flags_test",
38    cflags: [
39        "-Wall",
40        "-Werror",
41        "-Wextra",
42    ],
43    srcs: [
44        "server_configurable_flags_test.cc",
45    ],
46    shared_libs: [
47        "server_configurable_flags",
48        "libbase",
49    ],
50    local_include_dirs: ["."],
51    test_suites: ["device-tests"],
52}
53
54cc_library_static {
55    name: "libflags_rust_cpp_bridge",
56    srcs: ["rust_get_flags.cpp"],
57    generated_headers: ["cxx-bridge-header"],
58    generated_sources: ["libflags_rust_generated_cpp_bridge"],
59    apex_available: [
60        "//apex_available:platform",
61        "//apex_available:anyapex",
62    ],
63    host_supported: true,
64    min_sdk_version: "33",
65}
66
67genrule {
68    name: "libflags_rust_generated_cpp_bridge",
69    tools: ["cxxbridge"],
70    cmd: "$(location cxxbridge) $(in) >> $(out)",
71    srcs: ["lib.rs"],
72    out: ["rust_libflags_cxx_generated.cc"],
73}
74
75rust_library {
76    name: "libflags_rust",
77    crate_name: "flags_rust",
78    srcs: ["lib.rs"],
79    rustlibs: ["libcxx"],
80    static_libs: ["libflags_rust_cpp_bridge"],
81    shared_libs: [
82        "libc++",
83        "server_configurable_flags",
84    ],
85    apex_available: [
86        "//apex_available:platform",
87        "//apex_available:anyapex",
88    ],
89    host_supported: true,
90    min_sdk_version: "33",
91}
92