blob: 4de57b62cdb5e5039d9302914e5acec48cce2719 [file] [log] [blame]
Austin Schuhbcce26a2018-03-26 23:41:24 -07001package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04002
Austin Schuhbcce26a2018-03-26 23:41:24 -07003load("//aos/build:queues.bzl", "queue_library")
Brian Silvermanf91524f2017-09-23 13:15:55 -04004load("//tools:environments.bzl", "mcu_cpus")
Brian Silverman100534c2015-09-07 15:51:23 -04005
6queue_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -07007 name = "test_queue",
8 srcs = [
9 "test_queue.q",
10 ],
Austin Schuhf0736512015-09-07 01:22:16 -070011)
Austin Schuhf0736512015-09-07 01:22:16 -070012
13cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070014 name = "math",
15 hdrs = [
16 "commonmath.h",
17 ],
18 compatible_with = mcu_cpus,
Austin Schuh044e18b2015-10-21 20:17:09 -070019)
20
21cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070022 name = "macros",
23 hdrs = [
24 "macros.h",
25 ],
26 compatible_with = mcu_cpus,
Austin Schuh044e18b2015-10-21 20:17:09 -070027)
28
29cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070030 name = "type_traits",
31 hdrs = [
32 "type_traits.h",
33 ],
Austin Schuh044e18b2015-10-21 20:17:09 -070034)
35
36cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070037 name = "time",
38 srcs = [
39 "time.cc",
40 ],
41 hdrs = [
42 "time.h",
43 ],
44 deps = [
45 ":macros",
46 ":mutex",
47 "//aos/common/logging",
48 "//aos/linux_code/ipc_lib:shared_mem",
49 ],
Austin Schuhf0736512015-09-07 01:22:16 -070050)
51
Brian Silvermanf480a612015-09-13 02:22:01 -040052genrule(
Austin Schuhbcce26a2018-03-26 23:41:24 -070053 name = "gen_queue_primitives",
54 outs = ["queue_primitives.h"],
55 cmd = "$(location //aos/build/queues:queue_primitives) $@",
56 tools = ["//aos/build/queues:queue_primitives"],
57 visibility = ["//visibility:private"],
Brian Silvermanf480a612015-09-13 02:22:01 -040058)
59
60genrule(
Austin Schuhbcce26a2018-03-26 23:41:24 -070061 name = "gen_print_field",
62 outs = ["print_field.cc"],
63 cmd = "$(location //aos/build/queues:print_field) $@",
64 tools = ["//aos/build/queues:print_field"],
65 visibility = ["//visibility:private"],
Brian Silvermanf480a612015-09-13 02:22:01 -040066)
67
Austin Schuhf0736512015-09-07 01:22:16 -070068cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070069 name = "generated_queue_headers",
70 hdrs = [
71 ":gen_queue_primitives",
72 ],
73 visibility = ["//aos/common/logging:__pkg__"],
Brian Silverman258b9172015-09-19 14:32:57 -040074)
75
76cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070077 name = "event",
78 srcs = [
79 "event.cc",
80 ],
81 hdrs = [
82 "event.h",
83 ],
84 deps = [
85 ":time",
86 "//aos/common/logging",
87 "//aos/linux_code/ipc_lib:aos_sync",
88 ],
Brian Silverman086cb8c2015-10-26 11:39:40 -040089)
90
91cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070092 name = "unique_malloc_ptr",
93 hdrs = [
94 "unique_malloc_ptr.h",
95 ],
Austin Schuh044e18b2015-10-21 20:17:09 -070096)
97
98cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -070099 name = "queue_types",
100 srcs = [
101 "print_field_helpers.h",
102 "queue_types.cc",
103 ":gen_print_field",
104 ],
105 hdrs = [
106 "queue_types.h",
107 ],
108 deps = [
109 ":byteorder",
110 ":generated_queue_headers",
111 ":mutex",
112 ":time",
113 "//aos/common/logging:printf_formats",
114 "//aos/linux_code/ipc_lib:core_lib",
115 "//aos/linux_code/ipc_lib:shared_mem",
116 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400117)
118
119cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700120 name = "queue_types_test",
121 srcs = [
122 "queue_types_test.cc",
123 ],
124 deps = [
125 ":queue_types",
126 ":test_queue",
127 "//aos/common/logging",
128 "//aos/testing:googletest",
129 "//aos/testing:test_logging",
130 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400131)
132
133cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700134 name = "network_port",
135 hdrs = [
136 "network_port.h",
137 ],
Austin Schuh044e18b2015-10-21 20:17:09 -0700138)
139
140cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700141 name = "byteorder",
142 hdrs = [
143 "byteorder.h",
144 ],
Austin Schuh044e18b2015-10-21 20:17:09 -0700145)
146
147cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700148 name = "messages",
149 srcs = [
150 "message.cc",
151 ],
152 hdrs = [
153 "message.h",
154 ],
155 deps = [
156 ":byteorder",
157 ":macros",
158 ":time",
159 ],
Kyle Stachowicz4addac62017-12-02 23:12:34 -0800160)
161
162cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700163 name = "queues",
164 srcs = [],
165 hdrs = [
166 "queue.h",
167 ],
168 deps = [
169 ":messages",
170 "//aos/linux_code:queue",
171 "//aos/linux_code/ipc_lib:queue",
172 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400173)
174
175cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700176 name = "scoped_fd",
177 hdrs = [
178 "scoped_fd.h",
179 ],
180 deps = [
181 "//aos/common/logging",
182 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400183)
184
185cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700186 name = "queue_test",
187 srcs = [
188 "queue_test.cc",
189 ],
190 deps = [
191 ":die",
192 ":test_queue",
193 "//aos/common/util:thread",
194 "//aos/testing:googletest",
195 "//aos/testing:test_shm",
196 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400197)
198
199cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700200 name = "type_traits_test",
201 srcs = [
202 "type_traits_test.cpp",
203 ],
204 deps = [
205 ":type_traits",
206 "//aos/testing:googletest",
207 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400208)
209
210cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700211 name = "gtest_prod",
212 hdrs = [
213 "gtest_prod.h",
214 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400215)
216
Brian Silverman100534c2015-09-07 15:51:23 -0400217cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700218 name = "time_test",
219 srcs = [
220 "time_test.cc",
221 ],
222 deps = [
223 ":time",
224 "//aos/common/logging",
225 "//aos/common/util:death_test_log_implementation",
226 "//aos/testing:googletest",
227 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400228)
229
230cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700231 name = "die",
232 srcs = [
233 "die.cc",
234 ],
235 hdrs = [
236 "die.h",
237 ],
238 deps = [
239 ":macros",
240 "//aos/common/libc:aos_strerror",
241 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400242)
243
244cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700245 name = "mutex_test",
246 srcs = [
247 "mutex_test.cc",
248 ],
249 deps = [
250 ":die",
251 ":mutex",
252 "//aos/common:time",
253 "//aos/common/logging",
254 "//aos/common/util:death_test_log_implementation",
255 "//aos/common/util:thread",
256 "//aos/testing:googletest",
257 "//aos/testing:test_logging",
258 "//aos/testing:test_shm",
259 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400260)
261
262cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700263 name = "event_test",
264 srcs = [
265 "event_test.cc",
266 ],
267 deps = [
268 ":event",
269 ":time",
270 "//aos/testing:googletest",
271 "//aos/testing:test_logging",
272 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400273)
274
Austin Schuh044e18b2015-10-21 20:17:09 -0700275cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700276 name = "condition",
277 srcs = [
278 "condition.cc",
279 ],
280 hdrs = [
281 "condition.h",
282 ],
283 deps = [
284 ":mutex",
285 "//aos/common/logging",
286 "//aos/linux_code/ipc_lib:aos_sync",
287 ],
Brian Silverman086cb8c2015-10-26 11:39:40 -0400288)
289
Brian Silverman100534c2015-09-07 15:51:23 -0400290cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700291 name = "condition_test",
292 srcs = [
293 "condition_test.cc",
294 ],
295 deps = [
296 ":condition",
297 ":die",
298 ":mutex",
299 ":time",
300 "//aos/common/logging",
301 "//aos/common/util:thread",
302 "//aos/linux_code/ipc_lib:aos_sync",
303 "//aos/linux_code/ipc_lib:core_lib",
304 "//aos/testing:googletest",
305 "//aos/testing:prevent_exit",
306 "//aos/testing:test_shm",
307 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400308)
309
310cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700311 name = "die_test",
312 srcs = [
313 "die_test.cc",
314 ],
315 deps = [
316 ":die",
317 "//aos/testing:googletest",
318 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400319)
320
321cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700322 name = "stl_mutex",
323 hdrs = [
324 "stl_mutex.h",
325 ],
326 deps = [
327 "//aos/common/logging",
328 "//aos/linux_code/ipc_lib:aos_sync",
329 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400330)
331
Austin Schuh044e18b2015-10-21 20:17:09 -0700332cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700333 name = "mutex",
334 srcs = [
335 "mutex.cc",
336 ],
337 hdrs = [
338 "mutex.h",
339 ],
340 deps = [
341 ":die",
342 ":type_traits",
343 "//aos/common/logging",
344 "//aos/linux_code/ipc_lib:aos_sync",
345 ],
Austin Schuh044e18b2015-10-21 20:17:09 -0700346)
347
Brian Silverman100534c2015-09-07 15:51:23 -0400348cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700349 name = "stl_mutex_test",
350 srcs = [
351 "stl_mutex_test.cc",
352 ],
353 deps = [
354 ":die",
355 ":stl_mutex",
356 "//aos/common/util:thread",
357 "//aos/testing:googletest",
358 "//aos/testing:test_logging",
359 ],
Austin Schuhf0736512015-09-07 01:22:16 -0700360)
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400361
362cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700363 name = "transaction",
364 hdrs = [
365 "transaction.h",
366 ],
367 deps = [
368 "//aos/common/logging",
369 "//aos/common/util:compiler_memory_barrier",
370 ],
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400371)
372
373cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700374 name = "transaction_test",
375 srcs = [
376 "transaction_test.cc",
377 ],
378 deps = [
379 ":transaction",
380 "//aos/common/logging",
381 "//aos/common/util:death_test_log_implementation",
382 "//aos/testing:googletest",
383 ],
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400384)
Parker Schuhecd057f2017-03-11 20:03:01 -0800385
386cc_library(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700387 name = "ring_buffer",
388 hdrs = [
389 "ring_buffer.h",
390 ],
Parker Schuhecd057f2017-03-11 20:03:01 -0800391)
392
393cc_test(
Austin Schuhbcce26a2018-03-26 23:41:24 -0700394 name = "ring_buffer_test",
395 srcs = [
396 "ring_buffer_test.cc",
397 ],
398 deps = [
399 ":ring_buffer",
400 "//aos/testing:googletest",
401 ],
Parker Schuhecd057f2017-03-11 20:03:01 -0800402)