// 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-V1-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-V1-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"], }