blob: c97862a663a3898db9788912b291b2f463b4ad25 [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",
Shawn Willden0329a822017-12-04 13:55:14 -070042 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060043 "android.system.wifi.keystore@1.0",
Shawn Willdenc67a8aa2017-12-03 17:51:29 -070044 "libbase",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060045 "libbinder",
46 "libcrypto",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060047 "libhardware",
48 "libhidlbase",
49 "libhidltransport",
50 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -070051 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060052 "libkeymaster_messages",
53 "libkeymaster_portable",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080054 "libkeystore_aidl",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060055 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080056 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060057 "liblog",
58 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060059 "libsoftkeymasterdevice",
60 "libutils",
61 "libwifikeystorehal",
62 ],
63 init_rc: ["keystore.rc"],
64 aidl: {
65 include_dirs: ["frameworks/base/core/java/"],
66 },
67
68 product_variables: {
69 pdk: {
70 enabled: false,
71 },
72 },
Rubin Xu0d0e1132017-12-08 15:50:50 +000073
74 required: ["keystore_cli_v2"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060075}
76
77cc_binary {
78 name: "keystore_cli",
79 defaults: ["keystore_defaults"],
80 tags: ["debug"],
81
82 srcs: ["keystore_cli.cpp"],
83 shared_libs: [
84 "android.hardware.keymaster@3.0",
85 "libbinder",
86 "libcrypto",
87 "libcutils",
88 "libhidlbase",
89 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080090 "libkeystore_aidl", // for IKeyStoreService.asInterface()
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060091 "libkeystore_binder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -080092 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060093 "liblog",
94 "libutils",
95 ],
96}
97
98cc_binary {
99 name: "keystore_cli_v2",
100 defaults: ["keystore_defaults"],
101 tags: ["debug"],
102
103 cflags: [
104 "-DKEYMASTER_NAME_TAGS",
105 "-Wno-unused-parameter",
106 ],
107 srcs: ["keystore_cli_v2.cpp"],
108 shared_libs: [
109 "android.hardware.keymaster@3.0",
110 "libchrome",
111 "libhidlbase",
112 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700113 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600114 "libkeystore_binder",
115 ],
116
117 local_include_dirs: ["include"],
118}
119
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800120cc_library_shared {
121 name: "libkeystore_parcelables",
122 defaults: ["keystore_defaults"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800123 export_include_dirs: ["include"],
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800124 srcs: [
125 "KeyAttestationApplicationId.cpp",
126 "KeyAttestationPackageInfo.cpp",
127 "KeymasterArguments.cpp",
128 "KeystoreArguments.cpp",
129 "OperationResult.cpp",
130 "Signature.cpp",
131 "keystore_aidl_hidl_marshalling_utils.cpp",
132 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800133 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700134 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800135 "libbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800136 "libhardware",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800137 "libhidlbase",
138 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700139 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800140 "liblog",
141 "libprotobuf-cpp-lite",
142 "libutils",
143 ],
144 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700145 "android.hardware.keymaster@4.0",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800146 "libbinder",
147 "libhidlbase",
148 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700149 "libkeymaster4support",
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800150 ],
151}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600152// Library for keystore clients
153cc_library_shared {
154 name: "libkeystore_binder",
155 defaults: ["keystore_defaults"],
156
157 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600158 "keyblob_utils.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600159 "keystore_client.proto",
160 "keystore_client_impl.cpp",
161 "keystore_get.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600162 ],
163 shared_libs: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700164 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600165 "libbinder",
166 "libhidlbase",
167 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700168 "libkeymaster4support",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800169 "libkeystore_aidl",
170 "libkeystore_parcelables",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700171 "liblog",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600172 "libprotobuf-cpp-lite",
173 "libutils",
174 ],
175
176 proto: {
177 type: "lite",
178 export_proto_headers: true,
179 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700180 aidl: {
181 export_aidl_headers: true,
182 include_dirs: ["frameworks/base/core/java/"],
183 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600184 export_include_dirs: ["include"],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600185 export_shared_lib_headers: [
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700186 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600187 "libbinder",
188 "libhidlbase",
189 "libhwbinder",
Dmitry Dementyevab8aa1c2017-11-28 12:13:22 -0800190 "libkeystore_aidl",
191 "libkeystore_parcelables",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600192 ],
193}
194
195// Library for keystore clients using the WiFi HIDL interface
196cc_library_shared {
197 name: "libkeystore-wifi-hidl",
198 defaults: ["keystore_defaults"],
199
200 srcs: ["keystore_get_wifi_hidl.cpp"],
201 shared_libs: [
202 "android.system.wifi.keystore@1.0",
203 "libbase",
204 "libhidlbase",
205 "libhidltransport",
206 "liblog",
207 "libutils",
208 ],
209
210 export_include_dirs: ["include"],
211
212 vendor: true,
213}
214
215// Library for unit tests
216cc_library_static {
217 name: "libkeystore_test",
218 defaults: ["keystore_defaults"],
219
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800220 srcs: [
221 "auth_token_table.cpp",
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800222 ],
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700223 cflags: [ "-O0", ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600224 static_libs: ["libgtest_main"],
225 shared_libs: [
Shawn Willden0329a822017-12-04 13:55:14 -0700226 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600227 "libhidlbase",
228 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700229 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600230 "libutils",
231 ],
232 export_shared_lib_headers: [
Shawn Willden0329a822017-12-04 13:55:14 -0700233 "android.hardware.keymaster@4.0",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600234 "libhidlbase",
235 "libhwbinder",
Shawn Willdenbb22a6c2017-12-06 19:35:28 -0700236 "libkeymaster4support",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600237 ],
238
239 export_include_dirs: ["include"],
240}
241
242subdirs = ["tests"]