blob: de11ec63259a36d7a2670523732b05d706b990c8 [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",
29 "entropy.cpp",
30 "grant_store.cpp",
31 "key_store_service.cpp",
32 "keyblob_utils.cpp",
33 "keymaster_enforcement.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060034 "keystore_attestation_id.cpp",
35 "keystore_main.cpp",
36 "keystore_utils.cpp",
37 "legacy_keymaster_device_wrapper.cpp",
38 "operation.cpp",
39 "permissions.cpp",
40 "user_state.cpp",
41 ],
42 shared_libs: [
43 "android.hardware.keymaster@3.0",
Shawn Willden0329a822017-12-04 13:55:14 -070044 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060045 "android.system.wifi.keystore@1.0",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070046 "libbase",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060047 "libbinder",
48 "libcrypto",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060049 "libhardware",
50 "libhidlbase",
51 "libhidltransport",
52 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -070053 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060054 "libkeymaster_messages",
55 "libkeymaster_portable",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080056 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060057 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080058 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060059 "liblog",
60 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060061 "libsoftkeymasterdevice",
62 "libutils",
63 "libwifikeystorehal",
64 ],
65 init_rc: ["keystore.rc"],
66 aidl: {
67 include_dirs: ["frameworks/base/core/java/"],
68 },
69
70 product_variables: {
71 pdk: {
72 enabled: false,
73 },
74 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000075
76 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060077}
78
79cc_binary {
80 name: "keystore_cli",
81 defaults: ["keystore_defaults"],
82 tags: ["debug"],
83
84 srcs: ["keystore_cli.cpp"],
85 shared_libs: [
86 "android.hardware.keymaster@3.0",
87 "libbinder",
88 "libcrypto",
89 "libcutils",
90 "libhidlbase",
91 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080092 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060093 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080094 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060095 "liblog",
96 "libutils",
97 ],
98}
99
100cc_binary {
101 name: "keystore_cli_v2",
102 defaults: ["keystore_defaults"],
103 tags: ["debug"],
104
105 cflags: [
106 "-DKEYMASTER_NAME_TAGS",
107 "-Wno-unused-parameter",
108 ],
109 srcs: ["keystore_cli_v2.cpp"],
110 shared_libs: [
111 "android.hardware.keymaster@3.0",
112 "libchrome",
113 "libhidlbase",
114 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700115 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600116 "libkeystore_binder",
117 ],
118
119 local_include_dirs: ["include"],
120}
121
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800122cc_library_shared {
123 name: "libkeystore_parcelables",
124 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800125 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800126 srcs: [
127 "KeyAttestationApplicationId.cpp",
128 "KeyAttestationPackageInfo.cpp",
129 "KeymasterArguments.cpp",
130 "KeystoreArguments.cpp",
131 "OperationResult.cpp",
132 "Signature.cpp",
133 "keystore_aidl_hidl_marshalling_utils.cpp",
134 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800135 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700136 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800137 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800138 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800139 "libhidlbase",
140 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700141 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800142 "liblog",
143 "libprotobuf-cpp-lite",
144 "libutils",
145 ],
146 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700147 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800148 "libbinder",
149 "libhidlbase",
150 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700151 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800152 ],
153}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600154// Library for keystore clients
155cc_library_shared {
156 name: "libkeystore_binder",
157 defaults: ["keystore_defaults"],
158
159 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600160 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600161 "keystore_client.proto",
162 "keystore_client_impl.cpp",
163 "keystore_get.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600164 ],
165 shared_libs: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700166 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600167 "libbinder",
168 "libhidlbase",
169 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700170 "libkeymaster4support",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800171 "libkeystore_aidl",
172 "libkeystore_parcelables",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700173 "liblog",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600174 "libprotobuf-cpp-lite",
175 "libutils",
176 ],
177
178 proto: {
179 type: "lite",
180 export_proto_headers: true,
181 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700182 aidl: {
183 export_aidl_headers: true,
184 include_dirs: ["frameworks/base/core/java/"],
185 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600186 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600187 export_shared_lib_headers: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700188 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600189 "libbinder",
190 "libhidlbase",
191 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800192 "libkeystore_aidl",
193 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600194 ],
195}
196
197// Library for keystore clients using the WiFi HIDL interface
198cc_library_shared {
199 name: "libkeystore-wifi-hidl",
200 defaults: ["keystore_defaults"],
201
202 srcs: ["keystore_get_wifi_hidl.cpp"],
203 shared_libs: [
204 "android.system.wifi.keystore@1.0",
205 "libbase",
206 "libhidlbase",
207 "libhidltransport",
208 "liblog",
209 "libutils",
210 ],
211
212 export_include_dirs: ["include"],
213
214 vendor: true,
215}
216
217// Library for unit tests
218cc_library_static {
219 name: "libkeystore_test",
220 defaults: ["keystore_defaults"],
221
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800222 srcs: [
223 "auth_token_table.cpp",
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800224 ],
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700225 cflags: [ "-O0", ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600226 static_libs: ["libgtest_main"],
227 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700228 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600229 "libhidlbase",
230 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700231 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600232 "libutils",
233 ],
234 export_shared_lib_headers: [
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 ],
240
241 export_include_dirs: ["include"],
242}
243
244subdirs = ["tests"]