OSDN Git Service

Merge "Switch Checkpoint health sleep time to ms." am: 32a8a47b07
[android-x86/system-vold.git] / Android.bp
1 cc_defaults {
2     name: "vold_default_flags",
3
4     cflags: [
5         "-Wall",
6         "-Werror",
7         "-Wextra",
8         "-Wno-missing-field-initializers",
9         "-Wno-unused-parameter",
10         "-Wno-unused-variable",
11     ],
12
13     clang: true,
14
15     tidy: true,
16     tidy_checks: [
17         "-*",
18         "cert-*",
19         "clang-analyzer-security*",
20     ],
21     tidy_flags: [
22         "-warnings-as-errors=clang-analyzer-security*,cert-*",
23     ],
24 }
25
26 cc_defaults {
27     name: "vold_default_libs",
28
29     static_libs: [
30         "libavb",
31         "libbootloader_message",
32         "libfec",
33         "libfec_rs",
34         "libfs_avb",
35         "libfs_mgr",
36         "libscrypt_static",
37         "libsquashfs_utils",
38         "libvold_binder",
39     ],
40     shared_libs: [
41         "android.hardware.keymaster@3.0",
42         "android.hardware.keymaster@4.0",
43         "android.hardware.boot@1.0",
44         "libbase",
45         "libbinder",
46         "libcrypto",
47         "libcrypto_utils",
48         "libcutils",
49         "libdiskconfig",
50         "libext4_utils",
51         "libf2fs_sparseblock",
52         "libfscrypt",
53         "libhardware",
54         "libhardware_legacy",
55         "libhidlbase",
56         "libhwbinder",
57         "libkeymaster4support",
58         "libkeyutils",
59         "liblog",
60         "liblogwrap",
61         "libselinux",
62         "libsysutils",
63         "libutils",
64     ],
65 }
66
67 cc_library_static {
68     name: "libvold_binder",
69     defaults: ["vold_default_flags"],
70
71     srcs: [
72         ":vold_aidl",
73     ],
74     shared_libs: [
75         "libbinder",
76         "libutils",
77     ],
78     aidl: {
79         local_include_dirs: ["binder"],
80         include_dirs: ["frameworks/native/aidl/binder"],
81         export_aidl_headers: true,
82     },
83 }
84
85 cc_library_headers {
86     name: "libvold_headers",
87     export_include_dirs: ["."],
88 }
89
90 // Static library factored out to support testing
91 cc_library_static {
92     name: "libvold",
93     defaults: [
94         "vold_default_flags",
95         "vold_default_libs",
96     ],
97
98     srcs: [
99         "AppFuseUtil.cpp",
100         "Benchmark.cpp",
101         "CheckEncryption.cpp",
102         "Checkpoint.cpp",
103         "Devmapper.cpp",
104         "EncryptInplace.cpp",
105         "FileDeviceUtils.cpp",
106         "FsCrypt.cpp",
107         "IdleMaint.cpp",
108         "KeyBuffer.cpp",
109         "KeyStorage.cpp",
110         "KeyUtil.cpp",
111         "Keymaster.cpp",
112         "Loop.cpp",
113         "MetadataCrypt.cpp",
114         "MoveStorage.cpp",
115         "NetlinkHandler.cpp",
116         "NetlinkManager.cpp",
117         "Process.cpp",
118         "ScryptParameters.cpp",
119         "Utils.cpp",
120         "VoldNativeService.cpp",
121         "VoldUtil.cpp",
122         "VolumeManager.cpp",
123         "cryptfs.cpp",
124         "fs/Exfat.cpp",
125         "fs/Ext4.cpp",
126         "fs/F2fs.cpp",
127         "fs/Vfat.cpp",
128         "model/Disk.cpp",
129         "model/EmulatedVolume.cpp",
130         "model/ObbVolume.cpp",
131         "model/PrivateVolume.cpp",
132         "model/PublicVolume.cpp",
133         "model/VolumeBase.cpp",
134         "model/StubVolume.cpp",
135     ],
136     product_variables: {
137         arc: {
138             exclude_srcs: [
139                 "AppFuseUtil.cpp",
140                 "model/ObbVolume.cpp",
141             ],
142             static_libs: [
143                 "arc_services_aidl",
144                 "libarcappfuse",
145                 "libarcobbvolume",
146             ],
147         },
148         debuggable: {
149             cppflags: ["-D__ANDROID_DEBUGGABLE__"],
150         },
151     },
152     shared_libs: [
153         "android.hardware.health.storage@1.0",
154     ],
155     whole_static_libs: [
156         "com.android.sysprop.apex",
157     ],
158 }
159
160 cc_binary {
161     name: "vold",
162     defaults: [
163         "vold_default_flags",
164         "vold_default_libs",
165     ],
166
167     srcs: ["main.cpp"],
168     static_libs: ["libvold"],
169     product_variables: {
170         arc: {
171             static_libs: [
172                 "arc_services_aidl",
173                 "libarcappfuse",
174                 "libarcobbvolume",
175             ],
176         },
177     },
178     init_rc: [
179         "vold.rc",
180         "wait_for_keymaster.rc",
181     ],
182
183     required: [
184         "mke2fs",
185         "vold_prepare_subdirs",
186         "wait_for_keymaster",
187     ],
188
189     shared_libs: [
190         "android.hardware.health.storage@1.0",
191         "libhidltransport",
192     ],
193 }
194
195 cc_binary {
196     name: "vdc",
197     defaults: ["vold_default_flags"],
198
199     srcs: ["vdc.cpp"],
200     shared_libs: [
201         "libbase",
202         "libbinder",
203         "libcutils",
204         "libutils",
205     ],
206     static_libs: [
207         "libvold_binder",
208     ],
209     init_rc: ["vdc.rc"],
210 }
211
212 cc_binary {
213     name: "wait_for_keymaster",
214     defaults: ["vold_default_flags"],
215
216     srcs: [
217         "wait_for_keymaster.cpp",
218         "Keymaster.cpp",
219     ],
220     shared_libs: [
221         "libbase",
222         "libbinder",
223
224         "android.hardware.keymaster@3.0",
225         "android.hardware.keymaster@4.0",
226         "libhardware",
227         "libhardware_legacy",
228         "libhidlbase",
229         "libhwbinder",
230         "libkeymaster4support",
231     ],
232 }
233
234 cc_binary {
235     name: "secdiscard",
236     defaults: ["vold_default_flags"],
237
238     srcs: [
239         "FileDeviceUtils.cpp",
240         "secdiscard.cpp",
241     ],
242     shared_libs: ["libbase"],
243 }
244
245 cc_binary {
246     name: "vold_prepare_subdirs",
247     defaults: ["vold_default_flags"],
248
249     srcs: ["vold_prepare_subdirs.cpp", "Utils.cpp"],
250     shared_libs: [
251         "libbase",
252         "libcutils",
253         "liblogwrap",
254         "libselinux",
255         "libutils",
256     ],
257     static_libs: [
258         "libvold_binder",
259     ],
260 }
261
262 filegroup {
263     name: "vold_aidl",
264     srcs: [
265         "binder/android/os/IVold.aidl",
266         "binder/android/os/IVoldListener.aidl",
267         "binder/android/os/IVoldTaskListener.aidl",
268     ],
269 }
270
271 subdirs = ["tests"]