blob: cedbfa90859e700e3fa1945567c794670ced6650 [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",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070025 "Keymaster3.cpp",
Janis Danisevskisc1460142017-12-18 16:48:46 -080026 "Keymaster4.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060027 "auth_token_table.cpp",
28 "blob.cpp",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -050029 "confirmation_manager.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060030 "entropy.cpp",
31 "grant_store.cpp",
32 "key_store_service.cpp",
33 "keyblob_utils.cpp",
34 "keymaster_enforcement.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060035 "keystore_attestation_id.cpp",
36 "keystore_main.cpp",
37 "keystore_utils.cpp",
38 "legacy_keymaster_device_wrapper.cpp",
39 "operation.cpp",
40 "permissions.cpp",
41 "user_state.cpp",
42 ],
43 shared_libs: [
David Zeuthenc6eb7cd2017-11-27 11:33:55 -050044 "android.hardware.confirmationui@1.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060045 "android.hardware.keymaster@3.0",
Shawn Willden0329a822017-12-04 13:55:14 -070046 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060047 "android.system.wifi.keystore@1.0",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070048 "libbase",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060049 "libbinder",
50 "libcrypto",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060051 "libhardware",
52 "libhidlbase",
53 "libhidltransport",
54 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -070055 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060056 "libkeymaster_messages",
57 "libkeymaster_portable",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080058 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060059 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080060 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060061 "liblog",
62 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060063 "libsoftkeymasterdevice",
64 "libutils",
65 "libwifikeystorehal",
66 ],
67 init_rc: ["keystore.rc"],
68 aidl: {
69 include_dirs: ["frameworks/base/core/java/"],
70 },
71
72 product_variables: {
73 pdk: {
74 enabled: false,
75 },
76 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000077
78 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060079}
80
81cc_binary {
82 name: "keystore_cli",
83 defaults: ["keystore_defaults"],
84 tags: ["debug"],
85
86 srcs: ["keystore_cli.cpp"],
87 shared_libs: [
88 "android.hardware.keymaster@3.0",
89 "libbinder",
90 "libcrypto",
91 "libcutils",
92 "libhidlbase",
93 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080094 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060095 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080096 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060097 "liblog",
98 "libutils",
99 ],
100}
101
102cc_binary {
103 name: "keystore_cli_v2",
104 defaults: ["keystore_defaults"],
105 tags: ["debug"],
106
107 cflags: [
108 "-DKEYMASTER_NAME_TAGS",
109 "-Wno-unused-parameter",
110 ],
111 srcs: ["keystore_cli_v2.cpp"],
112 shared_libs: [
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500113 "android.hardware.confirmationui@1.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600114 "android.hardware.keymaster@3.0",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500115 "libbinder",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600116 "libchrome",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500117 "libutils",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600118 "libhidlbase",
119 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700120 "libkeymaster4support",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500121 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600122 "libkeystore_binder",
David Zeuthenc6eb7cd2017-11-27 11:33:55 -0500123 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600124 ],
125
126 local_include_dirs: ["include"],
127}
128
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800129cc_library_shared {
130 name: "libkeystore_parcelables",
131 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800132 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800133 srcs: [
134 "KeyAttestationApplicationId.cpp",
135 "KeyAttestationPackageInfo.cpp",
136 "KeymasterArguments.cpp",
137 "KeystoreArguments.cpp",
138 "OperationResult.cpp",
139 "Signature.cpp",
140 "keystore_aidl_hidl_marshalling_utils.cpp",
141 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800142 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700143 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800144 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800145 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800146 "libhidlbase",
147 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700148 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800149 "liblog",
150 "libprotobuf-cpp-lite",
151 "libutils",
152 ],
153 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700154 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800155 "libbinder",
156 "libhidlbase",
157 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700158 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800159 ],
160}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600161// Library for keystore clients
162cc_library_shared {
163 name: "libkeystore_binder",
164 defaults: ["keystore_defaults"],
165
166 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600167 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600168 "keystore_client.proto",
169 "keystore_client_impl.cpp",
170 "keystore_get.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600171 ],
172 shared_libs: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700173 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600174 "libbinder",
175 "libhidlbase",
176 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700177 "libkeymaster4support",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800178 "libkeystore_aidl",
179 "libkeystore_parcelables",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700180 "liblog",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600181 "libprotobuf-cpp-lite",
182 "libutils",
183 ],
184
185 proto: {
186 type: "lite",
187 export_proto_headers: true,
188 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700189 aidl: {
190 export_aidl_headers: true,
191 include_dirs: ["frameworks/base/core/java/"],
192 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600193 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600194 export_shared_lib_headers: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700195 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600196 "libbinder",
197 "libhidlbase",
198 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800199 "libkeystore_aidl",
200 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600201 ],
202}
203
204// Library for keystore clients using the WiFi HIDL interface
205cc_library_shared {
206 name: "libkeystore-wifi-hidl",
207 defaults: ["keystore_defaults"],
208
209 srcs: ["keystore_get_wifi_hidl.cpp"],
210 shared_libs: [
211 "android.system.wifi.keystore@1.0",
212 "libbase",
213 "libhidlbase",
214 "libhidltransport",
215 "liblog",
216 "libutils",
217 ],
218
219 export_include_dirs: ["include"],
220
221 vendor: true,
222}
223
224// Library for unit tests
225cc_library_static {
226 name: "libkeystore_test",
227 defaults: ["keystore_defaults"],
228
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800229 srcs: [
230 "auth_token_table.cpp",
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800231 ],
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700232 cflags: [ "-O0", ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600233 static_libs: ["libgtest_main"],
234 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700235 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600236 "libhidlbase",
237 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700238 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600239 "libutils",
240 ],
241 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700242 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600243 "libhidlbase",
244 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700245 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600246 ],
247
248 export_include_dirs: ["include"],
249}
250
251subdirs = ["tests"]