blob: dd4c04b0793b96e57322bd0dc7c98c110b8558c5 [file] [log] [blame]
John Park33858a32018-09-28 23:05:48 -07001load("//tools:environments.bzl", "mcu_cpus")
2load("//aos/build:queues.bzl", "queue_library")
Brian Silverman258b9172015-09-19 14:32:57 -04003filegroup(
Brian Silverman6470f442018-08-05 12:08:16 -07004 name = "prime_binaries",
5 srcs = [
John Park33858a32018-09-28 23:05:48 -07006 "//aos/logging:log_displayer",
7 "//aos/logging:log_streamer",
Brian Silverman6470f442018-08-05 12:08:16 -07008 "//aos/linux_code:core",
9 "//aos/linux_code/starter",
10 ],
11 visibility = ["//visibility:public"],
Austin Schuh1eceeb92015-11-08 21:16:06 -080012)
Austin Schuhc80dd152016-02-29 01:47:44 -080013
14filegroup(
Brian Silverman6470f442018-08-05 12:08:16 -070015 name = "prime_start_binaries",
16 srcs = [
John Park33858a32018-09-28 23:05:48 -070017 "//aos/logging:binary_log_writer",
Brian Silverman6470f442018-08-05 12:08:16 -070018 ],
19 visibility = ["//visibility:public"],
Austin Schuhc80dd152016-02-29 01:47:44 -080020)
Brian Silverman6470f442018-08-05 12:08:16 -070021
Austin Schuhc80dd152016-02-29 01:47:44 -080022filegroup(
Brian Silverman6470f442018-08-05 12:08:16 -070023 name = "prime_binaries_stripped",
24 srcs = [
25 # starter is hard coded to look for a non-stripped core...
26 "//aos/linux_code:core",
John Park33858a32018-09-28 23:05:48 -070027 "//aos/logging:log_streamer.stripped",
28 "//aos/logging:log_displayer.stripped",
Brian Silverman6470f442018-08-05 12:08:16 -070029 "//aos/linux_code/starter",
30 ],
31 visibility = ["//visibility:public"],
32)
33
34filegroup(
35 name = "prime_start_binaries_stripped",
36 srcs = [
John Park33858a32018-09-28 23:05:48 -070037 "//aos/logging:binary_log_writer.stripped",
Brian Silverman6470f442018-08-05 12:08:16 -070038 ],
39 visibility = ["//visibility:public"],
Austin Schuhc80dd152016-02-29 01:47:44 -080040)
Sabina Davis2ed5ea22017-09-26 22:27:42 -070041
42cc_library(
John Park33858a32018-09-28 23:05:48 -070043 name = "math",
44 hdrs = [
45 "commonmath.h",
46 ],
47 compatible_with = mcu_cpus,
48 visibility = ["//visibility:public"],
49)
50
51cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -070052 name = "once",
53 srcs = [
54 "once-tmpl.h",
55 ],
56 hdrs = [
57 "once.h",
58 ],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070059 compatible_with = [
60 "//tools:armhf-debian",
61 ],
Brian Silverman6470f442018-08-05 12:08:16 -070062 visibility = ["//visibility:public"],
63 deps = [
John Park33858a32018-09-28 23:05:48 -070064 "//aos:gtest_prod",
65 "//aos/type_traits:type_traits",
Brian Silverman6470f442018-08-05 12:08:16 -070066 ],
Sabina Davis2ed5ea22017-09-26 22:27:42 -070067)
Brian Silverman6470f442018-08-05 12:08:16 -070068
John Park33858a32018-09-28 23:05:48 -070069cc_library(
70 name = "byteorder",
71 hdrs = [
72 "byteorder.h",
73 ],
74 compatible_with = [
75 "//tools:armhf-debian",
76 ],
77 visibility = ["//visibility:public"],
78)
79
Sabina Davis2ed5ea22017-09-26 22:27:42 -070080cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -070081 name = "once_test",
82 srcs = [
83 "once_test.cc",
84 ],
85 visibility = ["//visibility:public"],
86 deps = [
87 "//aos:once",
88 "//aos/testing:googletest",
89 ],
90)
91
92py_library(
93 name = "python_init",
94 srcs = ["__init__.py"],
95 visibility = ["//visibility:public"],
Sabina Davis2ed5ea22017-09-26 22:27:42 -070096)
John Park33858a32018-09-28 23:05:48 -070097
98cc_library(
99 name="macros",
100 hdrs=(
101 "macros.h",
102 ),
103 compatible_with = mcu_cpus + [
104 "//tools:armhf-debian",
105 ],
106 visibility = ["//visibility:public"],
107)
108
109cc_library(
110 name = "gtest_prod",
111 hdrs = [
112 "gtest_prod.h",
113 ],
114 compatible_with = [
115 "//tools:armhf-debian",
116 ],
117 visibility = ["//visibility:public"],
118)
119
120cc_library(
121 name = "network_port",
122 hdrs = [
123 "network_port.h",
124 ],
125 visibility = ["//visibility:public"],
126)
127
128genrule(
129 name = "gen_print_field",
130 outs = ["print_field.cc"],
131 cmd = "$(location //aos/build/queues:print_field) $@",
132 compatible_with = [
133 "//tools:armhf-debian",
134 ],
135 tools = ["//aos/build/queues:print_field"],
136 visibility = ["//visibility:private"],
137)
138
139cc_library(
140 name = "queue_types",
141 srcs = [
142 "print_field_helpers.h",
143 "queue_types.cc",
144 ":gen_print_field",
145 ],
146 hdrs = [
147 "queue_types.h",
148 ],
149 compatible_with = [
150 "//tools:armhf-debian",
151 ],
152 deps = [
153 "//aos:byteorder",
154 ":generated_queue_headers",
155 "//aos/mutex:mutex",
156 "//aos/time:time",
157 "//aos/logging:printf_formats",
158 "//aos/linux_code/ipc_lib:core_lib",
159 "//aos/linux_code/ipc_lib:shared_mem",
160 ],
161 visibility = ["//visibility:public"],
162)
163
164cc_test(
165 name = "queue_types_test",
166 srcs = [
167 "queue_types_test.cc",
168 ],
169 deps = [
170 ":queue_types",
171 ":test_queue",
172 "//aos/logging",
173 "//aos/testing:googletest",
174 "//aos/testing:test_logging",
175 ],
176)
177
178cc_library(
179 name = "queues",
180 hdrs = [
181 "queue.h",
182 ],
183 compatible_with = [
184 "//tools:armhf-debian",
185 ],
186 deps = [
187 "//aos/messages:messages",
188 "//aos/linux_code:queue",
189 "//aos/linux_code/ipc_lib:queue",
190 ],
191 visibility = ["//visibility:public"],
192)
193
194queue_library(
195 name = "test_queue",
196 srcs = [
197 "test_queue.q",
198 ],
199)
200
201genrule(
202 name = "gen_queue_primitives",
203 outs = ["queue_primitives.h"],
204 cmd = "$(location //aos/build/queues:queue_primitives) $@",
205 compatible_with = [
206 "//tools:armhf-debian",
207 ],
208 tools = ["//aos/build/queues:queue_primitives"],
209 visibility = ["//visibility:private"],
210)
211
212cc_library(
213 name = "generated_queue_headers",
214 hdrs = [
215 ":gen_queue_primitives",
216 ],
217 compatible_with = [
218 "//tools:armhf-debian",
219 ],
220 visibility = ["//aos/logging:__pkg__"],
221)
222
223cc_test(
224 name = "queue_test",
225 srcs = [
226 "queue_test.cc",
227 ],
228 deps = [
229 "//aos:die",
230 ":test_queue",
231 "//aos/util:thread",
232 "//aos/testing:googletest",
233 "//aos/testing:test_shm",
234 ],
235)
236
237cc_library(
238 name = "unique_malloc_ptr",
239 hdrs = [
240 "unique_malloc_ptr.h",
241 ],
242 compatible_with = [
243 "//tools:armhf-debian",
244 ],
245 visibility = ["//visibility:public"],
246)
247
248cc_library(
249 name = "condition",
250 srcs = [
251 "condition.cc",
252 ],
253 hdrs = [
254 "condition.h",
255 ],
256 compatible_with = [
257 "//tools:armhf-debian",
258 ],
259 deps = [
260 "//aos/mutex:mutex",
261 "//aos/logging",
262 "//aos/linux_code/ipc_lib:aos_sync",
263 ],
264 visibility = ["//visibility:public"],
265)
266
267cc_test(
268 name = "condition_test",
269 srcs = [
270 "condition_test.cc",
271 ],
272 deps = [
273 ":condition",
274 "//aos:die",
275 "//aos/mutex:mutex",
276 "//aos/time:time",
277 "//aos/logging",
278 "//aos/util:thread",
279 "//aos/linux_code/ipc_lib:aos_sync",
280 "//aos/linux_code/ipc_lib:core_lib",
281 "//aos/testing:googletest",
282 "//aos/testing:prevent_exit",
283 "//aos/testing:test_shm",
284 ],
285)
286
287cc_library(
288 name = "die",
289 srcs = [
290 "die.cc",
291 ],
292 hdrs = [
293 "die.h",
294 ],
295 compatible_with = [
296 "//tools:armhf-debian",
297 ],
298 deps = [
299 "//aos:macros",
300 "//aos/libc:aos_strerror",
301 ],
302 visibility = ["//visibility:public"],
303)
304
305
306cc_test(
307 name = "die_test",
308 srcs = [
309 "die_test.cc",
310 ],
311 deps = [
312 ":die",
313 "//aos/testing:googletest",
314 ],
315)
316
317cc_library(
318 name = "event",
319 srcs = [
320 "event.cc",
321 ],
322 hdrs = [
323 "event.h",
324 ],
325 deps = [
326 "//aos/time:time",
327 "//aos/logging",
328 "//aos/linux_code/ipc_lib:aos_sync",
329 ],
330 visibility = ["//visibility:public"],
331)
332
333cc_test(
334 name = "event_test",
335 srcs = [
336 "event_test.cc",
337 ],
338 deps = [
339 ":event",
340 "//aos/time:time",
341 "//aos/testing:googletest",
342 "//aos/testing:test_logging",
343 ],
344)