blob: 42fcf8ed229d700e3bb996fe3cd8a2177cd298cc [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",
24 "auth_token_table.cpp",
25 "blob.cpp",
26 "entropy.cpp",
27 "grant_store.cpp",
28 "key_store_service.cpp",
29 "keyblob_utils.cpp",
30 "keymaster_enforcement.cpp",
31 "keystore.cpp",
32 "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 },
72}
73
74cc_binary {
75 name: "keystore_cli",
76 defaults: ["keystore_defaults"],
77 tags: ["debug"],
78
79 srcs: ["keystore_cli.cpp"],
80 shared_libs: [
81 "android.hardware.keymaster@3.0",
82 "libbinder",
83 "libcrypto",
84 "libcutils",
85 "libhidlbase",
86 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080087 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060088 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080089 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060090 "liblog",
91 "libutils",
92 ],
93}
94
95cc_binary {
96 name: "keystore_cli_v2",
97 defaults: ["keystore_defaults"],
98 tags: ["debug"],
99
100 cflags: [
101 "-DKEYMASTER_NAME_TAGS",
102 "-Wno-unused-parameter",
103 ],
104 srcs: ["keystore_cli_v2.cpp"],
105 shared_libs: [
106 "android.hardware.keymaster@3.0",
107 "libchrome",
108 "libhidlbase",
109 "libhwbinder",
110 "libkeystore_binder",
111 ],
112
113 local_include_dirs: ["include"],
114}
115
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800116cc_library_shared {
117 name: "libkeystore_parcelables",
118 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800119 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800120 srcs: [
121 "KeyAttestationApplicationId.cpp",
122 "KeyAttestationPackageInfo.cpp",
123 "KeymasterArguments.cpp",
124 "KeystoreArguments.cpp",
125 "OperationResult.cpp",
126 "Signature.cpp",
127 "keystore_aidl_hidl_marshalling_utils.cpp",
128 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800129 shared_libs: [
130 "android.hardware.keymaster@3.0",
131 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800132 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800133 "libhidlbase",
134 "libhwbinder",
135 "liblog",
136 "libprotobuf-cpp-lite",
137 "libutils",
138 ],
139 export_shared_lib_headers: [
140 "android.hardware.keymaster@3.0",
141 "libbinder",
142 "libhidlbase",
143 "libhwbinder",
144 ],
145}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600146// Library for keystore clients
147cc_library_shared {
148 name: "libkeystore_binder",
149 defaults: ["keystore_defaults"],
150
151 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600152 "authorization_set.cpp",
153 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600154 "keystore_client.proto",
155 "keystore_client_impl.cpp",
156 "keystore_get.cpp",
157 "keystore_tags_utils.cpp",
158 ],
159 shared_libs: [
160 "android.hardware.keymaster@3.0",
161 "libbinder",
162 "libhidlbase",
163 "libhwbinder",
164 "liblog",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800165 "libkeystore_aidl",
166 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600167 "libprotobuf-cpp-lite",
168 "libutils",
169 ],
170
171 proto: {
172 type: "lite",
173 export_proto_headers: true,
174 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700175 aidl: {
176 export_aidl_headers: true,
177 include_dirs: ["frameworks/base/core/java/"],
178 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600179 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600180 export_shared_lib_headers: [
181 "android.hardware.keymaster@3.0",
182 "libbinder",
183 "libhidlbase",
184 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800185 "libkeystore_aidl",
186 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600187 ],
188}
189
190// Library for keystore clients using the WiFi HIDL interface
191cc_library_shared {
192 name: "libkeystore-wifi-hidl",
193 defaults: ["keystore_defaults"],
194
195 srcs: ["keystore_get_wifi_hidl.cpp"],
196 shared_libs: [
197 "android.system.wifi.keystore@1.0",
198 "libbase",
199 "libhidlbase",
200 "libhidltransport",
201 "liblog",
202 "libutils",
203 ],
204
205 export_include_dirs: ["include"],
206
207 vendor: true,
208}
209
210// Library for unit tests
211cc_library_static {
212 name: "libkeystore_test",
213 defaults: ["keystore_defaults"],
214
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800215 srcs: [
216 "auth_token_table.cpp",
217 "authorization_set.cpp",
218 ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600219 static_libs: ["libgtest_main"],
220 shared_libs: [
221 "android.hardware.keymaster@3.0",
222 "libhidlbase",
223 "libhwbinder",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600224 "libutils",
225 ],
226 export_shared_lib_headers: [
227 "android.hardware.keymaster@3.0",
228 "libhidlbase",
229 "libhwbinder",
230 ],
231
232 export_include_dirs: ["include"],
233}
234
235subdirs = ["tests"]