blob: 89853f0a2fa7111642277c599a731105887f53d6 [file] [log] [blame]
Alex Perryb3b50792020-01-18 16:13:45 -08001load("//aos/seasocks:gen_embedded.bzl", "gen_embedded")
2load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
Austin Schuhe84c3ed2019-12-14 15:29:48 -08003load("//aos:config.bzl", "aos_config")
4
Brian Silverman7a7c24d2018-09-01 17:49:09 -07005package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04006
Austin Schuhe84c3ed2019-12-14 15:29:48 -08007flatbuffer_cc_library(
8 name = "connect_fbs",
9 srcs = ["connect.fbs"],
10 gen_reflections = 1,
11 includes = [
12 "//aos:configuration_fbs_includes",
13 ],
14)
15
Alex Perryd5e13572020-02-22 15:15:08 -080016flatbuffer_ts_library(
17 name = "connect_ts_fbs",
18 srcs = ["connect.fbs"],
19 includes = [
20 "//aos:configuration_fbs_includes",
21 ],
22)
23
Austin Schuhe84c3ed2019-12-14 15:29:48 -080024flatbuffer_cc_library(
Austin Schuh7bc59052020-02-16 23:48:33 -080025 name = "timestamp_fbs",
26 srcs = ["timestamp.fbs"],
27 gen_reflections = 1,
28 includes = [
29 "//aos:configuration_fbs_includes",
30 ],
31)
32
33flatbuffer_cc_library(
Austin Schuhe84c3ed2019-12-14 15:29:48 -080034 name = "message_bridge_client_fbs",
35 srcs = ["message_bridge_client.fbs"],
36 gen_reflections = 1,
37 includes = [
38 ":message_bridge_server_fbs_includes",
39 "//aos:configuration_fbs_includes",
40 ],
41)
42
43flatbuffer_cc_library(
44 name = "message_bridge_server_fbs",
45 srcs = ["message_bridge_server.fbs"],
46 gen_reflections = 1,
47 includes = [
48 "//aos:configuration_fbs_includes",
49 ],
50)
51
Brian Silverman100534c2015-09-07 15:51:23 -040052cc_library(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070053 name = "team_number",
54 srcs = [
55 "team_number.cc",
56 ],
57 hdrs = [
58 "team_number.h",
59 ],
Brian Silverman7a7c24d2018-09-01 17:49:09 -070060 deps = [
John Park33858a32018-09-28 23:05:48 -070061 "//aos/util:string_to_num",
Brian Silverman3dfbfb12020-02-17 20:35:18 -080062 "@com_github_google_glog//:glog",
Brian Silverman7a7c24d2018-09-01 17:49:09 -070063 ],
Brian Silverman100534c2015-09-07 15:51:23 -040064)
65
Austin Schuhdf5591e2015-12-19 22:36:50 -080066cc_test(
Brian Silverman7a7c24d2018-09-01 17:49:09 -070067 name = "team_number_test",
68 srcs = [
69 "team_number_test.cc",
70 ],
71 deps = [
72 ":team_number",
73 "//aos/testing:googletest",
74 ],
Austin Schuhdf5591e2015-12-19 22:36:50 -080075)
Austin Schuhe84c3ed2019-12-14 15:29:48 -080076
77cc_library(
78 name = "sctp_lib",
79 srcs = [
80 "sctp_lib.cc",
81 ],
82 hdrs = [
83 "sctp_lib.h",
84 ],
85 copts = [
86 # The casts required to read datastructures from sockets trip -Wcast-align.
87 "-Wno-cast-align",
88 ],
89 deps = [
90 "//aos:unique_malloc_ptr",
91 "//third_party/lksctp-tools:sctp",
92 "@com_github_google_glog//:glog",
93 ],
94)
95
96cc_library(
97 name = "sctp_server",
98 srcs = [
99 "sctp_server.cc",
100 ],
101 hdrs = [
102 "sctp_server.h",
103 ],
104 copts = [
105 "-Wno-cast-align",
106 ],
107 deps = [
108 ":sctp_lib",
109 "//third_party/lksctp-tools:sctp",
110 ],
111)
112
113cc_library(
114 name = "message_bridge_protocol",
Austin Schuh7bc59052020-02-16 23:48:33 -0800115 srcs = [
116 "message_bridge_protocol.cc",
117 ],
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800118 hdrs = [
119 "message_bridge_protocol.h",
120 ],
Austin Schuh7bc59052020-02-16 23:48:33 -0800121 deps = [
122 ":connect_fbs",
123 "//aos:configuration",
124 "//aos:flatbuffer_merge",
125 "//aos:flatbuffers",
126 "@com_github_google_flatbuffers//:flatbuffers",
127 ],
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800128)
129
130cc_library(
131 name = "message_bridge_server_lib",
132 srcs = [
133 "message_bridge_server_lib.cc",
134 ],
135 hdrs = [
136 "message_bridge_server_lib.h",
137 ],
138 copts = [
139 "-Wno-cast-align",
140 ],
141 deps = [
142 ":connect_fbs",
Austin Schuh7bc59052020-02-16 23:48:33 -0800143 ":message_bridge_client_fbs",
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800144 ":message_bridge_protocol",
145 ":message_bridge_server_fbs",
146 ":sctp_lib",
147 ":sctp_server",
Austin Schuh7bc59052020-02-16 23:48:33 -0800148 ":timestamp_fbs",
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800149 "//aos:unique_malloc_ptr",
150 "//aos/events:shm_event_loop",
151 "//aos/events/logging:logger",
152 "//third_party/lksctp-tools:sctp",
153 ],
154)
155
156cc_binary(
157 name = "message_bridge_server",
158 srcs = [
159 "message_bridge_server.cc",
160 ],
161 deps = [
162 ":message_bridge_server_lib",
163 "//aos:init",
164 "//aos:json_to_flatbuffer",
165 "//aos/events:shm_event_loop",
166 ],
167)
168
169cc_library(
170 name = "sctp_client",
171 srcs = [
172 "sctp_client.cc",
173 ],
174 hdrs = [
175 "sctp_client.h",
176 ],
177 copts = [
178 "-Wno-cast-align",
179 ],
180 deps = [
181 ":sctp_lib",
182 "//third_party/lksctp-tools:sctp",
183 ],
184)
185
186cc_library(
187 name = "message_bridge_client_lib",
188 srcs = [
189 "message_bridge_client_lib.cc",
190 ],
191 hdrs = [
192 "message_bridge_client_lib.h",
193 ],
194 copts = [
195 "-Wno-cast-align",
196 ],
197 deps = [
198 ":connect_fbs",
199 ":message_bridge_client_fbs",
200 ":message_bridge_protocol",
201 ":message_bridge_server_fbs",
202 ":sctp_client",
Austin Schuh7bc59052020-02-16 23:48:33 -0800203 ":timestamp_fbs",
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800204 "//aos/events:shm_event_loop",
205 "//aos/events/logging:logger",
206 ],
207)
208
209cc_binary(
210 name = "message_bridge_client",
211 srcs = [
212 "message_bridge_client.cc",
213 ],
214 copts = [
215 "-Wno-cast-align",
216 ],
217 deps = [
218 ":message_bridge_client_lib",
219 "//aos:init",
220 "//aos:json_to_flatbuffer",
221 "//aos/events:shm_event_loop",
222 ],
223)
224
225aos_config(
226 name = "message_bridge_test_common_config",
227 src = "message_bridge_test_common.json",
228 flatbuffers = [
229 "//aos/events:ping_fbs",
230 "//aos/events:pong_fbs",
231 "//aos/network:message_bridge_client_fbs",
232 "//aos/network:message_bridge_server_fbs",
Austin Schuh7bc59052020-02-16 23:48:33 -0800233 "//aos/network:timestamp_fbs",
Austin Schuhe84c3ed2019-12-14 15:29:48 -0800234 ],
235 deps = ["//aos/events:config"],
236)
237
238aos_config(
239 name = "message_bridge_test_server_config",
240 src = "message_bridge_test_server.json",
241 deps = [":message_bridge_test_common_config"],
242)
243
244aos_config(
245 name = "message_bridge_test_client_config",
246 src = "message_bridge_test_client.json",
247 deps = [":message_bridge_test_common_config"],
248)
249
250cc_test(
251 name = "message_bridge_test",
252 srcs = [
253 "message_bridge_test.cc",
254 ],
255 data = [
256 ":message_bridge_test_client_config.json",
257 ":message_bridge_test_server_config.json",
258 ],
259 deps = [
260 ":message_bridge_client_lib",
261 ":message_bridge_server_lib",
262 "//aos:json_to_flatbuffer",
263 "//aos/events:ping_fbs",
264 "//aos/events:pong_fbs",
265 "//aos/events:shm_event_loop",
266 "//aos/testing:googletest",
267 ],
268)
Alex Perryb3b50792020-01-18 16:13:45 -0800269
270flatbuffer_cc_library(
271 name = "web_proxy_fbs",
272 srcs = ["web_proxy.fbs"],
Brian Silverman3dfbfb12020-02-17 20:35:18 -0800273 gen_reflections = True,
Alex Perry5f474f22020-02-01 12:14:24 -0800274 includes = [
275 ":connect_fbs_includes",
276 "//aos:configuration_fbs_includes",
277 ],
Alex Perryb3b50792020-01-18 16:13:45 -0800278)
279
280flatbuffer_ts_library(
281 name = "web_proxy_ts_fbs",
282 srcs = ["web_proxy.fbs"],
Alex Perry5f474f22020-02-01 12:14:24 -0800283 includes = [
284 ":connect_fbs_includes",
285 "//aos:configuration_fbs_includes",
286 ],
287)
288
289cc_library(
290 name = "web_proxy_utils",
Alex Perry5f474f22020-02-01 12:14:24 -0800291 srcs = ["web_proxy_utils.cc"],
Brian Silverman3dfbfb12020-02-17 20:35:18 -0800292 hdrs = ["web_proxy_utils.h"],
Alex Perry5f474f22020-02-01 12:14:24 -0800293 deps = [
294 ":connect_fbs",
295 ":web_proxy_fbs",
296 "//aos:configuration_fbs",
297 "//aos/events:event_loop",
298 "@com_github_google_flatbuffers//:flatbuffers",
299 ],
Alex Perryb3b50792020-01-18 16:13:45 -0800300)
301
302cc_library(
303 name = "web_proxy",
Alex Perryb3b50792020-01-18 16:13:45 -0800304 srcs = ["web_proxy.cc"],
Austin Schuh8bd96322020-02-13 21:18:22 -0800305 hdrs = ["web_proxy.h"],
Alex Perryb3b50792020-01-18 16:13:45 -0800306 copts = [
307 "-DWEBRTC_POSIX",
308 "-Wno-unused-parameter",
309 ],
310 deps = [
Alex Perry5f474f22020-02-01 12:14:24 -0800311 ":connect_fbs",
Alex Perryb3b50792020-01-18 16:13:45 -0800312 ":web_proxy_fbs",
Alex Perry5f474f22020-02-01 12:14:24 -0800313 ":web_proxy_utils",
314 "//aos/events:shm_event_loop",
Alex Perryb3b50792020-01-18 16:13:45 -0800315 "//aos/seasocks:seasocks_logger",
Alex Perryb3b50792020-01-18 16:13:45 -0800316 "//third_party:webrtc",
Austin Schuh8bd96322020-02-13 21:18:22 -0800317 "//third_party/seasocks",
Alex Perryb3b50792020-01-18 16:13:45 -0800318 "@com_github_google_glog//:glog",
319 ],
320)
321
322gen_embedded(
323 name = "gen_embedded",
324 srcs = glob(
325 include = ["www_defaults/**/*"],
326 exclude = ["www/**/*"],
327 ),
328)
329
330cc_binary(
331 name = "web_proxy_main",
332 srcs = ["web_proxy_main.cc"],
Alex Perryb3b50792020-01-18 16:13:45 -0800333 copts = [
334 "-DWEBRTC_POSIX",
335 "-Wno-unused-parameter",
336 ],
337 data = [
Alex Perry5f474f22020-02-01 12:14:24 -0800338 "//aos/events:pingpong_config.json",
Brian Silverman3dfbfb12020-02-17 20:35:18 -0800339 "//aos/network/www:files",
340 "//aos/network/www:flatbuffers",
341 "//aos/network/www:main_bundle",
342 "@com_github_google_flatbuffers//:flatjs",
343 ],
344 deps = [
345 ":gen_embedded",
346 ":web_proxy",
347 "//aos:init",
348 "//aos/events:shm_event_loop",
349 "//aos/seasocks:seasocks_logger",
350 "//third_party/seasocks",
351 "@com_github_google_flatbuffers//:flatbuffers",
Alex Perryb3b50792020-01-18 16:13:45 -0800352 ],
353)
Austin Schuh8bd96322020-02-13 21:18:22 -0800354
355cc_library(
356 name = "timestamp_filter",
357 hdrs = ["timestamp_filter.h"],
358 deps = [
359 "//aos/time",
360 ],
361)
362
363cc_test(
364 name = "timestamp_filter_test",
365 srcs = [
366 "timestamp_filter_test.cc",
367 ],
368 deps = [
369 ":timestamp_filter",
370 "//aos/testing:googletest",
371 ],
372)