blob: 68a81e6df0e4ab3f597ea7c525fe80bde2a15afe [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",
53 "libkeystore_binder",
54 "liblog",
55 "libselinux",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -060056 "libsoftkeymasterdevice",
57 "libutils",
58 "libwifikeystorehal",
59 ],
60 init_rc: ["keystore.rc"],
61 aidl: {
62 include_dirs: ["frameworks/base/core/java/"],
63 },
64
65 product_variables: {
66 pdk: {
67 enabled: false,
68 },
69 },
70}
71
72cc_binary {
73 name: "keystore_cli",
74 defaults: ["keystore_defaults"],
75 tags: ["debug"],
76
77 srcs: ["keystore_cli.cpp"],
78 shared_libs: [
79 "android.hardware.keymaster@3.0",
80 "libbinder",
81 "libcrypto",
82 "libcutils",
83 "libhidlbase",
84 "libhwbinder",
85 "libkeystore_binder",
86 "liblog",
87 "libutils",
88 ],
89}
90
91cc_binary {
92 name: "keystore_cli_v2",
93 defaults: ["keystore_defaults"],
94 tags: ["debug"],
95
96 cflags: [
97 "-DKEYMASTER_NAME_TAGS",
98 "-Wno-unused-parameter",
99 ],
100 srcs: ["keystore_cli_v2.cpp"],
101 shared_libs: [
102 "android.hardware.keymaster@3.0",
103 "libchrome",
104 "libhidlbase",
105 "libhwbinder",
106 "libkeystore_binder",
107 ],
108
109 local_include_dirs: ["include"],
110}
111
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800112cc_library_headers {
113 name: "libkeystore_headers",
114 export_include_dirs: ["include"],
115 shared_libs: [
116 "android.hardware.keymaster@3.0",
117 "libbinder",
118 "libhidlbase",
119 "libhwbinder",
120 "liblog",
121 "libprotobuf-cpp-lite",
122 "libutils",
123 ],
124 export_shared_lib_headers: [
125 "android.hardware.keymaster@3.0",
126 "libbinder",
127 "libhidlbase",
128 "libhwbinder",
129 ],
130}
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600131// Library for keystore clients
132cc_library_shared {
133 name: "libkeystore_binder",
134 defaults: ["keystore_defaults"],
135
136 srcs: [
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600137 "KeyAttestationApplicationId.cpp",
138 "KeyAttestationPackageInfo.cpp",
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700139 "KeymasterArguments.cpp",
140 "KeystoreArguments.cpp",
141 "OperationResult.cpp",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600142 "Signature.cpp",
143 "authorization_set.cpp",
144 "keyblob_utils.cpp",
145 "keystore_aidl_hidl_marshalling_utils.cpp",
146 "keystore_client.proto",
147 "keystore_client_impl.cpp",
148 "keystore_get.cpp",
149 "keystore_tags_utils.cpp",
150 ],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800151 static_libs: ["libkeystore_aidl",],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600152 shared_libs: [
153 "android.hardware.keymaster@3.0",
154 "libbinder",
155 "libhidlbase",
156 "libhwbinder",
157 "liblog",
158 "libprotobuf-cpp-lite",
159 "libutils",
160 ],
161
162 proto: {
163 type: "lite",
164 export_proto_headers: true,
165 },
Dmitry Dementyeva447b3c2017-10-27 23:09:53 -0700166 aidl: {
167 export_aidl_headers: true,
168 include_dirs: ["frameworks/base/core/java/"],
169 },
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600170 export_include_dirs: ["include"],
Dmitry Dementyevaf2968c2017-11-21 20:19:03 -0800171 export_static_lib_headers: [
172 "libkeystore_aidl",
173 ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600174 export_shared_lib_headers: [
175 "android.hardware.keymaster@3.0",
176 "libbinder",
177 "libhidlbase",
178 "libhwbinder",
179 ],
180}
181
182// Library for keystore clients using the WiFi HIDL interface
183cc_library_shared {
184 name: "libkeystore-wifi-hidl",
185 defaults: ["keystore_defaults"],
186
187 srcs: ["keystore_get_wifi_hidl.cpp"],
188 shared_libs: [
189 "android.system.wifi.keystore@1.0",
190 "libbase",
191 "libhidlbase",
192 "libhidltransport",
193 "liblog",
194 "libutils",
195 ],
196
197 export_include_dirs: ["include"],
198
199 vendor: true,
200}
201
202// Library for unit tests
203cc_library_static {
204 name: "libkeystore_test",
205 defaults: ["keystore_defaults"],
206
Janis Danisevskis8f737ad2017-11-21 12:30:15 -0800207 srcs: [
208 "auth_token_table.cpp",
209 "authorization_set.cpp",
210 ],
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600211 static_libs: ["libgtest_main"],
212 shared_libs: [
213 "android.hardware.keymaster@3.0",
214 "libhidlbase",
215 "libhwbinder",
Jeff Sharkeyc493cf92017-10-23 10:39:50 -0600216 "libutils",
217 ],
218 export_shared_lib_headers: [
219 "android.hardware.keymaster@3.0",
220 "libhidlbase",
221 "libhwbinder",
222 ],
223
224 export_include_dirs: ["include"],
225}
226
227subdirs = ["tests"]