blob: faa3dc1e5286d9d76437d58d61833ce2b3b2c2ea [file] [log] [blame]
James Kuszmaul418fd062022-03-22 15:22:27 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
2
Brian Silverman6470f442018-08-05 12:08:16 -07003package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04004
Brian Silverman246cb222019-02-02 16:38:18 -08005cc_library(
6 name = "bitpacking",
7 hdrs = [
8 "bitpacking.h",
9 ],
10 visibility = ["//visibility:public"],
11 deps = [
Austin Schuhb72be802022-01-02 12:26:28 -080012 "@com_google_absl//absl/types:span",
Brian Silverman246cb222019-02-02 16:38:18 -080013 ],
14)
15
16cc_test(
17 name = "bitpacking_test",
18 srcs = [
19 "bitpacking_test.cc",
20 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080021 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman246cb222019-02-02 16:38:18 -080022 deps = [
23 ":bitpacking",
24 "//aos/testing:googletest",
25 ],
26)
27
Diana Vandenberg19bb9e22016-02-03 21:24:31 -080028py_library(
Brian Silverman6470f442018-08-05 12:08:16 -070029 name = "py_trapezoid_profile",
30 srcs = [
31 "trapezoid_profile.py",
32 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080033 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -070034 deps = [
35 ":python_init",
36 ],
Diana Vandenberg19bb9e22016-02-03 21:24:31 -080037)
38
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070039cc_binary(
40 name = "log_to_mcap",
41 srcs = ["log_to_mcap.cc"],
42 deps = [
43 ":mcap_logger",
44 "//aos:init",
45 "//aos/events/logging:log_reader",
46 "//frc971/control_loops:control_loops_fbs",
47 ],
48)
49
50cc_library(
51 name = "mcap_logger",
52 srcs = ["mcap_logger.cc"],
53 hdrs = ["mcap_logger.h"],
54 target_compatible_with = ["@platforms//os:linux"],
55 deps = [
56 "//aos:configuration_fbs",
James Kuszmaule4aa01d2022-06-28 14:09:02 -070057 "//aos:configuration_schema",
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070058 "//aos:fast_string_builder",
59 "//aos:flatbuffer_utils",
60 "//aos/events:event_loop",
61 "@com_github_nlohmann_json//:json",
62 ],
63)
64
James Kuszmaul5c56ed32022-03-30 15:10:07 -070065cc_binary(
66 name = "generate_test_log",
67 testonly = True,
68 srcs = ["generate_test_log.cc"],
69 data = ["//aos/events:pingpong_config"],
70 deps = [
71 "//aos:configuration",
72 "//aos/events:ping_lib",
73 "//aos/events:pong_lib",
74 "//aos/events:simulated_event_loop",
75 "//aos/events/logging:log_writer",
76 "//aos/testing:path",
77 ],
78)
79
80py_test(
81 name = "log_to_mcap_test",
82 srcs = ["log_to_mcap_test.py"],
83 args = [
84 "--log_to_mcap",
85 "$(location :log_to_mcap)",
86 "--mcap",
87 "$(location @com_github_foxglove_mcap_mcap//file)",
88 "--generate_log",
89 "$(location :generate_test_log)",
90 ],
91 data = [
92 ":generate_test_log",
93 ":log_to_mcap",
94 "@com_github_foxglove_mcap_mcap//file",
95 ],
96 target_compatible_with = ["@platforms//cpu:x86_64"],
97)
98
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070099cc_test(
100 name = "mcap_logger_test",
101 srcs = ["mcap_logger_test.cc"],
102 target_compatible_with = ["@platforms//os:linux"],
103 deps = [
104 ":mcap_logger",
105 "//aos/testing:googletest",
106 "@com_github_nlohmann_json//:json",
107 ],
108)
109
Brian Silverman100534c2015-09-07 15:51:23 -0400110cc_library(
James Kuszmaul0af658b2019-01-25 18:36:29 -0800111 name = "math",
112 hdrs = ["math.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800113 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800114 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700115 "@org_tuxfamily_eigen//:eigen",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800116 ],
117)
118
119cc_test(
120 name = "math_test",
121 srcs = ["math_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800122 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800123 deps = [
124 ":math",
125 "//aos/testing:googletest",
126 ],
127)
128
129cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700130 name = "death_test_log_implementation",
131 hdrs = [
132 "death_test_log_implementation.h",
133 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800134 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700135 deps = [
John Park33858a32018-09-28 23:05:48 -0700136 "//aos/logging:implementations",
Brian Silverman6470f442018-08-05 12:08:16 -0700137 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400138)
139
140cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700141 name = "phased_loop",
142 srcs = [
143 "phased_loop.cc",
144 ],
145 hdrs = [
146 "phased_loop.h",
147 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800148 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700149 deps = [
James Kuszmaul0af658b2019-01-25 18:36:29 -0800150 "//aos/time",
Austin Schuhf257f3c2019-10-27 21:00:43 -0700151 "@com_github_google_glog//:glog",
Brian Silverman6470f442018-08-05 12:08:16 -0700152 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400153)
154
155cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700156 name = "log_interval",
157 hdrs = [
158 "log_interval.h",
159 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800160 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700161 deps = [
John Park33858a32018-09-28 23:05:48 -0700162 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800163 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700164 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400165)
166
167cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700168 name = "trapezoid_profile",
169 srcs = [
170 "trapezoid_profile.cc",
171 ],
172 hdrs = [
173 "trapezoid_profile.h",
174 ],
175 linkopts = [
176 "-lm",
177 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800178 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700179 deps = [
John Park33858a32018-09-28 23:05:48 -0700180 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800181 "//aos/time",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700182 "@org_tuxfamily_eigen//:eigen",
Brian Silverman6470f442018-08-05 12:08:16 -0700183 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400184)
185
186cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700187 name = "trapezoid_profile_test",
188 srcs = [
189 "trapezoid_profile_test.cc",
190 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800191 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700192 deps = [
193 ":trapezoid_profile",
194 "//aos/testing:googletest",
195 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400196)
197
198cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700199 name = "wrapping_counter",
200 srcs = [
201 "wrapping_counter.cc",
202 ],
203 hdrs = [
204 "wrapping_counter.h",
205 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800206 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman100534c2015-09-07 15:51:23 -0400207)
208
209cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700210 name = "wrapping_counter_test",
211 srcs = [
212 "wrapping_counter_test.cc",
213 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800214 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700215 deps = [
216 ":wrapping_counter",
217 "//aos/testing:googletest",
218 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400219)
220
Austin Schuh044e18b2015-10-21 20:17:09 -0700221cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700222 name = "options",
223 hdrs = [
224 "options.h",
225 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800226 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh044e18b2015-10-21 20:17:09 -0700227)
228
Brian Silverman100534c2015-09-07 15:51:23 -0400229cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700230 name = "options_test",
231 srcs = [
232 "options_test.cc",
233 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800234 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700235 deps = [
236 ":options",
237 "//aos/testing:googletest",
238 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400239)
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400240
241cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700242 name = "compiler_memory_barrier",
243 hdrs = [
244 "compiler_memory_barrier.h",
245 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800246 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400247)
Brian Silverman521e6ba2014-09-04 13:37:46 -0400248
249cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700250 name = "global_factory",
251 hdrs = [
252 "global_factory.h",
253 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800254 target_compatible_with = ["@platforms//os:linux"],
Parker Schuh36416692017-02-18 17:34:15 -0800255)
256
257cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700258 name = "global_factory_test",
259 srcs = [
260 "global_factory_test.cc",
261 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800262 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700263 deps = [
264 ":global_factory",
265 "//aos/testing:googletest",
266 ],
Parker Schuh36416692017-02-18 17:34:15 -0800267)
268
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000269cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700270 name = "phased_loop_test",
271 srcs = [
272 "phased_loop_test.cc",
273 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800274 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700275 deps = [
276 ":phased_loop",
277 "//aos/testing:googletest",
Brian Silverman8babd8f2020-06-23 16:38:50 -0700278 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700279 ],
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000280)
Brian Silverman61175fb2016-03-13 15:35:56 -0400281
282cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700283 name = "file",
284 srcs = [
285 "file.cc",
286 ],
287 hdrs = [
288 "file.h",
289 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800290 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700291 deps = [
John Park33858a32018-09-28 23:05:48 -0700292 "//aos/scoped:scoped_fd",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700293 "@com_github_google_glog//:glog",
Austin Schuhcb108412019-10-13 16:09:54 -0700294 "@com_google_absl//absl/strings",
davidjevans8b9b52f2021-09-17 08:57:30 -0700295 "@com_google_absl//absl/types:span",
Brian Silverman6470f442018-08-05 12:08:16 -0700296 ],
Brian Silverman61175fb2016-03-13 15:35:56 -0400297)
298
299cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700300 name = "file_test",
301 size = "small",
302 srcs = [
303 "file_test.cc",
304 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800305 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700306 deps = [
307 ":file",
308 "//aos/testing:googletest",
Brian Silverman6470f442018-08-05 12:08:16 -0700309 ],
310)
311
James Kuszmaul418fd062022-03-22 15:22:27 -0700312flatbuffer_cc_library(
313 name = "process_info_fbs",
314 srcs = ["process_info.fbs"],
315 gen_reflections = True,
316 target_compatible_with = ["@platforms//os:linux"],
317 visibility = ["//visibility:public"],
318)
319
320cc_library(
321 name = "top",
322 srcs = ["top.cc"],
323 hdrs = ["top.h"],
324 target_compatible_with = ["@platforms//os:linux"],
325 deps = [
326 ":process_info_fbs",
327 "//aos/containers:ring_buffer",
328 "//aos/events:event_loop",
329 "@com_github_google_glog//:glog",
330 "@com_google_absl//absl/strings",
331 ],
332)
333
334cc_test(
335 name = "top_test",
336 srcs = ["top_test.cc"],
337 data = [
338 "//aos/events:pingpong_config",
339 ],
340 flaky = True,
341 target_compatible_with = ["@platforms//os:linux"],
342 deps = [
343 ":top",
344 "//aos/events:shm_event_loop",
345 "//aos/testing:googletest",
346 "//aos/testing:path",
347 "//aos/testing:tmpdir",
348 ],
349)
350
James Kuszmaul731a05d2022-01-07 17:59:26 -0800351cc_library(
352 name = "scoped_pipe",
353 srcs = ["scoped_pipe.cc"],
354 hdrs = ["scoped_pipe.h"],
355 target_compatible_with = ["@platforms//os:linux"],
356 deps = [
357 "@com_github_google_glog//:glog",
358 "@com_google_absl//absl/types:span",
359 ],
360)
361
362cc_test(
363 name = "scoped_pipe_test",
364 srcs = ["scoped_pipe_test.cc"],
365 target_compatible_with = ["@platforms//os:linux"],
366 deps = [
367 ":scoped_pipe",
368 "//aos/testing:googletest",
369 ],
370)
371
Ravago Jonese12b7902022-02-04 22:50:44 -0800372cc_library(
373 name = "crc32",
374 srcs = ["crc32.cc"],
375 hdrs = ["crc32.h"],
376 deps = [
377 "@com_google_absl//absl/types:span",
378 ],
379)
380
Brian Silverman6470f442018-08-05 12:08:16 -0700381py_library(
382 name = "python_init",
383 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800384 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700385 visibility = ["//visibility:public"],
John Park33858a32018-09-28 23:05:48 -0700386 deps = ["//aos:python_init"],
Brian Silverman61175fb2016-03-13 15:35:56 -0400387)