blob: 565351d332f8a29c2b933e81e6b798b2df24f437 [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",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060026 "auth_token_table.cpp",
27 "blob.cpp",
28 "entropy.cpp",
29 "grant_store.cpp",
30 "key_store_service.cpp",
31 "keyblob_utils.cpp",
32 "keymaster_enforcement.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060033 "keystore_attestation_id.cpp",
34 "keystore_main.cpp",
35 "keystore_utils.cpp",
36 "legacy_keymaster_device_wrapper.cpp",
37 "operation.cpp",
38 "permissions.cpp",
39 "user_state.cpp",
40 ],
41 shared_libs: [
42 "android.hardware.keymaster@3.0",
Shawn Willden0329a822017-12-04 13:55:14 -070043 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060044 "android.system.wifi.keystore@1.0",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070045 "libbase",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060046 "libbinder",
47 "libcrypto",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060048 "libhardware",
49 "libhidlbase",
50 "libhidltransport",
51 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -070052 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060053 "libkeymaster_messages",
54 "libkeymaster_portable",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080055 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060056 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080057 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060058 "liblog",
59 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060060 "libsoftkeymasterdevice",
61 "libutils",
62 "libwifikeystorehal",
63 ],
64 init_rc: ["keystore.rc"],
65 aidl: {
66 include_dirs: ["frameworks/base/core/java/"],
67 },
68
69 product_variables: {
70 pdk: {
71 enabled: false,
72 },
73 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000074
75 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060076}
77
78cc_binary {
79 name: "keystore_cli",
80 defaults: ["keystore_defaults"],
81 tags: ["debug"],
82
83 srcs: ["keystore_cli.cpp"],
84 shared_libs: [
85 "android.hardware.keymaster@3.0",
86 "libbinder",
87 "libcrypto",
88 "libcutils",
89 "libhidlbase",
90 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080091 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060092 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080093 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060094 "liblog",
95 "libutils",
96 ],
97}
98
99cc_binary {
100 name: "keystore_cli_v2",
101 defaults: ["keystore_defaults"],
102 tags: ["debug"],
103
104 cflags: [
105 "-DKEYMASTER_NAME_TAGS",
106 "-Wno-unused-parameter",
107 ],
108 srcs: ["keystore_cli_v2.cpp"],
109 shared_libs: [
110 "android.hardware.keymaster@3.0",
111 "libchrome",
112 "libhidlbase",
113 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700114 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600115 "libkeystore_binder",
116 ],
117
118 local_include_dirs: ["include"],
119}
120
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800121cc_library_shared {
122 name: "libkeystore_parcelables",
123 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800124 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800125 srcs: [
126 "KeyAttestationApplicationId.cpp",
127 "KeyAttestationPackageInfo.cpp",
128 "KeymasterArguments.cpp",
129 "KeystoreArguments.cpp",
130 "OperationResult.cpp",
131 "Signature.cpp",
132 "keystore_aidl_hidl_marshalling_utils.cpp",
133 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800134 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700135 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800136 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800137 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800138 "libhidlbase",
139 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700140 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800141 "liblog",
142 "libprotobuf-cpp-lite",
143 "libutils",
144 ],
145 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700146 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800147 "libbinder",
148 "libhidlbase",
149 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700150 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800151 ],
152}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600153// Library for keystore clients
154cc_library_shared {
155 name: "libkeystore_binder",
156 defaults: ["keystore_defaults"],
157
158 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600159 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600160 "keystore_client.proto",
161 "keystore_client_impl.cpp",
162 "keystore_get.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600163 ],
164 shared_libs: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700165 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600166 "libbinder",
167 "libhidlbase",
168 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700169 "libkeymaster4support",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800170 "libkeystore_aidl",
171 "libkeystore_parcelables",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700172 "liblog",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600173 "libprotobuf-cpp-lite",
174 "libutils",
175 ],
176
177 proto: {
178 type: "lite",
179 export_proto_headers: true,
180 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700181 aidl: {
182 export_aidl_headers: true,
183 include_dirs: ["frameworks/base/core/java/"],
184 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600185 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600186 export_shared_lib_headers: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700187 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600188 "libbinder",
189 "libhidlbase",
190 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800191 "libkeystore_aidl",
192 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600193 ],
194}
195
196// Library for keystore clients using the WiFi HIDL interface
197cc_library_shared {
198 name: "libkeystore-wifi-hidl",
199 defaults: ["keystore_defaults"],
200
201 srcs: ["keystore_get_wifi_hidl.cpp"],
202 shared_libs: [
203 "android.system.wifi.keystore@1.0",
204 "libbase",
205 "libhidlbase",
206 "libhidltransport",
207 "liblog",
208 "libutils",
209 ],
210
211 export_include_dirs: ["include"],
212
213 vendor: true,
214}
215
216// Library for unit tests
217cc_library_static {
218 name: "libkeystore_test",
219 defaults: ["keystore_defaults"],
220
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800221 srcs: [
222 "auth_token_table.cpp",
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800223 ],
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700224 cflags: [ "-O0", ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600225 static_libs: ["libgtest_main"],
226 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700227 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600228 "libhidlbase",
229 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700230 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600231 "libutils",
232 ],
233 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700234 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600235 "libhidlbase",
236 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700237 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600238 ],
239
240 export_include_dirs: ["include"],
241}
242
243subdirs = ["tests"]