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