xref: /aosp_15_r20/bootable/recovery/recovery_utils/Android.bp (revision e7c364b630b241adcb6c7726a21055250b91fdac)
1// Copyright (C) 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    // See: http://go/android-license-faq
17    // A large-scale-change added 'default_applicable_licenses' to import
18    // all of the 'license_kinds' from "bootable_recovery_license"
19    // to get the below license kinds:
20    //   SPDX-license-identifier-Apache-2.0
21    default_applicable_licenses: ["bootable_recovery_license"],
22}
23
24cc_defaults {
25    name: "librecovery_utils_defaults",
26
27    defaults: [
28        "recovery_defaults",
29    ],
30
31    shared_libs: [
32        "[email protected]",
33        "libbase",
34        "libbinder_ndk",
35        "libext4_utils",
36        "libfs_mgr",
37        "libhidlbase",
38        "libselinux",
39        "libutils",
40    ],
41
42    static_libs: [
43        "libotautil",
44
45        // External dependencies.
46        "android.hardware.health-translate-ndk",
47        "libfstab",
48        "libhealthhalutils",
49        "libhealthshim",
50    ],
51}
52
53// A utility lib that's local to recovery (in contrast, libotautil is exposed to device-specific
54// recovery_ui lib as well as device-specific updater).
55cc_library_static {
56    name: "librecovery_utils",
57
58    recovery_available: true,
59
60    defaults: [
61        "librecovery_utils_defaults",
62    ],
63
64    srcs: [
65        "battery_utils.cpp",
66        "logging.cpp",
67        "parse_install_logs.cpp",
68        "roots.cpp",
69        "thermalutil.cpp",
70    ],
71
72    header_libs: [
73        "libvold_headers",
74    ],
75
76    shared_libs: [
77        // The following cannot be placed in librecovery_utils_defaults,
78        // because at the time of writing, android.hardware.health-V4-ndk.so
79        // is not installed to the system image yet. (It is installed
80        // to the recovery ramdisk.) Hence, minadbd_test must link to it
81        // statically.
82        "android.hardware.health-V4-ndk",
83    ],
84
85    export_include_dirs: [
86        "include",
87    ],
88
89    export_static_lib_headers: [
90        // roots.h includes <fstab/fstab.h>.
91        "libfstab",
92    ],
93
94    // Should avoid exposing to the libs that might be used in device-specific codes (e.g.
95    // libedify, libotautil, librecovery_ui).
96    visibility: [
97        "//bootable/recovery",
98        "//bootable/recovery/install",
99        "//bootable/recovery/minadbd",
100        "//bootable/recovery/tests",
101        "//bootable/deprecated-ota:__subpackages__",
102    ],
103}
104