blob: 35ffcdbce65eff76e464ef060a6ec558d2f4dec8 [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
112// Library for keystore clients
113cc_library_shared {
114 name: "libkeystore_binder",
115 defaults: ["keystore_defaults"],
116
117 srcs: [
118 "IKeystoreService.cpp",
119 "KeyAttestationApplicationId.cpp",
120 "KeyAttestationPackageInfo.cpp",
121 "Signature.cpp",
122 "authorization_set.cpp",
123 "keyblob_utils.cpp",
124 "keystore_aidl_hidl_marshalling_utils.cpp",
125 "keystore_client.proto",
126 "keystore_client_impl.cpp",
127 "keystore_get.cpp",
128 "keystore_tags_utils.cpp",
129 ],
130 shared_libs: [
131 "android.hardware.keymaster@3.0",
132 "libbinder",
133 "libhidlbase",
134 "libhwbinder",
135 "liblog",
136 "libprotobuf-cpp-lite",
137 "libutils",
138 ],
139
140 proto: {
141 type: "lite",
142 export_proto_headers: true,
143 },
144 export_include_dirs: ["include"],
145 export_shared_lib_headers: [
146 "android.hardware.keymaster@3.0",
147 "libbinder",
148 "libhidlbase",
149 "libhwbinder",
150 ],
151}
152
153// Library for keystore clients using the WiFi HIDL interface
154cc_library_shared {
155 name: "libkeystore-wifi-hidl",
156 defaults: ["keystore_defaults"],
157
158 srcs: ["keystore_get_wifi_hidl.cpp"],
159 shared_libs: [
160 "android.system.wifi.keystore@1.0",
161 "libbase",
162 "libhidlbase",
163 "libhidltransport",
164 "liblog",
165 "libutils",
166 ],
167
168 export_include_dirs: ["include"],
169
170 vendor: true,
171}
172
173// Library for unit tests
174cc_library_static {
175 name: "libkeystore_test",
176 defaults: ["keystore_defaults"],
177
178 srcs: ["auth_token_table.cpp"],
179 static_libs: ["libgtest_main"],
180 shared_libs: [
181 "android.hardware.keymaster@3.0",
182 "libhidlbase",
183 "libhwbinder",
184 "libkeymaster_messages",
185 "libutils",
186 ],
187 export_shared_lib_headers: [
188 "android.hardware.keymaster@3.0",
189 "libhidlbase",
190 "libhwbinder",
191 ],
192
193 export_include_dirs: ["include"],
194}
195
196subdirs = ["tests"]