xref: /aosp_15_r20/hardware/interfaces/health/aidl/default/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project
2*4d7e907cSAndroid Build Coastguard Worker//
3*4d7e907cSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*4d7e907cSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*4d7e907cSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*4d7e907cSAndroid Build Coastguard Worker//
7*4d7e907cSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*4d7e907cSAndroid Build Coastguard Worker//
9*4d7e907cSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*4d7e907cSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*4d7e907cSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*4d7e907cSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*4d7e907cSAndroid Build Coastguard Worker// limitations under the License.
14*4d7e907cSAndroid Build Coastguard Worker
15*4d7e907cSAndroid Build Coastguard Workerpackage {
16*4d7e907cSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*4d7e907cSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
18*4d7e907cSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "hardware_interfaces_license"
19*4d7e907cSAndroid Build Coastguard Worker    // to get the below license kinds:
20*4d7e907cSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
21*4d7e907cSAndroid Build Coastguard Worker    default_applicable_licenses: ["hardware_interfaces_license"],
22*4d7e907cSAndroid Build Coastguard Worker}
23*4d7e907cSAndroid Build Coastguard Worker
24*4d7e907cSAndroid Build Coastguard Workercc_defaults {
25*4d7e907cSAndroid Build Coastguard Worker    name: "libhealth_aidl_common_defaults",
26*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
27*4d7e907cSAndroid Build Coastguard Worker        "libbase",
28*4d7e907cSAndroid Build Coastguard Worker        "libbinder_ndk",
29*4d7e907cSAndroid Build Coastguard Worker        "libcutils",
30*4d7e907cSAndroid Build Coastguard Worker        "liblog",
31*4d7e907cSAndroid Build Coastguard Worker        "libutils",
32*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.health-V4-ndk",
33*4d7e907cSAndroid Build Coastguard Worker
34*4d7e907cSAndroid Build Coastguard Worker        // TODO(b/177269435): remove when BatteryMonitor works with AIDL HealthInfo.
35*4d7e907cSAndroid Build Coastguard Worker        "libhidlbase",
36*4d7e907cSAndroid Build Coastguard Worker    ],
37*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
38*4d7e907cSAndroid Build Coastguard Worker        "libbatterymonitor",
39*4d7e907cSAndroid Build Coastguard Worker        "libhealthloop",
40*4d7e907cSAndroid Build Coastguard Worker
41*4d7e907cSAndroid Build Coastguard Worker        // TODO(b/177269435): remove when BatteryMonitor works with AIDL HealthInfo.
42*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.health-translate-ndk",
43*4d7e907cSAndroid Build Coastguard Worker    ],
44*4d7e907cSAndroid Build Coastguard Worker}
45*4d7e907cSAndroid Build Coastguard Worker
46*4d7e907cSAndroid Build Coastguard Worker// Dependency to libhealthd_charger_ui. No UI in recovery.
47*4d7e907cSAndroid Build Coastguard Workercc_defaults {
48*4d7e907cSAndroid Build Coastguard Worker    name: "libhealth_aidl_charger_defaults",
49*4d7e907cSAndroid Build Coastguard Worker    shared_libs: [
50*4d7e907cSAndroid Build Coastguard Worker        // common
51*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.health-V4-ndk",
52*4d7e907cSAndroid Build Coastguard Worker        "libbase",
53*4d7e907cSAndroid Build Coastguard Worker        "libcutils",
54*4d7e907cSAndroid Build Coastguard Worker        "liblog",
55*4d7e907cSAndroid Build Coastguard Worker        "libutils",
56*4d7e907cSAndroid Build Coastguard Worker
57*4d7e907cSAndroid Build Coastguard Worker        // charger UI only
58*4d7e907cSAndroid Build Coastguard Worker        "libpng",
59*4d7e907cSAndroid Build Coastguard Worker    ],
60*4d7e907cSAndroid Build Coastguard Worker
61*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
62*4d7e907cSAndroid Build Coastguard Worker        // common
63*4d7e907cSAndroid Build Coastguard Worker        "libbatterymonitor",
64*4d7e907cSAndroid Build Coastguard Worker        "libhealthloop",
65*4d7e907cSAndroid Build Coastguard Worker
66*4d7e907cSAndroid Build Coastguard Worker        // charger UI only
67*4d7e907cSAndroid Build Coastguard Worker        "libhealthd_draw",
68*4d7e907cSAndroid Build Coastguard Worker        "libhealthd_charger_ui",
69*4d7e907cSAndroid Build Coastguard Worker        "libminui",
70*4d7e907cSAndroid Build Coastguard Worker        "libsuspend",
71*4d7e907cSAndroid Build Coastguard Worker    ],
72*4d7e907cSAndroid Build Coastguard Worker
73*4d7e907cSAndroid Build Coastguard Worker    target: {
74*4d7e907cSAndroid Build Coastguard Worker        recovery: {
75*4d7e907cSAndroid Build Coastguard Worker            // No UI and libsuspend for recovery charger.
76*4d7e907cSAndroid Build Coastguard Worker            cflags: [
77*4d7e907cSAndroid Build Coastguard Worker                "-DCHARGER_FORCE_NO_UI=1",
78*4d7e907cSAndroid Build Coastguard Worker            ],
79*4d7e907cSAndroid Build Coastguard Worker            exclude_shared_libs: [
80*4d7e907cSAndroid Build Coastguard Worker                "libpng",
81*4d7e907cSAndroid Build Coastguard Worker            ],
82*4d7e907cSAndroid Build Coastguard Worker            exclude_static_libs: [
83*4d7e907cSAndroid Build Coastguard Worker                "libhealthd_draw",
84*4d7e907cSAndroid Build Coastguard Worker                "libhealthd_charger_ui",
85*4d7e907cSAndroid Build Coastguard Worker                "libminui",
86*4d7e907cSAndroid Build Coastguard Worker                "libsuspend",
87*4d7e907cSAndroid Build Coastguard Worker            ],
88*4d7e907cSAndroid Build Coastguard Worker        },
89*4d7e907cSAndroid Build Coastguard Worker    },
90*4d7e907cSAndroid Build Coastguard Worker}
91*4d7e907cSAndroid Build Coastguard Worker
92*4d7e907cSAndroid Build Coastguard Worker// AIDL version of libhealth2impl.
93*4d7e907cSAndroid Build Coastguard Worker// A helper library for health HAL implementation.
94*4d7e907cSAndroid Build Coastguard Worker// HAL implementations can link to this library and extend the Health class.
95*4d7e907cSAndroid Build Coastguard Workercc_library_static {
96*4d7e907cSAndroid Build Coastguard Worker    name: "libhealth_aidl_impl",
97*4d7e907cSAndroid Build Coastguard Worker    defaults: [
98*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_common_defaults",
99*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_charger_defaults",
100*4d7e907cSAndroid Build Coastguard Worker    ],
101*4d7e907cSAndroid Build Coastguard Worker    vendor: true,
102*4d7e907cSAndroid Build Coastguard Worker    recovery_available: true,
103*4d7e907cSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
104*4d7e907cSAndroid Build Coastguard Worker    export_static_lib_headers: [
105*4d7e907cSAndroid Build Coastguard Worker        "libbatterymonitor",
106*4d7e907cSAndroid Build Coastguard Worker    ],
107*4d7e907cSAndroid Build Coastguard Worker    srcs: [
108*4d7e907cSAndroid Build Coastguard Worker        "ChargerUtils.cpp",
109*4d7e907cSAndroid Build Coastguard Worker        "health-convert.cpp",
110*4d7e907cSAndroid Build Coastguard Worker        "HalHealthLoop.cpp",
111*4d7e907cSAndroid Build Coastguard Worker        "Health.cpp",
112*4d7e907cSAndroid Build Coastguard Worker        "LinkedCallback.cpp",
113*4d7e907cSAndroid Build Coastguard Worker    ],
114*4d7e907cSAndroid Build Coastguard Worker    target: {
115*4d7e907cSAndroid Build Coastguard Worker        recovery: {
116*4d7e907cSAndroid Build Coastguard Worker            exclude_srcs: [
117*4d7e907cSAndroid Build Coastguard Worker                "ChargerUtils.cpp",
118*4d7e907cSAndroid Build Coastguard Worker            ],
119*4d7e907cSAndroid Build Coastguard Worker        },
120*4d7e907cSAndroid Build Coastguard Worker    },
121*4d7e907cSAndroid Build Coastguard Worker}
122*4d7e907cSAndroid Build Coastguard Worker
123*4d7e907cSAndroid Build Coastguard Worker// Users of libhealth_aidl_impl should use this defaults.
124*4d7e907cSAndroid Build Coastguard Workercc_defaults {
125*4d7e907cSAndroid Build Coastguard Worker    name: "libhealth_aidl_impl_user",
126*4d7e907cSAndroid Build Coastguard Worker    defaults: [
127*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_common_defaults",
128*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_charger_defaults",
129*4d7e907cSAndroid Build Coastguard Worker    ],
130*4d7e907cSAndroid Build Coastguard Worker}
131*4d7e907cSAndroid Build Coastguard Worker
132*4d7e907cSAndroid Build Coastguard Worker// AIDL version of [email protected].
133*4d7e907cSAndroid Build Coastguard Worker// Default binder service of the health HAL.
134*4d7e907cSAndroid Build Coastguard Workercc_defaults {
135*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.health-service.example-defaults",
136*4d7e907cSAndroid Build Coastguard Worker    relative_install_path: "hw",
137*4d7e907cSAndroid Build Coastguard Worker    vintf_fragments: ["android.hardware.health-service.example.xml"],
138*4d7e907cSAndroid Build Coastguard Worker    defaults: [
139*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_impl_user",
140*4d7e907cSAndroid Build Coastguard Worker    ],
141*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
142*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_impl",
143*4d7e907cSAndroid Build Coastguard Worker    ],
144*4d7e907cSAndroid Build Coastguard Worker    srcs: ["main.cpp"],
145*4d7e907cSAndroid Build Coastguard Worker}
146*4d7e907cSAndroid Build Coastguard Worker
147*4d7e907cSAndroid Build Coastguard Workercc_binary {
148*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.health-service.example",
149*4d7e907cSAndroid Build Coastguard Worker    vendor: true,
150*4d7e907cSAndroid Build Coastguard Worker    defaults: ["android.hardware.health-service.example-defaults"],
151*4d7e907cSAndroid Build Coastguard Worker    init_rc: ["android.hardware.health-service.example.rc"],
152*4d7e907cSAndroid Build Coastguard Worker    overrides: ["charger"],
153*4d7e907cSAndroid Build Coastguard Worker}
154*4d7e907cSAndroid Build Coastguard Worker
155*4d7e907cSAndroid Build Coastguard Workercc_binary {
156*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.health-service.example_recovery",
157*4d7e907cSAndroid Build Coastguard Worker    recovery: true,
158*4d7e907cSAndroid Build Coastguard Worker    defaults: ["android.hardware.health-service.example-defaults"],
159*4d7e907cSAndroid Build Coastguard Worker    init_rc: ["android.hardware.health-service.example_recovery.rc"],
160*4d7e907cSAndroid Build Coastguard Worker    overrides: ["charger.recovery"],
161*4d7e907cSAndroid Build Coastguard Worker}
162*4d7e907cSAndroid Build Coastguard Worker
163*4d7e907cSAndroid Build Coastguard Worker// AIDL Fuzz version of libhealth2impl.
164*4d7e907cSAndroid Build Coastguard Workercc_library_static {
165*4d7e907cSAndroid Build Coastguard Worker    name: "fuzz_libhealth_aidl_impl",
166*4d7e907cSAndroid Build Coastguard Worker    defaults: [
167*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_common_defaults",
168*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_charger_defaults",
169*4d7e907cSAndroid Build Coastguard Worker    ],
170*4d7e907cSAndroid Build Coastguard Worker    recovery_available: true,
171*4d7e907cSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
172*4d7e907cSAndroid Build Coastguard Worker    export_static_lib_headers: [
173*4d7e907cSAndroid Build Coastguard Worker        "libbatterymonitor",
174*4d7e907cSAndroid Build Coastguard Worker    ],
175*4d7e907cSAndroid Build Coastguard Worker    srcs: [
176*4d7e907cSAndroid Build Coastguard Worker        "ChargerUtils.cpp",
177*4d7e907cSAndroid Build Coastguard Worker        "health-convert.cpp",
178*4d7e907cSAndroid Build Coastguard Worker        "HalHealthLoop.cpp",
179*4d7e907cSAndroid Build Coastguard Worker        "Health.cpp",
180*4d7e907cSAndroid Build Coastguard Worker        "LinkedCallback.cpp",
181*4d7e907cSAndroid Build Coastguard Worker    ],
182*4d7e907cSAndroid Build Coastguard Worker    target: {
183*4d7e907cSAndroid Build Coastguard Worker        recovery: {
184*4d7e907cSAndroid Build Coastguard Worker            exclude_srcs: [
185*4d7e907cSAndroid Build Coastguard Worker                "ChargerUtils.cpp",
186*4d7e907cSAndroid Build Coastguard Worker            ],
187*4d7e907cSAndroid Build Coastguard Worker        },
188*4d7e907cSAndroid Build Coastguard Worker    },
189*4d7e907cSAndroid Build Coastguard Worker}
190*4d7e907cSAndroid Build Coastguard Worker
191*4d7e907cSAndroid Build Coastguard Workercc_fuzz {
192*4d7e907cSAndroid Build Coastguard Worker    name: "android.hardware.health-service.aidl_fuzzer",
193*4d7e907cSAndroid Build Coastguard Worker    defaults: [
194*4d7e907cSAndroid Build Coastguard Worker        "libhealth_aidl_impl_user",
195*4d7e907cSAndroid Build Coastguard Worker        "service_fuzzer_defaults",
196*4d7e907cSAndroid Build Coastguard Worker    ],
197*4d7e907cSAndroid Build Coastguard Worker    static_libs: [
198*4d7e907cSAndroid Build Coastguard Worker        "android.hardware.health-V4-ndk",
199*4d7e907cSAndroid Build Coastguard Worker        "libbase",
200*4d7e907cSAndroid Build Coastguard Worker        "liblog",
201*4d7e907cSAndroid Build Coastguard Worker        "fuzz_libhealth_aidl_impl",
202*4d7e907cSAndroid Build Coastguard Worker    ],
203*4d7e907cSAndroid Build Coastguard Worker    srcs: ["fuzzer.cpp"],
204*4d7e907cSAndroid Build Coastguard Worker    fuzz_config: {
205*4d7e907cSAndroid Build Coastguard Worker        cc: [
206*4d7e907cSAndroid Build Coastguard Worker            "[email protected]",
207*4d7e907cSAndroid Build Coastguard Worker        ],
208*4d7e907cSAndroid Build Coastguard Worker    },
209*4d7e907cSAndroid Build Coastguard Worker}
210