blob: aca64937567620c5fad57eafed55dafd03dec17d [file] [log] [blame]
Jeff Sharkeyd16dc502017-10-23 14:38:55 -06001cc_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*",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -060020 ],
21 tidy_flags: [
22 "-warnings-as-errors=clang-analyzer-security*,cert-*",
23 ],
24}
25
26cc_defaults {
27 name: "vold_default_libs",
28
29 static_libs: [
30 "libavb",
31 "libbootloader_message",
32 "libfec",
33 "libfec_rs",
34 "libfs_mgr",
35 "libscrypt_static",
36 "libsquashfs_utils",
37 "libvold_binder",
38 ],
39 shared_libs: [
40 "android.hardware.keymaster@3.0",
41 "libbase",
42 "libbinder",
43 "libcrypto",
44 "libcrypto_utils",
45 "libcutils",
46 "libdiskconfig",
47 "libext4_utils",
48 "libf2fs_sparseblock",
49 "libhardware",
50 "libhardware_legacy",
51 "libhidlbase",
52 "libhwbinder",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -060053 "libkeyutils",
54 "liblog",
55 "liblogwrap",
56 "libselinux",
57 "libsysutils",
58 "libutils",
59 ],
60}
61
62cc_library_static {
63 name: "libvold_binder",
64 defaults: ["vold_default_flags"],
65
66 srcs: [
Colin Crossa8388632017-11-25 08:47:19 -080067 ":vold_aidl",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -060068 ],
69 shared_libs: [
70 "libbinder",
71 "libutils",
72 ],
73 aidl: {
74 local_include_dirs: ["binder"],
75 include_dirs: ["frameworks/native/aidl/binder"],
76 export_aidl_headers: true,
77 },
78}
79
Risanaedae612017-11-27 18:01:35 +090080cc_library_headers {
81 name: "libvold_headers",
82 export_include_dirs: ["."],
83}
84
Jeff Sharkeyd16dc502017-10-23 14:38:55 -060085// Static library factored out to support testing
86cc_library_static {
87 name: "libvold",
88 defaults: [
89 "vold_default_flags",
90 "vold_default_libs",
91 ],
92
93 srcs: [
94 "Benchmark.cpp",
Jeff Sharkey2048a282017-06-15 09:59:43 -060095 "CheckEncryption.cpp",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -060096 "Devmapper.cpp",
97 "EncryptInplace.cpp",
98 "Ext4Crypt.cpp",
Jeff Sharkey2048a282017-06-15 09:59:43 -060099 "FileDeviceUtils.cpp",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600100 "IdleMaint.cpp",
101 "KeyBuffer.cpp",
102 "KeyStorage.cpp",
103 "KeyUtil.cpp",
104 "Keymaster.cpp",
105 "Loop.cpp",
106 "MetadataCrypt.cpp",
107 "MoveStorage.cpp",
108 "NetlinkHandler.cpp",
109 "NetlinkManager.cpp",
110 "Process.cpp",
111 "ScryptParameters.cpp",
112 "Utils.cpp",
113 "VoldNativeService.cpp",
114 "VoldUtil.cpp",
115 "VolumeManager.cpp",
Shawn Willdenf4527742017-11-09 15:59:39 -0700116 "authorization_set.cpp",
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600117 "cryptfs.cpp",
118 "fs/Ext4.cpp",
119 "fs/F2fs.cpp",
120 "fs/Vfat.cpp",
121 "model/Disk.cpp",
122 "model/EmulatedVolume.cpp",
123 "model/ObbVolume.cpp",
124 "model/PrivateVolume.cpp",
125 "model/PublicVolume.cpp",
126 "model/VolumeBase.cpp",
127 "secontext.cpp",
128 ],
Risanaedae612017-11-27 18:01:35 +0900129 product_variables: {
130 arc: {
131 exclude_srcs: [
132 "model/ObbVolume.cpp",
133 ],
134 static_libs: [
135 "libarcobbvolume",
136 ],
137 },
138 },
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600139}
140
141cc_binary {
142 name: "vold",
143 defaults: [
144 "vold_default_flags",
145 "vold_default_libs",
146 ],
147
148 srcs: ["main.cpp"],
149 static_libs: ["libvold"],
Risanaedae612017-11-27 18:01:35 +0900150 product_variables: {
151 arc: {
152 static_libs: [
153 "libarcobbvolume",
154 ]
155 },
156 },
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600157 init_rc: ["vold.rc"],
158
159 required: [
160 "mke2fs",
161 "vold_prepare_subdirs",
162 ],
163}
164
165cc_binary {
166 name: "vdc",
167 defaults: ["vold_default_flags"],
168
169 srcs: ["vdc.cpp"],
170 shared_libs: [
171 "libbase",
172 "libbinder",
173 "libcutils",
174 "libutils",
175 ],
176 static_libs: [
177 "libvold_binder",
178 ],
179 init_rc: ["vdc.rc"],
180}
181
182cc_binary {
183 name: "secdiscard",
184 defaults: ["vold_default_flags"],
185
186 srcs: [
187 "FileDeviceUtils.cpp",
188 "secdiscard.cpp",
189 ],
190 shared_libs: ["libbase"],
191}
192
193cc_binary {
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600194 name: "vold_prepare_subdirs",
195 defaults: ["vold_default_flags"],
196
Paul Crowley82b41ff2017-10-20 08:17:54 -0700197 srcs: ["vold_prepare_subdirs.cpp", "Utils.cpp"],
198 shared_libs: [
199 "libbase",
200 "libcutils",
201 "liblogwrap",
202 "libselinux",
203 "libutils",
204 ],
205 static_libs: [
206 "libvold_binder",
207 ],
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600208}
209
Colin Crossa8388632017-11-25 08:47:19 -0800210filegroup {
211 name: "vold_aidl",
212 srcs: [
213 "binder/android/os/IVold.aidl",
214 "binder/android/os/IVoldListener.aidl",
215 "binder/android/os/IVoldTaskListener.aidl",
216 ],
217}
218
Jeff Sharkeyd16dc502017-10-23 14:38:55 -0600219subdirs = ["tests"]