xref: /aosp_15_r20/system/gsid/Android.bp (revision 4e2b41f188908a2ae9d9a2089f1f10779d080021)
1*4e2b41f1SAndroid Build Coastguard Worker//
2*4e2b41f1SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project
3*4e2b41f1SAndroid Build Coastguard Worker//
4*4e2b41f1SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*4e2b41f1SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*4e2b41f1SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*4e2b41f1SAndroid Build Coastguard Worker//
8*4e2b41f1SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*4e2b41f1SAndroid Build Coastguard Worker//
10*4e2b41f1SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*4e2b41f1SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*4e2b41f1SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4e2b41f1SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*4e2b41f1SAndroid Build Coastguard Worker// limitations under the License.
15*4e2b41f1SAndroid Build Coastguard Worker//
16*4e2b41f1SAndroid Build Coastguard Worker
17*4e2b41f1SAndroid Build Coastguard Workerpackage {
18*4e2b41f1SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
19*4e2b41f1SAndroid Build Coastguard Worker}
20*4e2b41f1SAndroid Build Coastguard Worker
21*4e2b41f1SAndroid Build Coastguard Workercc_binary {
22*4e2b41f1SAndroid Build Coastguard Worker    name: "gsi_tool",
23*4e2b41f1SAndroid Build Coastguard Worker    shared_libs: [
24*4e2b41f1SAndroid Build Coastguard Worker        "gsi_aidl_interface-cpp",
25*4e2b41f1SAndroid Build Coastguard Worker        "libbase",
26*4e2b41f1SAndroid Build Coastguard Worker        "libbinder",
27*4e2b41f1SAndroid Build Coastguard Worker        "libcutils",
28*4e2b41f1SAndroid Build Coastguard Worker        "libgsi",
29*4e2b41f1SAndroid Build Coastguard Worker        "liblog",
30*4e2b41f1SAndroid Build Coastguard Worker        "libutils",
31*4e2b41f1SAndroid Build Coastguard Worker    ],
32*4e2b41f1SAndroid Build Coastguard Worker    static_libs: [
33*4e2b41f1SAndroid Build Coastguard Worker        "libgsid",
34*4e2b41f1SAndroid Build Coastguard Worker    ],
35*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
36*4e2b41f1SAndroid Build Coastguard Worker        "gsi_tool.cpp",
37*4e2b41f1SAndroid Build Coastguard Worker    ],
38*4e2b41f1SAndroid Build Coastguard Worker}
39*4e2b41f1SAndroid Build Coastguard Worker
40*4e2b41f1SAndroid Build Coastguard Workercc_library {
41*4e2b41f1SAndroid Build Coastguard Worker    name: "libgsi",
42*4e2b41f1SAndroid Build Coastguard Worker    ramdisk_available: true,
43*4e2b41f1SAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
44*4e2b41f1SAndroid Build Coastguard Worker    recovery_available: true,
45*4e2b41f1SAndroid Build Coastguard Worker    host_supported: true,
46*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
47*4e2b41f1SAndroid Build Coastguard Worker        "libgsi.cpp",
48*4e2b41f1SAndroid Build Coastguard Worker    ],
49*4e2b41f1SAndroid Build Coastguard Worker    shared_libs: [
50*4e2b41f1SAndroid Build Coastguard Worker        "libbase",
51*4e2b41f1SAndroid Build Coastguard Worker    ],
52*4e2b41f1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
53*4e2b41f1SAndroid Build Coastguard Worker}
54*4e2b41f1SAndroid Build Coastguard Worker
55*4e2b41f1SAndroid Build Coastguard Workercc_library_static {
56*4e2b41f1SAndroid Build Coastguard Worker    name: "libgsid",
57*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
58*4e2b41f1SAndroid Build Coastguard Worker        "libgsid.cpp",
59*4e2b41f1SAndroid Build Coastguard Worker    ],
60*4e2b41f1SAndroid Build Coastguard Worker    shared_libs: [
61*4e2b41f1SAndroid Build Coastguard Worker        "gsi_aidl_interface-cpp",
62*4e2b41f1SAndroid Build Coastguard Worker        "libbase",
63*4e2b41f1SAndroid Build Coastguard Worker        "libbinder",
64*4e2b41f1SAndroid Build Coastguard Worker        "libutils",
65*4e2b41f1SAndroid Build Coastguard Worker    ],
66*4e2b41f1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
67*4e2b41f1SAndroid Build Coastguard Worker}
68*4e2b41f1SAndroid Build Coastguard Worker
69*4e2b41f1SAndroid Build Coastguard Workercc_library_headers {
70*4e2b41f1SAndroid Build Coastguard Worker    name: "libgsi_headers",
71*4e2b41f1SAndroid Build Coastguard Worker    host_supported: true,
72*4e2b41f1SAndroid Build Coastguard Worker    ramdisk_available: true,
73*4e2b41f1SAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
74*4e2b41f1SAndroid Build Coastguard Worker    recovery_available: true,
75*4e2b41f1SAndroid Build Coastguard Worker    vendor_available: true,
76*4e2b41f1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
77*4e2b41f1SAndroid Build Coastguard Worker    apex_available: [
78*4e2b41f1SAndroid Build Coastguard Worker        "//apex_available:anyapex",
79*4e2b41f1SAndroid Build Coastguard Worker        "//apex_available:platform",
80*4e2b41f1SAndroid Build Coastguard Worker    ],
81*4e2b41f1SAndroid Build Coastguard Worker    min_sdk_version: "31",
82*4e2b41f1SAndroid Build Coastguard Worker}
83*4e2b41f1SAndroid Build Coastguard Worker
84*4e2b41f1SAndroid Build Coastguard Workercc_defaults {
85*4e2b41f1SAndroid Build Coastguard Worker    name: "gsid_defaults",
86*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
87*4e2b41f1SAndroid Build Coastguard Worker        "gsi_service.cpp",
88*4e2b41f1SAndroid Build Coastguard Worker        "partition_installer.cpp",
89*4e2b41f1SAndroid Build Coastguard Worker    ],
90*4e2b41f1SAndroid Build Coastguard Worker    shared_libs: [
91*4e2b41f1SAndroid Build Coastguard Worker        "libbase",
92*4e2b41f1SAndroid Build Coastguard Worker        "libbinder",
93*4e2b41f1SAndroid Build Coastguard Worker        "libcrypto",
94*4e2b41f1SAndroid Build Coastguard Worker        "liblog",
95*4e2b41f1SAndroid Build Coastguard Worker    ],
96*4e2b41f1SAndroid Build Coastguard Worker    static_libs: [
97*4e2b41f1SAndroid Build Coastguard Worker        "gsi_aidl_interface-cpp",
98*4e2b41f1SAndroid Build Coastguard Worker        "libavb",
99*4e2b41f1SAndroid Build Coastguard Worker        "libcutils",
100*4e2b41f1SAndroid Build Coastguard Worker        "libdm",
101*4e2b41f1SAndroid Build Coastguard Worker        "libext4_utils",
102*4e2b41f1SAndroid Build Coastguard Worker        "libfs_mgr",
103*4e2b41f1SAndroid Build Coastguard Worker        "libgsi",
104*4e2b41f1SAndroid Build Coastguard Worker        "libgsid",
105*4e2b41f1SAndroid Build Coastguard Worker        "liblp",
106*4e2b41f1SAndroid Build Coastguard Worker        "libselinux",
107*4e2b41f1SAndroid Build Coastguard Worker        "libutils",
108*4e2b41f1SAndroid Build Coastguard Worker        "libvold_binder",
109*4e2b41f1SAndroid Build Coastguard Worker    ],
110*4e2b41f1SAndroid Build Coastguard Worker    header_libs: [
111*4e2b41f1SAndroid Build Coastguard Worker        "libstorage_literals_headers",
112*4e2b41f1SAndroid Build Coastguard Worker    ],
113*4e2b41f1SAndroid Build Coastguard Worker    target: {
114*4e2b41f1SAndroid Build Coastguard Worker        android: {
115*4e2b41f1SAndroid Build Coastguard Worker            shared_libs: [
116*4e2b41f1SAndroid Build Coastguard Worker                "libprocessgroup",
117*4e2b41f1SAndroid Build Coastguard Worker                "libvndksupport",
118*4e2b41f1SAndroid Build Coastguard Worker            ],
119*4e2b41f1SAndroid Build Coastguard Worker        },
120*4e2b41f1SAndroid Build Coastguard Worker    },
121*4e2b41f1SAndroid Build Coastguard Worker    local_include_dirs: ["include"],
122*4e2b41f1SAndroid Build Coastguard Worker}
123*4e2b41f1SAndroid Build Coastguard Worker
124*4e2b41f1SAndroid Build Coastguard Workercc_binary {
125*4e2b41f1SAndroid Build Coastguard Worker    name: "gsid",
126*4e2b41f1SAndroid Build Coastguard Worker    defaults: [
127*4e2b41f1SAndroid Build Coastguard Worker        "gsid_defaults",
128*4e2b41f1SAndroid Build Coastguard Worker    ],
129*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
130*4e2b41f1SAndroid Build Coastguard Worker        "daemon.cpp",
131*4e2b41f1SAndroid Build Coastguard Worker    ],
132*4e2b41f1SAndroid Build Coastguard Worker    required: [
133*4e2b41f1SAndroid Build Coastguard Worker        "mke2fs",
134*4e2b41f1SAndroid Build Coastguard Worker    ],
135*4e2b41f1SAndroid Build Coastguard Worker    init_rc: [
136*4e2b41f1SAndroid Build Coastguard Worker        "gsid.rc",
137*4e2b41f1SAndroid Build Coastguard Worker    ],
138*4e2b41f1SAndroid Build Coastguard Worker}
139*4e2b41f1SAndroid Build Coastguard Worker
140*4e2b41f1SAndroid Build Coastguard Workeraidl_interface {
141*4e2b41f1SAndroid Build Coastguard Worker    name: "gsi_aidl_interface",
142*4e2b41f1SAndroid Build Coastguard Worker    unstable: true,
143*4e2b41f1SAndroid Build Coastguard Worker    srcs: [":gsiservice_aidl"],
144*4e2b41f1SAndroid Build Coastguard Worker    local_include_dir: "aidl",
145*4e2b41f1SAndroid Build Coastguard Worker    backend: {
146*4e2b41f1SAndroid Build Coastguard Worker        ndk: {
147*4e2b41f1SAndroid Build Coastguard Worker            enabled: false,
148*4e2b41f1SAndroid Build Coastguard Worker        },
149*4e2b41f1SAndroid Build Coastguard Worker    },
150*4e2b41f1SAndroid Build Coastguard Worker}
151*4e2b41f1SAndroid Build Coastguard Worker
152*4e2b41f1SAndroid Build Coastguard Workerfilegroup {
153*4e2b41f1SAndroid Build Coastguard Worker    name: "gsiservice_aidl",
154*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
155*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/AvbPublicKey.aidl",
156*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/GsiProgress.aidl",
157*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/IGsiService.aidl",
158*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/IGsiServiceCallback.aidl",
159*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/IImageService.aidl",
160*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/IProgressCallback.aidl",
161*4e2b41f1SAndroid Build Coastguard Worker        "aidl/android/gsi/MappedImage.aidl",
162*4e2b41f1SAndroid Build Coastguard Worker    ],
163*4e2b41f1SAndroid Build Coastguard Worker    path: "aidl",
164*4e2b41f1SAndroid Build Coastguard Worker}
165*4e2b41f1SAndroid Build Coastguard Worker
166*4e2b41f1SAndroid Build Coastguard Workercc_fuzz {
167*4e2b41f1SAndroid Build Coastguard Worker    name: "gsi_service_fuzzer",
168*4e2b41f1SAndroid Build Coastguard Worker    defaults: [
169*4e2b41f1SAndroid Build Coastguard Worker        "gsid_defaults",
170*4e2b41f1SAndroid Build Coastguard Worker        "service_fuzzer_defaults",
171*4e2b41f1SAndroid Build Coastguard Worker        "fuzzer_disable_leaks",
172*4e2b41f1SAndroid Build Coastguard Worker    ],
173*4e2b41f1SAndroid Build Coastguard Worker    srcs: [
174*4e2b41f1SAndroid Build Coastguard Worker        "fuzzers/GsiServiceFuzzer.cpp",
175*4e2b41f1SAndroid Build Coastguard Worker    ],
176*4e2b41f1SAndroid Build Coastguard Worker    fuzz_config: {
177*4e2b41f1SAndroid Build Coastguard Worker        triage_assignee: "[email protected]",
178*4e2b41f1SAndroid Build Coastguard Worker        cc: [
179*4e2b41f1SAndroid Build Coastguard Worker            "[email protected]",
180*4e2b41f1SAndroid Build Coastguard Worker            "[email protected]",
181*4e2b41f1SAndroid Build Coastguard Worker        ]
182*4e2b41f1SAndroid Build Coastguard Worker    },
183*4e2b41f1SAndroid Build Coastguard Worker}
184