1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5soong_config_module_type {
6    name: "lmkd_hooks_cc_defaults",
7    module_type: "cc_defaults",
8    config_namespace: "lmkd",
9    bool_variables: ["use_hooks"],
10    properties: [
11        "cflags",
12        "static_libs",
13    ],
14}
15
16lmkd_hooks_cc_defaults {
17    name: "lmkd_hooks_defaults",
18
19    soong_config_variables: {
20        use_hooks: {
21            cflags: [
22                "-DLMKD_USE_HOOKS",
23            ],
24            static_libs: [
25                "liblmkdhooks",
26            ],
27        },
28    },
29}
30
31cc_defaults {
32    name: "stats_defaults",
33    cflags: [
34        "-DLMKD_LOG_STATS",
35    ],
36}
37
38cc_binary {
39    name: "lmkd",
40
41    srcs: [
42        "lmkd.cpp",
43        "reaper.cpp",
44        "watchdog.cpp",
45    ],
46    shared_libs: [
47        "libbase",
48        "libcutils",
49        "liblog",
50        "libmemevents",
51        "libprocessgroup",
52        "libpsi",
53    ],
54    static_libs: [
55        "libstatslogc",
56        "liblmkd_utils",
57    ],
58    header_libs: [
59        "bpf_headers",
60    ],
61    local_include_dirs: ["include"],
62    cflags: [
63        "-Wall",
64        "-Werror",
65        "-Wextra",
66        "-DLMKD_TRACE_KILLS",
67    ],
68    init_rc: ["lmkd.rc"],
69    defaults: [
70        "stats_defaults",
71        "lmkd_hooks_defaults",
72    ],
73    logtags: ["event.logtags"],
74    afdo: true,
75}
76
77cc_library_static {
78    name: "libstatslogc",
79    srcs: ["statslog.cpp"],
80    local_include_dirs: ["include"],
81    cflags: [
82        "-Wall",
83        "-Werror",
84        "-Wextra",
85    ],
86    defaults: ["stats_defaults"],
87    shared_libs: [
88        "liblog",
89        "libprocessgroup",
90    ],
91}
92
93cc_library_static {
94    name: "liblmkd_utils",
95    srcs: ["liblmkd_utils.cpp"],
96    recovery_available: true,
97    shared_libs: [
98        "libcutils",
99        "libprocessgroup",
100    ],
101    export_include_dirs: ["include"],
102    cppflags: [
103        "-g",
104        "-Wall",
105        "-Werror",
106    ],
107}
108