blob: b51e4f3ec781b74759bf3374254c2cea28ceeaa4 [file] [log] [blame]
// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "hardware_interfaces_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["hardware_interfaces_license"],
}
cc_defaults {
name: "libhealth_aidl_common_defaults",
shared_libs: [
"libbase",
"libbinder_ndk",
"libcutils",
"liblog",
"libutils",
"android.hardware.health-V2-ndk",
// TODO(b/177269435): remove when BatteryMonitor works with AIDL HealthInfo.
"libhidlbase",
],
static_libs: [
"libbatterymonitor",
"libhealthloop",
// TODO(b/177269435): remove when BatteryMonitor works with AIDL HealthInfo.
"android.hardware.health-translate-ndk",
],
}
// Dependency to libhealthd_charger_ui. No UI in recovery.
cc_defaults {
name: "libhealth_aidl_charger_defaults",
shared_libs: [
// common
"android.hardware.health-V2-ndk",
"libbase",
"libcutils",
"liblog",
"libutils",
// charger UI only
"libpng",
],
static_libs: [
// common
"libbatterymonitor",
"libhealthloop",
// charger UI only
"libhealthd_draw",
"libhealthd_charger_ui",
"libminui",
"libsuspend",
],
target: {
recovery: {
// No UI and libsuspend for recovery charger.
cflags: [
"-DCHARGER_FORCE_NO_UI=1",
],
exclude_shared_libs: [
"libpng",
],
exclude_static_libs: [
"libhealthd_draw",
"libhealthd_charger_ui",
"libminui",
"libsuspend",
],
},
},
}
// AIDL version of libhealth2impl.
// A helper library for health HAL implementation.
// HAL implementations can link to this library and extend the Health class.
cc_library_static {
name: "libhealth_aidl_impl",
defaults: [
"libhealth_aidl_common_defaults",
"libhealth_aidl_charger_defaults",
],
vendor: true,
recovery_available: true,
export_include_dirs: ["include"],
export_static_lib_headers: [
"libbatterymonitor",
],
srcs: [
"ChargerUtils.cpp",
"health-convert.cpp",
"HalHealthLoop.cpp",
"Health.cpp",
"LinkedCallback.cpp",
],
target: {
recovery: {
exclude_srcs: [
"ChargerUtils.cpp",
],
},
},
}
// Users of libhealth_aidl_impl should use this defaults.
cc_defaults {
name: "libhealth_aidl_impl_user",
defaults: [
"libhealth_aidl_common_defaults",
"libhealth_aidl_charger_defaults",
],
}
// AIDL version of android.hardware.health@2.1-service.
// Default binder service of the health HAL.
cc_defaults {
name: "android.hardware.health-service.example-defaults",
relative_install_path: "hw",
vintf_fragments: ["android.hardware.health-service.example.xml"],
defaults: [
"libhealth_aidl_impl_user",
],
static_libs: [
"libhealth_aidl_impl",
],
srcs: ["main.cpp"],
}
cc_binary {
name: "android.hardware.health-service.example",
vendor: true,
defaults: ["android.hardware.health-service.example-defaults"],
init_rc: ["android.hardware.health-service.example.rc"],
overrides: ["charger"],
}
cc_binary {
name: "android.hardware.health-service.example_recovery",
recovery: true,
defaults: ["android.hardware.health-service.example-defaults"],
init_rc: ["android.hardware.health-service.example_recovery.rc"],
overrides: ["charger.recovery"],
}
// AIDL Fuzz version of libhealth2impl.
cc_library_static {
name: "fuzz_libhealth_aidl_impl",
defaults: [
"libhealth_aidl_common_defaults",
"libhealth_aidl_charger_defaults",
],
recovery_available: true,
export_include_dirs: ["include"],
export_static_lib_headers: [
"libbatterymonitor",
],
srcs: [
"ChargerUtils.cpp",
"health-convert.cpp",
"HalHealthLoop.cpp",
"Health.cpp",
"LinkedCallback.cpp",
],
target: {
recovery: {
exclude_srcs: [
"ChargerUtils.cpp",
],
},
},
}
cc_fuzz {
name: "android.hardware.health-service.aidl_fuzzer",
defaults: [
"libhealth_aidl_impl_user",
"service_fuzzer_defaults",
],
static_libs: [
"android.hardware.health-V2-ndk",
"libbase",
"liblog",
"fuzz_libhealth_aidl_impl",
],
srcs: ["fuzzer.cpp"],
fuzz_config: {
cc: [
"hamzeh@google.com",
],
},
}