blob: ef8bc727ef64734783eb42b9ce918916fa3fc74c [file] [log] [blame]
Jeff Sharkeyc493cf92017-10-23 10:39:50 -06001cc_defaults {
2 name: "keystore_defaults",
3
4 cflags: [
5 "-Wall",
6 "-Werror",
7 "-Wextra",
8 "-Wunused",
9 ],
10
11 sanitize: {
12 misc_undefined: ["integer"],
13 },
14
15 clang: true,
16}
17
18cc_binary {
19 name: "keystore",
20 defaults: ["keystore_defaults"],
21
22 srcs: [
23 ":IKeyAttestationApplicationIdProvider.aidl",
Shawn Willdenfa5702f2017-12-03 15:14:58 -070024 "KeyStore.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060025 "auth_token_table.cpp",
26 "blob.cpp",
27 "entropy.cpp",
28 "grant_store.cpp",
29 "key_store_service.cpp",
30 "keyblob_utils.cpp",
31 "keymaster_enforcement.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060032 "keystore_attestation_id.cpp",
33 "keystore_main.cpp",
34 "keystore_utils.cpp",
35 "legacy_keymaster_device_wrapper.cpp",
36 "operation.cpp",
37 "permissions.cpp",
38 "user_state.cpp",
39 ],
40 shared_libs: [
41 "android.hardware.keymaster@3.0",
42 "android.system.wifi.keystore@1.0",
43 "libbinder",
44 "libcrypto",
45 "libcutils",
46 "libhardware",
47 "libhidlbase",
48 "libhidltransport",
49 "libhwbinder",
50 "libkeymaster_messages",
51 "libkeymaster_portable",
52 "libkeymaster_staging",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080053 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060054 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080055 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060056 "liblog",
57 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060058 "libsoftkeymasterdevice",
59 "libutils",
60 "libwifikeystorehal",
61 ],
62 init_rc: ["keystore.rc"],
63 aidl: {
64 include_dirs: ["frameworks/base/core/java/"],
65 },
66
67 product_variables: {
68 pdk: {
69 enabled: false,
70 },
71 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000072
73 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060074}
75
76cc_binary {
77 name: "keystore_cli",
78 defaults: ["keystore_defaults"],
79 tags: ["debug"],
80
81 srcs: ["keystore_cli.cpp"],
82 shared_libs: [
83 "android.hardware.keymaster@3.0",
84 "libbinder",
85 "libcrypto",
86 "libcutils",
87 "libhidlbase",
88 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080089 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060090 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080091 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060092 "liblog",
93 "libutils",
94 ],
95}
96
97cc_binary {
98 name: "keystore_cli_v2",
99 defaults: ["keystore_defaults"],
100 tags: ["debug"],
101
102 cflags: [
103 "-DKEYMASTER_NAME_TAGS",
104 "-Wno-unused-parameter",
105 ],
106 srcs: ["keystore_cli_v2.cpp"],
107 shared_libs: [
108 "android.hardware.keymaster@3.0",
109 "libchrome",
110 "libhidlbase",
111 "libhwbinder",
112 "libkeystore_binder",
113 ],
114
115 local_include_dirs: ["include"],
116}
117
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800118cc_library_shared {
119 name: "libkeystore_parcelables",
120 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800121 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800122 srcs: [
123 "KeyAttestationApplicationId.cpp",
124 "KeyAttestationPackageInfo.cpp",
125 "KeymasterArguments.cpp",
126 "KeystoreArguments.cpp",
127 "OperationResult.cpp",
128 "Signature.cpp",
129 "keystore_aidl_hidl_marshalling_utils.cpp",
130 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800131 shared_libs: [
132 "android.hardware.keymaster@3.0",
133 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800134 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800135 "libhidlbase",
136 "libhwbinder",
137 "liblog",
138 "libprotobuf-cpp-lite",
139 "libutils",
140 ],
141 export_shared_lib_headers: [
142 "android.hardware.keymaster@3.0",
143 "libbinder",
144 "libhidlbase",
145 "libhwbinder",
146 ],
147}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600148// Library for keystore clients
149cc_library_shared {
150 name: "libkeystore_binder",
151 defaults: ["keystore_defaults"],
152
153 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600154 "authorization_set.cpp",
155 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600156 "keystore_client.proto",
157 "keystore_client_impl.cpp",
158 "keystore_get.cpp",
159 "keystore_tags_utils.cpp",
160 ],
161 shared_libs: [
162 "android.hardware.keymaster@3.0",
163 "libbinder",
164 "libhidlbase",
165 "libhwbinder",
166 "liblog",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800167 "libkeystore_aidl",
168 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600169 "libprotobuf-cpp-lite",
170 "libutils",
171 ],
172
173 proto: {
174 type: "lite",
175 export_proto_headers: true,
176 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700177 aidl: {
178 export_aidl_headers: true,
179 include_dirs: ["frameworks/base/core/java/"],
180 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600181 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600182 export_shared_lib_headers: [
183 "android.hardware.keymaster@3.0",
184 "libbinder",
185 "libhidlbase",
186 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800187 "libkeystore_aidl",
188 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600189 ],
190}
191
192// Library for keystore clients using the WiFi HIDL interface
193cc_library_shared {
194 name: "libkeystore-wifi-hidl",
195 defaults: ["keystore_defaults"],
196
197 srcs: ["keystore_get_wifi_hidl.cpp"],
198 shared_libs: [
199 "android.system.wifi.keystore@1.0",
200 "libbase",
201 "libhidlbase",
202 "libhidltransport",
203 "liblog",
204 "libutils",
205 ],
206
207 export_include_dirs: ["include"],
208
209 vendor: true,
210}
211
212// Library for unit tests
213cc_library_static {
214 name: "libkeystore_test",
215 defaults: ["keystore_defaults"],
216
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800217 srcs: [
218 "auth_token_table.cpp",
219 "authorization_set.cpp",
220 ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600221 static_libs: ["libgtest_main"],
222 shared_libs: [
223 "android.hardware.keymaster@3.0",
224 "libhidlbase",
225 "libhwbinder",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600226 "libutils",
227 ],
228 export_shared_lib_headers: [
229 "android.hardware.keymaster@3.0",
230 "libhidlbase",
231 "libhwbinder",
232 ],
233
234 export_include_dirs: ["include"],
235}
236
237subdirs = ["tests"]