1package {
2    default_team: "trendy_team_native_tools_libraries",
3    // See: http://go/android-license-faq
4    // A large-scale-change added 'default_applicable_licenses' to import
5    // all of the 'license_kinds' from "bionic_libc_license"
6    // to get the below license kinds:
7    //   SPDX-license-identifier-Apache-2.0
8    //   SPDX-license-identifier-BSD
9    default_applicable_licenses: ["bionic_libc_license"],
10}
11
12cc_library_static {
13    name: "libsystemproperties",
14    defaults: [
15        "libc_defaults",
16        "large_system_property_node_defaults",
17    ],
18    native_bridge_supported: true,
19    srcs: [
20        "context_node.cpp",
21        "contexts_split.cpp",
22        "contexts_serialized.cpp",
23        "prop_area.cpp",
24        "prop_info.cpp",
25        "system_properties.cpp",
26    ],
27    whole_static_libs: [
28        "libpropertyinfoparser",
29    ],
30    header_libs: [
31        "libasync_safe_headers",
32    ],
33
34    include_dirs: [
35        "bionic/libc",
36        "bionic/libstdc++/include",
37    ],
38    export_include_dirs: ["include"],
39    apex_available: [
40        "com.android.runtime",
41    ],
42}
43
44cc_benchmark {
45    name: "property_context_lookup_benchmark",
46    srcs: [
47        "context_lookup_benchmark.cpp",
48    ],
49    include_dirs: [
50        "bionic/libc",
51    ],
52
53    shared_libs: ["libbase"],
54    static_libs: [
55        "libpropertyinfoserializer",
56        "libsystemproperties",
57        "libasync_safe",
58    ],
59}
60
61soong_config_module_type {
62    name: "large_system_property_node_cc_defaults",
63    module_type: "cc_defaults",
64    config_namespace: "bionic",
65    bool_variables: [
66        "large_system_property_node",
67    ],
68    properties: [
69        "cflags",
70    ],
71}
72
73soong_config_bool_variable {
74    name: "large_system_property_node",
75}
76
77large_system_property_node_cc_defaults {
78    name: "large_system_property_node_defaults",
79    soong_config_variables: {
80        large_system_property_node: {
81            cflags: ["-DLARGE_SYSTEM_PROPERTY_NODE=1"]
82        }
83    }
84}
85