1//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_binary {
18    name: "gsi_tool",
19    shared_libs: [
20        "gsi_aidl_interface-cpp",
21        "libbase",
22        "libbinder",
23        "libcutils",
24        "libgsi",
25        "liblog",
26        "libutils",
27    ],
28    static_libs: [
29        "libgsid",
30    ],
31    srcs: [
32        "gsi_tool.cpp",
33    ],
34}
35
36cc_library {
37    name: "libgsi",
38    recovery_available: true,
39    host_supported: true,
40    srcs: [
41        "libgsi.cpp",
42    ],
43    shared_libs: [
44        "libbase",
45    ],
46    export_include_dirs: ["include"],
47}
48
49cc_library_static {
50    name: "libgsid",
51    srcs: [
52        "libgsid.cpp",
53    ],
54    shared_libs: [
55        "gsi_aidl_interface-cpp",
56        "libbase",
57        "libbinder",
58        "libcutils",
59        "liblog",
60        "libservices",
61        "libutils",
62    ],
63    static_libs: [
64        "libgsi",
65    ],
66    export_include_dirs: ["include"],
67}
68
69cc_library_headers {
70    name: "libgsi_headers",
71    host_supported: true,
72    recovery_available: true,
73    vendor_available: true,
74    export_include_dirs: ["include"],
75}
76
77cc_binary {
78    name: "gsid",
79    srcs: [
80        "daemon.cpp",
81        "gsi_service.cpp",
82        "partition_installer.cpp",
83    ],
84    required: [
85        "mke2fs",
86    ],
87    init_rc: [
88        "gsid.rc",
89    ],
90    shared_libs: [
91        "libbase",
92        "libbinder",
93        "libcrypto",
94        "liblog",
95    ],
96    static_libs: [
97        "gsi_aidl_interface-cpp",
98        "libavb",
99        "libcutils",
100        "libdm",
101        "libext4_utils",
102        "libfs_mgr",
103        "libgsi",
104        "libgsid",
105        "liblp",
106        "libutils",
107        "libc++fs",
108    ],
109    local_include_dirs: ["include"],
110}
111
112aidl_interface {
113    name: "gsi_aidl_interface",
114    unstable: true,
115    srcs: [":gsiservice_aidl"],
116    local_include_dir: "aidl",
117    backend: {
118        ndk: {
119            enabled: false,
120        },
121    },
122}
123
124filegroup {
125    name: "gsiservice_aidl",
126    srcs: [
127        "aidl/android/gsi/AvbPublicKey.aidl",
128        "aidl/android/gsi/GsiProgress.aidl",
129        "aidl/android/gsi/IGsiService.aidl",
130        "aidl/android/gsi/IGsiServiceCallback.aidl",
131        "aidl/android/gsi/IImageService.aidl",
132        "aidl/android/gsi/IProgressCallback.aidl",
133        "aidl/android/gsi/MappedImage.aidl",
134    ],
135    path: "aidl",
136}
137
138vts_config {
139    name: "VtsGsiBootTest",
140}
141