xref: /aosp_15_r20/bootable/recovery/update_verifier/Android.bp (revision e7c364b630b241adcb6c7726a21055250b91fdac)
1// Copyright (C) 2018 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: "update_verifier_defaults",
26
27    defaults: [
28        "recovery_defaults",
29    ],
30
31    local_include_dirs: [
32        "include",
33    ],
34}
35
36python_library_host {
37    name: "care_map_proto_py",
38    srcs: [
39        "care_map.proto",
40    ],
41    proto: {type: "lite", canonical_path_from_root: false},
42    visibility: [
43        "//build/make/tools/releasetools:__subpackages__",
44    ],
45}
46
47cc_library_static {
48    name: "libupdate_verifier",
49
50    defaults: [
51        "update_verifier_defaults",
52    ],
53
54    srcs: [
55        "care_map.proto",
56        "update_verifier.cpp",
57    ],
58
59    export_include_dirs: [
60        "include",
61    ],
62
63    static_libs: [
64        "libotautil",
65        "libvold_binder",
66    ],
67
68    whole_static_libs: [
69        "libsnapuserd_client",
70    ],
71
72    shared_libs: [
73        "[email protected]",
74        "libboot_control_client",
75        "libbase",
76        "libcutils",
77        "libbinder",
78        "libutils",
79    ],
80
81    proto: {
82        type: "lite",
83        export_proto_headers: true,
84    },
85}
86
87cc_binary {
88    name: "update_verifier",
89
90    defaults: [
91        "update_verifier_defaults",
92    ],
93
94    srcs: [
95        "update_verifier_main.cpp",
96    ],
97
98    static_libs: [
99        "libupdate_verifier",
100        "libotautil",
101        "libvold_binder",
102    ],
103
104    shared_libs: [
105        "[email protected]",
106        "libbase",
107        "libcutils",
108        "libhardware",
109        "libhidlbase",
110        "liblog",
111        "libprotobuf-cpp-lite",
112        "libbinder",
113        "libutils",
114        "libboot_control_client",
115    ],
116
117    init_rc: [
118        "update_verifier.rc",
119    ],
120}
121
122python_binary_host {
123    name: "care_map_generator",
124
125    srcs: [
126        "care_map_generator.py",
127        "care_map.proto",
128    ],
129    libs: [
130        "python-symbol",
131        // Soong won't add "libprotobuf-python" to the dependencies if
132        // filegroup contains .proto files. So add it here explicitly.
133        "libprotobuf-python",
134    ],
135    proto: {
136        canonical_path_from_root: false,
137    },
138
139    version: {
140        py3: {
141            embedded_launcher: true,
142        },
143    },
144}
145