blob: fdc2adf639f696f828cc631d3350f5bdfc7f4563 [file] [log] [blame]
Henrik Kjellanderc0362762017-06-29 06:03:041# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
Henrik Kjellander73e21802017-06-20 06:38:582#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../webrtc.gni")
10
11if (is_android) {
12 import("//build/config/android/config.gni")
13 import("//build/config/android/rules.gni")
14}
15
Dan Minor9cdd8762018-01-16 15:40:3916if (!rtc_build_ssl) {
Henrik Kjellanderc0362762017-06-29 06:03:0417 config("external_ssl_library") {
18 assert(rtc_ssl_root != "",
19 "You must specify rtc_ssl_root when rtc_build_ssl==0.")
20 include_dirs = [ rtc_ssl_root ]
21 }
22}
23
Oleh Prypindd214742018-07-17 11:49:4624rtc_source_set("protobuf_utils") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1025 sources = [ "protobuf_utils.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:0426 if (rtc_enable_protobuf) {
Mirko Bonadeid8661a02018-08-13 13:04:2527 public_configs = [ "//third_party/protobuf:protobuf_config" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:1028 deps = [ "//third_party/protobuf:protobuf_lite" ]
Henrik Kjellanderc0362762017-06-29 06:03:0429 }
30}
31
Danil Chapovalov5af152c2021-08-31 13:27:5132rtc_source_set("bitstream_reader") {
33 sources = [
34 "bitstream_reader.cc",
35 "bitstream_reader.h",
36 ]
37 deps = [
38 ":checks",
39 ":safe_conversions",
40 "../api:array_view",
41 ]
42 absl_deps = [
43 "//third_party/abseil-cpp/absl/base:core_headers",
44 "//third_party/abseil-cpp/absl/numeric:bits",
45 "//third_party/abseil-cpp/absl/strings",
46 ]
47}
48
Oleh Prypindd214742018-07-17 11:49:4649rtc_source_set("compile_assert_c") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1050 sources = [ "compile_assert_c.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:0451}
52
Mirko Bonadei3663ed32019-10-19 10:03:2353rtc_source_set("ignore_wundef") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1054 sources = [ "ignore_wundef.h" ]
Mirko Bonadei3663ed32019-10-19 10:03:2355}
56
Karl Wiberg70026f92020-09-18 08:03:1657rtc_source_set("untyped_function") {
58 sources = [ "untyped_function.h" ]
Karl Wiberg3d452cf2020-09-11 14:09:4659 deps = [ "system:assume" ]
60}
61
Mirko Bonadei3d259352020-10-23 10:04:4062rtc_source_set("callback_list") {
Karl Wiberg3d452cf2020-09-11 14:09:4663 sources = [
Mirko Bonadei3d259352020-10-23 10:04:4064 "callback_list.cc",
65 "callback_list.h",
Karl Wiberg3d452cf2020-09-11 14:09:4666 ]
67 deps = [
Karl Wiberg01a36f32020-11-11 10:48:0468 ":checks",
Karl Wiberg70026f92020-09-18 08:03:1669 ":untyped_function",
Karl Wiberg3d452cf2020-09-11 14:09:4670 "../api:function_view",
71 "system:assume",
Karl Wibergd2c69672020-09-29 11:55:1372 "system:inline",
Tomas Gunnarsson9797dcd2022-04-10 11:27:1373 "system:rtc_export",
Karl Wiberg3d452cf2020-09-11 14:09:4674 ]
75}
76
Florent Castellif9c59842022-04-19 15:07:2377rtc_source_set("buffer") {
78 visibility = [ "*" ]
79 sources = [ "buffer.h" ]
80 deps = [
81 ":checks",
82 ":type_traits",
83 ":zero_memory",
84 "../api:array_view",
85 ]
86 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
87}
88
Florent Castellia876a922022-04-19 15:18:3689rtc_source_set("byte_order") {
90 visibility = [ "*" ]
91 sources = [ "byte_order.h" ]
92 deps = [ "system:arch" ]
93}
94
Florent Castelli31764092022-04-14 11:41:5895rtc_source_set("mod_ops") {
96 visibility = [ "*" ]
97 sources = [ "numerics/mod_ops.h" ]
98 deps = [ ":checks" ]
99}
100
101rtc_source_set("moving_max_counter") {
102 visibility = [ "*" ]
103 sources = [ "numerics/moving_max_counter.h" ]
104 deps = [ ":checks" ]
105 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
106}
107
Florent Castelli6b608592022-04-14 11:18:04108rtc_source_set("one_time_event") {
109 visibility = [ "*" ]
110 sources = [ "one_time_event.h" ]
111 deps = [ "synchronization:mutex" ]
112}
113
Florent Castellia6c10e32022-04-14 11:08:44114rtc_source_set("strong_alias") {
115 visibility = [ "*" ]
116 sources = [ "strong_alias.h" ]
117}
118
Florent Castellid119b9e2022-04-14 11:23:51119rtc_source_set("swap_queue") {
120 visibility = [ "*" ]
121 sources = [ "swap_queue.h" ]
122 deps = [ ":checks" ]
123 absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
124}
125
Tommi8d2c5a82018-03-19 10:12:48126rtc_source_set("macromagic") {
127 sources = [
128 "arraysize.h",
Tommi8d2c5a82018-03-19 10:12:48129 "thread_annotations.h",
130 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10131 deps = [ "system:arch" ]
Tommi8d2c5a82018-03-19 10:12:48132}
133
Florent Castelli7f623b02022-04-14 11:34:56134rtc_library("bit_buffer") {
135 visibility = [ "*" ]
136 sources = [
137 "bit_buffer.cc",
138 "bit_buffer.h",
139 ]
philipel579a7b42023-03-02 10:51:53140 deps = [
141 ":checks",
142 "../api/units:data_size",
143 ]
144 absl_deps = [
145 "//third_party/abseil-cpp/absl/numeric:bits",
146 "//third_party/abseil-cpp/absl/strings:strings",
147 ]
Florent Castelli7f623b02022-04-14 11:34:56148}
149
Florent Castelliceb7b362022-04-19 15:35:04150rtc_library("byte_buffer") {
151 visibility = [ "*" ]
152 sources = [
153 "byte_buffer.cc",
154 "byte_buffer.h",
155 ]
156 deps = [
157 ":buffer",
158 ":byte_order",
159 ]
160 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
161}
162
Florent Castelli76063752022-04-19 15:14:26163rtc_library("buffer_queue") {
164 visibility = [ "*" ]
165 sources = [
166 "buffer_queue.cc",
167 "buffer_queue.h",
168 ]
169 deps = [
170 ":buffer",
171 ":macromagic",
172 "../api:sequence_checker",
173 "system:no_unique_address",
174 ]
175}
176
Florent Castellied4aadc2022-04-19 15:40:46177rtc_library("copy_on_write_buffer") {
178 visibility = [ "*" ]
179 sources = [
180 "copy_on_write_buffer.cc",
181 "copy_on_write_buffer.h",
182 ]
183 deps = [
184 ":buffer",
185 ":checks",
186 ":refcount",
187 ":type_traits",
188 "../api:scoped_refptr",
189 "system:rtc_export",
190 ]
Ali Tofighe00d7d02022-05-09 11:33:36191 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Florent Castellied4aadc2022-04-19 15:40:46192}
193
Florent Castellia30aef32022-04-19 15:47:13194rtc_library("event_tracer") {
195 visibility = [ "*" ]
196 sources = [
197 "event_tracer.cc",
198 "event_tracer.h",
199 "trace_event.h",
200 ]
201 deps = [
Florent Castellia30aef32022-04-19 15:47:13202 ":checks",
203 ":logging",
204 ":macromagic",
205 ":platform_thread",
206 ":platform_thread_types",
207 ":rtc_event",
208 ":timeutils",
209 "../api:sequence_checker",
210 "synchronization:mutex",
211 "system:rtc_export",
212 ]
213 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
214}
215
Florent Castelli17296422022-04-14 11:48:10216rtc_library("histogram_percentile_counter") {
217 visibility = [ "*" ]
218 sources = [
219 "numerics/histogram_percentile_counter.cc",
220 "numerics/histogram_percentile_counter.h",
221 ]
222 deps = [ ":checks" ]
223 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
224}
225
Florent Castelli7f623b02022-04-14 11:34:56226rtc_library("race_checker") {
227 visibility = [ "*" ]
228 sources = [
229 "race_checker.cc",
230 "race_checker.h",
231 ]
232 deps = [
233 ":checks",
234 ":macromagic",
235 ":platform_thread_types",
236 ]
237}
238
Florent Castelli71337f32022-04-14 10:41:26239rtc_library("random") {
240 visibility = [ "*" ]
241 sources = [
242 "random.cc",
243 "random.h",
244 ]
245 deps = [
246 ":checks",
247 ":safe_conversions",
248 ]
249}
250
Danil Chapovalove546ff92023-07-21 12:06:20251rtc_library("bitrate_tracker") {
252 visibility = [ "*" ]
253 sources = [
254 "bitrate_tracker.cc",
255 "bitrate_tracker.h",
256 ]
257 deps = [
258 ":rate_statistics",
259 "../api/units:data_rate",
260 "../api/units:data_size",
261 "../api/units:time_delta",
262 "../api/units:timestamp",
263 "system:rtc_export",
264 ]
265 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
266}
267
268rtc_library("frequency_tracker") {
269 visibility = [ "*" ]
270 sources = [
271 "frequency_tracker.cc",
272 "frequency_tracker.h",
273 ]
274 deps = [
275 ":rate_statistics",
276 "../api/units:frequency",
277 "../api/units:time_delta",
278 "../api/units:timestamp",
279 "system:rtc_export",
280 ]
281 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
282}
283
Florent Castelli6bb1fd32022-04-19 13:58:39284rtc_library("rate_statistics") {
Danil Chapovalove546ff92023-07-21 12:06:20285 # TODO(bugs.webrtc.org/13756): Restrict visibility to private when all usage
286 # of the RateStatistics is migrated to BitrateTracker and FrequencyTracker.
Florent Castelli6bb1fd32022-04-19 13:58:39287 visibility = [ "*" ]
288 sources = [
289 "rate_statistics.cc",
290 "rate_statistics.h",
291 ]
292 deps = [
293 ":checks",
294 ":logging",
295 ":safe_conversions",
296 "system:rtc_export",
297 ]
298 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
299}
300
Florent Castelli58cc4682022-04-19 13:50:28301rtc_library("rate_tracker") {
302 visibility = [ "*" ]
303 sources = [
304 "rate_tracker.cc",
305 "rate_tracker.h",
306 ]
307 deps = [
308 ":checks",
309 ":timeutils",
310 ]
311}
312
Florent Castelli83a36d42022-04-14 11:44:39313rtc_library("sample_counter") {
314 visibility = [ "*" ]
315 sources = [
316 "numerics/sample_counter.cc",
317 "numerics/sample_counter.h",
318 ]
319 deps = [
320 ":checks",
321 ":safe_conversions",
322 ]
323 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
324}
325
Florent Castellib1dc4e42022-04-14 11:20:12326rtc_library("timestamp_aligner") {
327 visibility = [ "*" ]
328 sources = [
329 "timestamp_aligner.cc",
330 "timestamp_aligner.h",
331 ]
332 deps = [
333 ":checks",
334 ":logging",
335 ":timeutils",
336 "system:rtc_export",
337 ]
338}
339
Florent Castellid119b9e2022-04-14 11:23:51340rtc_library("zero_memory") {
341 visibility = [ "*" ]
342 sources = [
343 "zero_memory.cc",
344 "zero_memory.h",
345 ]
346 deps = [
347 ":checks",
348 "../api:array_view",
349 ]
350}
351
Mirko Bonadei86d053c2019-10-17 19:32:04352rtc_library("platform_thread_types") {
Tommi8d2c5a82018-03-19 10:12:48353 sources = [
354 "platform_thread_types.cc",
355 "platform_thread_types.h",
356 ]
Mirko Bonadeid4096212022-11-24 08:01:35357 deps = [
358 ":checks",
359 ":macromagic",
360 ]
Tommi8d2c5a82018-03-19 10:12:48361}
362
Tommi8d2c5a82018-03-19 10:12:48363rtc_source_set("refcount") {
Mirko Bonadeica14a3a2018-08-09 07:47:12364 visibility = [ "*" ]
Tommi8d2c5a82018-03-19 10:12:48365 sources = [
Steve Anton10542f22019-01-11 17:11:00366 "ref_count.h",
367 "ref_counted_object.h",
368 "ref_counter.h",
Tommi8d2c5a82018-03-19 10:12:48369 ]
Tomas Gunnarssond7842002021-04-22 15:41:33370 deps = [
371 ":macromagic",
372 "../api:scoped_refptr",
373 ]
Tommi8d2c5a82018-03-19 10:12:48374}
375
Mirko Bonadei86d053c2019-10-17 19:32:04376rtc_library("criticalsection") {
Tommi8d2c5a82018-03-19 10:12:48377 sources = [
Markus Handell3cb525b2020-07-16 14:16:09378 "deprecated/recursive_critical_section.cc",
379 "deprecated/recursive_critical_section.h",
Tommi8d2c5a82018-03-19 10:12:48380 ]
381 deps = [
Tommi8d2c5a82018-03-19 10:12:48382 ":checks",
383 ":macromagic",
384 ":platform_thread_types",
Markus Handellf70fbc82020-06-03 22:41:20385 "synchronization:yield",
Niels Möllera12c42a2018-07-25 14:05:48386 "system:unused",
Tommi8d2c5a82018-03-19 10:12:48387 ]
388}
389
Mirko Bonadei86d053c2019-10-17 19:32:04390rtc_library("platform_thread") {
Tommi8d2c5a82018-03-19 10:12:48391 sources = [
392 "platform_thread.cc",
393 "platform_thread.h",
394 ]
395 deps = [
Tommi8d2c5a82018-03-19 10:12:48396 ":checks",
397 ":macromagic",
398 ":platform_thread_types",
399 ":rtc_event",
Tommi8d2c5a82018-03-19 10:12:48400 ":timeutils",
Artem Titovd15a5752021-02-10 13:31:24401 "../api:sequence_checker",
Tommi8d2c5a82018-03-19 10:12:48402 ]
Markus Handell97c44582021-04-20 15:41:54403 absl_deps = [
404 "//third_party/abseil-cpp/absl/memory",
405 "//third_party/abseil-cpp/absl/strings",
Markus Handellad5037b2021-05-07 13:02:36406 "//third_party/abseil-cpp/absl/types:optional",
Markus Handell97c44582021-04-20 15:41:54407 ]
Tommi8d2c5a82018-03-19 10:12:48408}
409
Mirko Bonadei86d053c2019-10-17 19:32:04410rtc_library("rtc_event") {
Tommi8d2c5a82018-03-19 10:12:48411 if (build_with_chromium) {
412 sources = [
413 "../../webrtc_overrides/rtc_base/event.cc",
414 "../../webrtc_overrides/rtc_base/event.h",
415 ]
Karl Wiberg98417032019-03-24 18:12:40416 deps = [
417 ":checks",
Markus Handell211ecb42022-08-16 13:31:26418 "../api/units:time_delta",
Mirko Bonadeid4002a72019-11-12 19:11:48419 "system:rtc_export", # Only Chromium's rtc::Event use RTC_EXPORT.
Karl Wiberg98417032019-03-24 18:12:40420 "//base", # Dependency on chromium's waitable_event.
421 ]
Tommi8d2c5a82018-03-19 10:12:48422 } else {
423 sources = [
424 "event.cc",
425 "event.h",
426 ]
Karl Wiberg98417032019-03-24 18:12:40427 deps = [
428 ":checks",
Markus Handell1d5be492022-08-18 13:49:09429 ":timeutils",
430 "../api/units:time_delta",
Karl Wiberg98417032019-03-24 18:12:40431 "synchronization:yield_policy",
432 "system:warn_current_thread_is_deadlocked",
433 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41434 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Tommi8d2c5a82018-03-19 10:12:48435 }
Tommi8d2c5a82018-03-19 10:12:48436}
437
Mirko Bonadeicb03e382022-02-10 13:27:57438config("chromium_logging_config") {
Danil Chapovalove6106102022-02-16 11:29:02439 defines = [ "LOGGING_INSIDE_WEBRTC" ]
Mirko Bonadeicb03e382022-02-10 13:27:57440}
441
Mirko Bonadei86d053c2019-10-17 19:32:04442rtc_library("logging") {
Mirko Bonadei2ad8c432018-08-09 08:54:40443 visibility = [ "*" ]
Patrik Höglund77301932018-10-09 13:09:51444 libs = []
Tommi8d2c5a82018-03-19 10:12:48445 deps = [
Yves Gerey988cc082018-10-23 10:03:01446 ":checks",
Tommi8d2c5a82018-03-19 10:12:48447 ":macromagic",
448 ":platform_thread_types",
449 ":stringutils",
450 ":timeutils",
Mirko Bonadei96191f82022-08-03 08:12:33451 "../api/units:timestamp",
Markus Handellde8a9352020-06-10 13:40:42452 "synchronization:mutex",
Mirko Bonadei2dcf3482020-06-05 12:30:41453 ]
454 absl_deps = [
Danil Chapovalovef98ae62019-10-11 15:18:29455 "//third_party/abseil-cpp/absl/base:core_headers",
Sebastian Janssonf4e085a2019-05-20 16:34:07456 "//third_party/abseil-cpp/absl/meta:type_traits",
Jonas Olssonf2ce37c2018-09-12 13:32:47457 "//third_party/abseil-cpp/absl/strings",
Mirko Bonadei96191f82022-08-03 08:12:33458 "//third_party/abseil-cpp/absl/types:optional",
Tommi8d2c5a82018-03-19 10:12:48459 ]
460
461 if (build_with_chromium) {
462 # Dependency on chromium's logging (in //base).
Artem Titov94b57c02019-03-21 12:35:10463 deps += [ "//base" ]
Tommi8d2c5a82018-03-19 10:12:48464 sources = [
465 "../../webrtc_overrides/rtc_base/logging.cc",
466 "../../webrtc_overrides/rtc_base/logging.h",
467 ]
Danil Chapovalove6106102022-02-16 11:29:02468
Mirko Bonadeicb03e382022-02-10 13:27:57469 # This macro needs to be both present in all WebRTC targets (see its
470 # definition in //BUILD.gn but also propagated to all the targets
471 # depending on the Chromium component defined in
472 # //third_party/webrtc_overrides:webrtc_component. This public_config
473 # allows GN to propagate the macro accordingly.
Danil Chapovalove6106102022-02-16 11:29:02474 public_configs = [ ":chromium_logging_config" ]
Tommi8d2c5a82018-03-19 10:12:48475 } else {
476 sources = [
477 "logging.cc",
478 "logging.h",
479 ]
Karl Wibergcefc4652018-05-23 21:20:38480 deps += [ "system:inline" ]
Tommi8d2c5a82018-03-19 10:12:48481
Mirko Bonadei99a70a22018-10-09 14:45:14482 if (is_mac) {
Sylvain Defresnec7f0dff2020-07-03 08:19:30483 frameworks = [ "Foundation.framework" ]
Mirko Bonadei99a70a22018-10-09 14:45:14484 }
485
Patrik Höglund77301932018-10-09 13:09:51486 if (is_android) {
487 libs += [ "log" ]
488 }
Tommi8d2c5a82018-03-19 10:12:48489 }
490}
491
Mirko Bonadei86d053c2019-10-17 19:32:04492rtc_library("checks") {
Mirko Bonadei2ad8c432018-08-09 08:54:40493 # TODO(bugs.webrtc.org/9607): This should not be public.
494 visibility = [ "*" ]
Patrik Höglund77301932018-10-09 13:09:51495 libs = []
Patrik Höglunda8005cf2017-12-13 15:05:42496 sources = [
497 "checks.cc",
498 "checks.h",
499 ]
500 deps = [
501 ":safe_compare",
Niels Möller94327682022-04-28 11:20:29502 "../api:scoped_refptr",
Jonas Olssonf8e5c112018-06-14 11:14:22503 "system:inline",
Mirko Bonadei35214fc2019-09-23 12:54:28504 "system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 12:30:41505 ]
Peter Boströmd6e861d2022-07-29 20:44:21506 if (build_with_chromium) {
507 sources += [ "../../webrtc_overrides/rtc_base/checks_overrides.cc" ]
508 deps += [ "//base" ]
509 }
Mirko Bonadei2dcf3482020-06-05 12:30:41510 absl_deps = [
Sebastian Janssonf4e085a2019-05-20 16:34:07511 "//third_party/abseil-cpp/absl/meta:type_traits",
Mirko Bonadeid4a37a62019-03-11 09:31:22512 "//third_party/abseil-cpp/absl/strings",
Patrik Höglunda8005cf2017-12-13 15:05:42513 ]
Patrik Höglund77301932018-10-09 13:09:51514 if (is_android) {
515 libs += [ "log" ]
516 }
Patrik Höglunda8005cf2017-12-13 15:05:42517}
518
Mirko Bonadei86d053c2019-10-17 19:32:04519rtc_library("rate_limiter") {
Patrik Höglunda8005cf2017-12-13 15:05:42520 sources = [
Patrik Höglund3e113432017-12-15 13:40:10521 "rate_limiter.cc",
522 "rate_limiter.h",
523 ]
524 deps = [
Florent Castelli4467ad72022-04-04 13:18:46525 ":macromagic",
Florent Castelli6bb1fd32022-04-19 13:58:39526 ":rate_statistics",
Patrik Höglund3e113432017-12-15 13:40:10527 "../system_wrappers",
Ying Wangaa6d4fa2023-05-17 12:59:49528 "../system_wrappers:field_trial",
Markus Handell18523c32020-07-08 15:55:58529 "synchronization:mutex",
Patrik Höglunda8005cf2017-12-13 15:05:42530 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41531 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Patrik Höglunda8005cf2017-12-13 15:05:42532}
533
534rtc_source_set("sanitizer") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10535 sources = [ "sanitizer.h" ]
Mirko Bonadei2dcf3482020-06-05 12:30:41536 absl_deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ]
Patrik Höglunda8005cf2017-12-13 15:05:42537}
538
Karl Wibergc1269372020-03-02 19:23:41539rtc_source_set("bounded_inline_vector") {
540 public = [ "bounded_inline_vector.h" ]
541 sources = [ "bounded_inline_vector_impl.h" ]
542 deps = [ ":checks" ]
543}
544
Danil Chapovalov33b83fd2019-09-18 13:48:23545rtc_source_set("divide_round") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10546 sources = [ "numerics/divide_round.h" ]
Danil Chapovalov33b83fd2019-09-18 13:48:23547 deps = [
548 ":checks",
549 ":safe_compare",
550 ]
551}
552
Patrik Höglunda8005cf2017-12-13 15:05:42553rtc_source_set("safe_compare") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10554 sources = [ "numerics/safe_compare.h" ]
555 deps = [ ":type_traits" ]
Patrik Höglunda8005cf2017-12-13 15:05:42556}
557
Karl Wiberg12edf4c2018-03-07 13:18:56558rtc_source_set("safe_minmax") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10559 sources = [ "numerics/safe_minmax.h" ]
Karl Wiberg12edf4c2018-03-07 13:18:56560 deps = [
561 ":checks",
562 ":safe_compare",
563 ":type_traits",
564 ]
565}
566
Tommi8d2c5a82018-03-19 10:12:48567rtc_source_set("safe_conversions") {
568 sources = [
569 "numerics/safe_conversions.h",
570 "numerics/safe_conversions_impl.h",
571 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10572 deps = [ ":checks" ]
Tommi8d2c5a82018-03-19 10:12:48573}
574
Mirko Bonadei86d053c2019-10-17 19:32:04575rtc_library("timeutils") {
Mirko Bonadei2ad8c432018-08-09 08:54:40576 visibility = [ "*" ]
Tommi8d2c5a82018-03-19 10:12:48577 sources = [
Johannes Kronb73c9f02021-02-15 12:29:45578 "system_time.cc",
579 "system_time.h",
Steve Anton10542f22019-01-11 17:11:00580 "time_utils.cc",
581 "time_utils.h",
Tommi8d2c5a82018-03-19 10:12:48582 ]
583 deps = [
584 ":checks",
585 ":safe_conversions",
Jonas Olsson366a50c2018-09-06 11:41:30586 ":stringutils",
Mirko Bonadei35214fc2019-09-23 12:54:28587 "system:rtc_export",
Tommi8d2c5a82018-03-19 10:12:48588 ]
Philipp Hancke3adaeef2023-06-27 11:08:44589
Johannes Kronbb52bdf2021-02-25 09:10:08590 if (rtc_exclude_system_time) {
591 defines = [ "WEBRTC_EXCLUDE_SYSTEM_TIME" ]
592 }
593
Noah Richards342989d2019-03-18 20:50:20594 libs = []
595 if (is_win) {
596 libs += [ "winmm.lib" ]
Philipp Hancke3adaeef2023-06-27 11:08:44597 deps += [ ":win32" ]
Noah Richards342989d2019-03-18 20:50:20598 }
Tommi8d2c5a82018-03-19 10:12:48599}
600
Mirko Bonadei86d053c2019-10-17 19:32:04601rtc_library("stringutils") {
Patrik Höglunda8005cf2017-12-13 15:05:42602 sources = [
Steve Anton10542f22019-01-11 17:11:00603 "string_encode.cc",
604 "string_encode.h",
Jonas Olsson6b1985d2018-07-05 09:59:48605 "string_to_number.cc",
606 "string_to_number.h",
Steve Anton10542f22019-01-11 17:11:00607 "string_utils.cc",
608 "string_utils.h",
Karl Wiberg881f1682018-03-08 14:03:23609 "strings/string_builder.cc",
Tommifef05002018-02-27 12:51:08610 "strings/string_builder.h",
henrikaf0dc5c52020-04-09 16:46:00611 "strings/string_format.cc",
612 "strings/string_format.h",
Patrik Höglunda8005cf2017-12-13 15:05:42613 ]
614 deps = [
Patrik Höglund3e113432017-12-15 13:40:10615 ":checks",
Jonas Olsson6b1985d2018-07-05 09:59:48616 ":macromagic",
Karl Wiberg881f1682018-03-08 14:03:23617 ":safe_minmax",
618 "../api:array_view",
Mirko Bonadei2dcf3482020-06-05 12:30:41619 ]
620 absl_deps = [
Artem Titov94b57c02019-03-21 12:35:10621 "//third_party/abseil-cpp/absl/strings",
Jonas Olsson6b1985d2018-07-05 09:59:48622 "//third_party/abseil-cpp/absl/types:optional",
Patrik Höglund3e113432017-12-15 13:40:10623 ]
624}
625
Mirko Bonadei86d053c2019-10-17 19:32:04626rtc_library("audio_format_to_string") {
Jonas Olsson74395342018-04-03 10:22:07627 sources = [
628 "strings/audio_format_to_string.cc",
629 "strings/audio_format_to_string.h",
630 ]
631 deps = [
632 ":stringutils",
633 "../api/audio_codecs:audio_codecs_api",
634 ]
635}
636
Patrik Höglund3e113432017-12-15 13:40:10637rtc_source_set("type_traits") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10638 sources = [ "type_traits.h" ]
Patrik Höglund3e113432017-12-15 13:40:10639}
640
Mirko Bonadei86d053c2019-10-17 19:32:04641rtc_library("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53642 visibility = [ "*" ]
nisse75dd6d42017-09-19 15:28:00643 sources = [
Danil Chapovalov07a4f2b2019-03-05 18:58:28644 "task_queue.cc",
nisse75dd6d42017-09-19 15:28:00645 "task_queue.h",
646 ]
perkj650fdae2017-08-25 12:00:11647 deps = [
Tommi8d2c5a82018-03-19 10:12:48648 ":macromagic",
Danil Chapovalov959e9b62019-01-14 13:29:18649 "../api/task_queue",
Mirko Bonadei3d255302018-10-11 08:50:45650 "system:rtc_export",
perkj650fdae2017-08-25 12:00:11651 ]
Danil Chapovalova7e15a22022-07-05 14:03:03652 absl_deps = [
653 "//third_party/abseil-cpp/absl/functional:any_invocable",
654 "//third_party/abseil-cpp/absl/memory",
655 ]
Danil Chapovalov07a4f2b2019-03-05 18:58:28656}
657
Henrik Boström27c29362019-10-21 13:21:55658rtc_source_set("rtc_operations_chain") {
659 visibility = [ "*" ]
660 sources = [
661 "operations_chain.cc",
662 "operations_chain.h",
663 ]
664 deps = [
665 ":checks",
666 ":macromagic",
667 ":refcount",
Niels Möller105711e2022-06-14 13:48:26668 "../api:make_ref_counted",
Niels Möller95129102022-01-13 10:00:05669 "../api:refcountedbase",
Henrik Boström27c29362019-10-21 13:21:55670 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24671 "../api:sequence_checker",
Mirko Bonadei20e4c802020-11-23 10:07:42672 "system:no_unique_address",
Henrik Boström27c29362019-10-21 13:21:55673 ]
Henrik Boströme574a312020-08-25 08:20:11674 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Henrik Boström27c29362019-10-21 13:21:55675}
676
Tommi8d2c5a82018-03-19 10:12:48677if (rtc_enable_libevent) {
Mirko Bonadei86d053c2019-10-17 19:32:04678 rtc_library("rtc_task_queue_libevent") {
Danil Chapovalov07a4f2b2019-03-05 18:58:28679 visibility = [ "../api/task_queue:default_task_queue_factory" ]
perkj650fdae2017-08-25 12:00:11680 sources = [
Niels Möller15c9cf72017-10-19 10:38:09681 "task_queue_libevent.cc",
Danil Chapovaloveb175242019-02-12 09:44:38682 "task_queue_libevent.h",
perkj650fdae2017-08-25 12:00:11683 ]
Tommi8d2c5a82018-03-19 10:12:48684 deps = [
685 ":checks",
Tommi8d2c5a82018-03-19 10:12:48686 ":logging",
Yves Gerey2e00abc2018-10-05 13:39:24687 ":macromagic",
Tommi8d2c5a82018-03-19 10:12:48688 ":platform_thread",
Yves Gerey2e00abc2018-10-05 13:39:24689 ":platform_thread_types",
Tommi8d2c5a82018-03-19 10:12:48690 ":safe_conversions",
691 ":timeutils",
Danil Chapovaloveb175242019-02-12 09:44:38692 "../api/task_queue",
Danil Chapovalov30c2a312022-07-19 12:12:43693 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58694 "synchronization:mutex",
Mirko Bonadei2dcf3482020-06-05 12:30:41695 ]
696 absl_deps = [
Steve Anton9a83dd72020-01-09 19:03:25697 "//third_party/abseil-cpp/absl/container:inlined_vector",
Danil Chapovalov30c2a312022-07-19 12:12:43698 "//third_party/abseil-cpp/absl/functional:any_invocable",
Danil Chapovaloveb175242019-02-12 09:44:38699 "//third_party/abseil-cpp/absl/strings",
Tommi8d2c5a82018-03-19 10:12:48700 ]
701 if (rtc_build_libevent) {
Byoungchan Leed69a7262022-06-23 13:06:00702 deps += [ "//third_party/libevent" ]
Tommi8d2c5a82018-03-19 10:12:48703 }
704 }
705}
706
707if (is_mac || is_ios) {
Mirko Bonadei86d053c2019-10-17 19:32:04708 rtc_library("rtc_task_queue_gcd") {
Byoungchan Lee08438fc2021-10-12 13:53:35709 visibility = [ "../api/task_queue:default_task_queue_factory" ]
Tommi8d2c5a82018-03-19 10:12:48710 sources = [
711 "task_queue_gcd.cc",
Danil Chapovalov47cf5ea2019-02-19 19:20:16712 "task_queue_gcd.h",
Tommi8d2c5a82018-03-19 10:12:48713 ]
714 deps = [
715 ":checks",
716 ":logging",
Markus Handell2a256c82023-02-27 11:41:39717 "../api:location",
Danil Chapovalov47cf5ea2019-02-19 19:20:16718 "../api/task_queue",
Danil Chapovalovfcfa80f2022-07-07 09:26:48719 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58720 "synchronization:mutex",
Yura Yaroshevichebf739b2020-03-16 15:00:59721 "system:gcd_helpers",
Tommi8d2c5a82018-03-19 10:12:48722 ]
Danil Chapovalovfcfa80f2022-07-07 09:26:48723 absl_deps = [
724 "//third_party/abseil-cpp/absl/functional:any_invocable",
725 "//third_party/abseil-cpp/absl/strings",
726 ]
Tommi8d2c5a82018-03-19 10:12:48727 }
728}
729
730if (is_win) {
Mirko Bonadei86d053c2019-10-17 19:32:04731 rtc_library("rtc_task_queue_win") {
Danil Chapovalov07a4f2b2019-03-05 18:58:28732 visibility = [ "../api/task_queue:default_task_queue_factory" ]
Tommi8d2c5a82018-03-19 10:12:48733 sources = [
734 "task_queue_win.cc",
Danil Chapovalov826f2e72019-02-20 17:13:09735 "task_queue_win.h",
Tommi8d2c5a82018-03-19 10:12:48736 ]
737 deps = [
738 ":checks",
Tommi8d2c5a82018-03-19 10:12:48739 ":logging",
740 ":macromagic",
741 ":platform_thread",
Tommi8d2c5a82018-03-19 10:12:48742 ":rtc_event",
Tommi8d2c5a82018-03-19 10:12:48743 ":safe_conversions",
744 ":timeutils",
Danil Chapovalov826f2e72019-02-20 17:13:09745 "../api/task_queue",
Danil Chapovalov3c06cfc2022-07-20 11:38:58746 "../api/units:time_delta",
747 "../api/units:timestamp",
Markus Handell18523c32020-07-08 15:55:58748 "synchronization:mutex",
Tommi8d2c5a82018-03-19 10:12:48749 ]
Markus Handellad5037b2021-05-07 13:02:36750 absl_deps = [
Danil Chapovalov3c06cfc2022-07-20 11:38:58751 "//third_party/abseil-cpp/absl/functional:any_invocable",
Markus Handellad5037b2021-05-07 13:02:36752 "//third_party/abseil-cpp/absl/strings",
753 "//third_party/abseil-cpp/absl/types:optional",
754 ]
Tommi8d2c5a82018-03-19 10:12:48755 }
756}
757
Mirko Bonadei86d053c2019-10-17 19:32:04758rtc_library("rtc_task_queue_stdlib") {
Robin Raymond22027b92018-11-23 14:07:50759 sources = [
760 "task_queue_stdlib.cc",
Danil Chapovalovfa52efa2019-02-21 10:13:58761 "task_queue_stdlib.h",
Robin Raymond22027b92018-11-23 14:07:50762 ]
763 deps = [
764 ":checks",
Danil Chapovalovba570012022-07-19 16:36:31765 ":divide_round",
Robin Raymond22027b92018-11-23 14:07:50766 ":logging",
767 ":macromagic",
768 ":platform_thread",
Robin Raymond22027b92018-11-23 14:07:50769 ":rtc_event",
Robin Raymond22027b92018-11-23 14:07:50770 ":safe_conversions",
771 ":timeutils",
Danil Chapovalovfa52efa2019-02-21 10:13:58772 "../api/task_queue",
Danil Chapovalovba570012022-07-19 16:36:31773 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58774 "synchronization:mutex",
Robin Raymond22027b92018-11-23 14:07:50775 ]
Danil Chapovalovba570012022-07-19 16:36:31776 absl_deps = [
777 "//third_party/abseil-cpp/absl/functional:any_invocable",
778 "//third_party/abseil-cpp/absl/strings",
779 ]
Robin Raymond22027b92018-11-23 14:07:50780}
781
Markus Handell82da9322022-12-16 14:50:24782if (rtc_include_tests) {
783 rtc_library("task_queue_stdlib_unittest") {
784 testonly = true
785
786 sources = [ "task_queue_stdlib_unittest.cc" ]
787 deps = [
788 ":gunit_helpers",
789 ":rtc_task_queue_stdlib",
790 "../api/task_queue:task_queue_test",
791 "../test:test_main",
792 "../test:test_support",
793 ]
794 }
795}
796
Mirko Bonadei86d053c2019-10-17 19:32:04797rtc_library("weak_ptr") {
Henrik Kjellanderc0362762017-06-29 06:03:04798 sources = [
799 "weak_ptr.cc",
800 "weak_ptr.h",
801 ]
802 deps = [
Tommi8d2c5a82018-03-19 10:12:48803 ":refcount",
Mirko Bonadeid9708072019-01-25 19:26:48804 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24805 "../api:sequence_checker",
Mirko Bonadei20e4c802020-11-23 10:07:42806 "system:no_unique_address",
Henrik Kjellanderc0362762017-06-29 06:03:04807 ]
808}
809
Mirko Bonadei86d053c2019-10-17 19:32:04810rtc_library("rtc_numerics") {
Henrik Kjellanderc0362762017-06-29 06:03:04811 sources = [
Jonas Oreland63dced92019-11-25 12:00:15812 "numerics/event_based_exponential_moving_average.cc",
813 "numerics/event_based_exponential_moving_average.h",
Henrik Kjellanderc0362762017-06-29 06:03:04814 "numerics/exp_filter.cc",
815 "numerics/exp_filter.h",
Yves Gerey890f62b2019-04-10 15:18:48816 "numerics/math_utils.h",
Ilya Nikolaevskiy26341992018-11-05 11:55:18817 "numerics/moving_average.cc",
818 "numerics/moving_average.h",
Rasmus Brandt91664812022-09-14 14:22:24819 "numerics/moving_percentile_filter.h",
Henrik Kjellanderc0362762017-06-29 06:03:04820 "numerics/percentile_filter.h",
Yves Gerey890f62b2019-04-10 15:18:48821 "numerics/running_statistics.h",
Evan Shrubsole097fc342023-01-09 10:21:43822 "numerics/sequence_number_unwrapper.h",
Bjorn Tereliusa194e582017-10-25 11:07:09823 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 06:03:04824 ]
825 deps = [
Patrik Höglunda8005cf2017-12-13 15:05:42826 ":checks",
Florent Castelli31764092022-04-14 11:41:58827 ":mod_ops",
Artem Titov9d777622020-09-18 16:23:08828 ]
829 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
830}
831
832rtc_library("rtc_stats_counters") {
833 sources = [
834 "numerics/event_rate_counter.cc",
835 "numerics/event_rate_counter.h",
836 "numerics/sample_stats.cc",
837 "numerics/sample_stats.h",
838 ]
839 deps = [
840 "../api/numerics",
Sebastian Janssonefa3f762019-12-02 06:19:55841 "../api/units:data_rate",
842 "../api/units:time_delta",
Artem Titov6fcdbc12019-09-11 09:45:40843 "../api/units:timestamp",
Mirko Bonadei2dcf3482020-06-05 12:30:41844 ]
Artem Titov9d777622020-09-18 16:23:08845 absl_deps = []
Henrik Kjellanderc0362762017-06-29 06:03:04846}
847
Mirko Bonadei65643662019-07-12 11:29:30848config("rtc_json_suppressions") {
Mirko Bonadei94077762019-06-27 09:24:25849 if (!is_win || is_clang) {
Mirko Bonadei65643662019-07-12 11:29:30850 cflags_cc = [
Mirko Bonadei1cd6f322019-07-12 19:47:47851 # TODO(bugs.webrtc.org/10814): Remove -Wno-undef as soon as it get
Mirko Bonadei65643662019-07-12 11:29:30852 # removed upstream.
853 "-Wno-undef",
854 ]
Mirko Bonadei94077762019-06-27 09:24:25855 }
856}
857
Mirko Bonadei86d053c2019-10-17 19:32:04858rtc_library("rtc_json") {
Mirko Bonadei65643662019-07-12 11:29:30859 public_configs = [ ":rtc_json_suppressions" ]
Sam Zackrisson492fdf42019-10-25 08:45:58860 poisonous = [ "rtc_json" ]
Henrik Kjellanderc0362762017-06-29 06:03:04861 defines = []
862 sources = [
Sam Zackrissonb45bdb52018-10-02 14:25:59863 "strings/json.cc",
864 "strings/json.h",
Henrik Kjellanderc0362762017-06-29 06:03:04865 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10866 deps = [ ":stringutils" ]
Mirko Bonadeia0e29fc2018-01-26 15:50:02867 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 06:03:04868 if (rtc_build_json) {
Florent Castellif35611a2022-04-14 09:55:57869 deps += [ "//third_party/jsoncpp" ]
Henrik Kjellanderc0362762017-06-29 06:03:04870 } else {
871 include_dirs = [ "$rtc_jsoncpp_root" ]
Henrik Kjellanderc0362762017-06-29 06:03:04872 }
Ali Tofigh7fa90572022-03-17 14:47:49873 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Henrik Kjellanderc0362762017-06-29 06:03:04874}
875
Mirko Bonadeie5f4c6b2021-01-15 09:41:01876rtc_library("net_helpers") {
Florent Castelli353a5ce2023-01-09 16:49:10877 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01878 sources = [
879 "net_helpers.cc",
880 "net_helpers.h",
881 ]
Mirko Bonadei23fc2be2023-08-02 06:57:01882 deps = [ "system:rtc_export" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01883 if (is_android) {
884 deps += [ ":ifaddrs_android" ]
885 }
886 if (is_win) {
Nico Weber79bd4f12021-10-05 19:01:26887 deps += [
Nico Weber79bd4f12021-10-05 19:01:26888 ":win32",
Florent Castelli15a3c3f2022-04-27 08:33:27889 "win:windows_version",
Nico Weber79bd4f12021-10-05 19:01:26890 ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01891 }
Ali Tofigh2ab914c2022-04-13 10:55:15892 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45893}
894
Mirko Bonadei0d8b79e2023-07-27 06:55:49895rtc_library("net_test_helpers") {
896 # TODO(mbonadei): Enable once net_helpers don't depend
897 # on this target anymore.
898 # testonly = true
899 sources = [
900 "net_test_helpers.cc",
901 "net_test_helpers.h",
902 ]
903 deps = [ "system:rtc_export" ]
904 if (is_android) {
905 deps += [ ":ifaddrs_android" ]
906 }
907 if (is_win) {
908 deps += [
909 ":win32",
910 "win:windows_version",
911 ]
912 }
913}
914
Mirko Bonadeie5f4c6b2021-01-15 09:41:01915rtc_library("async_resolver_interface") {
Karl Wiberg02f4e322019-02-10 23:43:43916 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01917 sources = [
918 "async_resolver_interface.cc",
919 "async_resolver_interface.h",
920 ]
921 deps = [
Sameer Vijaykarb787e262022-08-11 09:52:57922 ":checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01923 ":socket_address",
924 "system:rtc_export",
925 "third_party/sigslot",
926 ]
Karl Wiberg0b6d0e62018-12-06 13:50:45927}
928
Harald Alvestrand8d4a5f12023-08-22 13:53:16929rtc_library("async_dns_resolver") {
930 sources = [
931 "async_dns_resolver.cc",
932 "async_dns_resolver.h",
933 ]
934 deps = [
935 ":logging",
936 ":macromagic",
937 ":platform_thread",
Harald Alvestrand8219cc32023-09-02 05:26:55938 ":refcount",
Harald Alvestrand8d4a5f12023-08-22 13:53:16939 "../api:async_dns_resolver",
Harald Alvestrand8219cc32023-09-02 05:26:55940 "../api:make_ref_counted",
Harald Alvestrand8d4a5f12023-08-22 13:53:16941 "../api:sequence_checker",
942 "../api/task_queue:pending_task_safety_flag",
943 ]
944}
945
946rtc_library("async_dns_resolver_unittests") {
947 testonly = true
948 sources = [ "async_dns_resolver_unittest.cc" ]
949 deps = [
950 ":async_dns_resolver",
951 ":gunit_helpers",
952 "../test:run_loop",
953 "../test:test_support",
954 ]
955}
956
Mirko Bonadeie5f4c6b2021-01-15 09:41:01957rtc_library("ip_address") {
Karl Wiberg02f4e322019-02-10 23:43:43958 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01959 sources = [
960 "ip_address.cc",
961 "ip_address.h",
962 ]
963 deps = [
Florent Castellia876a922022-04-19 15:18:36964 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01965 ":net_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01966 ":stringutils",
967 "system:rtc_export",
968 ]
969 if (is_win) {
970 deps += [ ":win32" ]
971 }
Ali Tofigh7fa90572022-03-17 14:47:49972 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45973}
974
Mirko Bonadeie5f4c6b2021-01-15 09:41:01975rtc_library("socket_address") {
Karl Wiberg02f4e322019-02-10 23:43:43976 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01977 sources = [
978 "socket_address.cc",
979 "socket_address.h",
980 ]
981 deps = [
Florent Castellia876a922022-04-19 15:18:36982 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01983 ":checks",
984 ":ip_address",
985 ":logging",
986 ":net_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01987 ":safe_conversions",
988 ":stringutils",
989 "system:rtc_export",
990 ]
991 if (is_win) {
992 deps += [ ":win32" ]
993 }
Ali Tofigh7fa90572022-03-17 14:47:49994 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45995}
996
Mirko Bonadeie5f4c6b2021-01-15 09:41:01997rtc_library("null_socket_server") {
998 sources = [
999 "null_socket_server.cc",
1000 "null_socket_server.h",
1001 ]
1002 deps = [
Mirko Bonadeie5f4c6b2021-01-15 09:41:011003 ":checks",
1004 ":rtc_event",
1005 ":socket",
1006 ":socket_server",
Markus Handell2cfc1af2022-08-19 08:16:481007 "../api/units:time_delta",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011008 "system:rtc_export",
1009 ]
Karl Wiberg0b6d0e62018-12-06 13:50:451010}
1011
Karl Wiberg28522dc2019-01-22 16:54:341012rtc_source_set("socket_server") {
Florent Castelli353a5ce2023-01-09 16:49:101013 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011014 sources = [ "socket_server.h" ]
Markus Handell9a21c492022-08-25 11:40:131015 deps = [
1016 ":rtc_event",
1017 ":socket_factory",
1018 "../api/units:time_delta",
1019 ]
Karl Wiberg0b6d0e62018-12-06 13:50:451020}
1021
Mirko Bonadeie5f4c6b2021-01-15 09:41:011022rtc_library("threading") {
Karl Wiberg02f4e322019-02-10 23:43:431023 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011024
Mirko Bonadeie5f4c6b2021-01-15 09:41:011025 sources = [
1026 "async_resolver.cc",
1027 "async_resolver.h",
1028 "internal/default_socket_server.cc",
1029 "internal/default_socket_server.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011030 "network_monitor.cc",
1031 "network_monitor.h",
1032 "network_monitor_factory.cc",
1033 "network_monitor_factory.h",
1034 "physical_socket_server.cc",
1035 "physical_socket_server.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011036 "thread.cc",
1037 "thread.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011038 ]
Henrik Boström2deee4b2022-01-20 10:58:051039 absl_deps = [
1040 "//third_party/abseil-cpp/absl/algorithm:container",
1041 "//third_party/abseil-cpp/absl/base:core_headers",
Danil Chapovalov4bcf8092022-07-06 17:42:341042 "//third_party/abseil-cpp/absl/cleanup",
1043 "//third_party/abseil-cpp/absl/functional:any_invocable",
Danil Chapovalov0bd16652022-08-24 16:35:451044 "//third_party/abseil-cpp/absl/memory",
Ali Tofigh7fa90572022-03-17 14:47:491045 "//third_party/abseil-cpp/absl/strings",
Henrik Boström2deee4b2022-01-20 10:58:051046 ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011047 deps = [
1048 ":async_resolver_interface",
Florent Castellia876a922022-04-19 15:18:361049 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011050 ":checks",
1051 ":criticalsection",
Florent Castellia30aef32022-04-19 15:47:131052 ":event_tracer",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011053 ":ip_address",
1054 ":logging",
1055 ":macromagic",
1056 ":network_constants",
1057 ":null_socket_server",
Florent Castelli45a05992022-04-14 10:18:281058 ":platform_thread",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011059 ":platform_thread_types",
Florent Castellif86f6f92022-04-05 00:54:121060 ":refcount",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011061 ":rtc_event",
1062 ":rtc_task_queue",
1063 ":socket_address",
1064 ":socket_server",
1065 ":timeutils",
1066 "../api:function_view",
Markus Handell2a256c82023-02-27 11:41:391067 "../api:location",
Markus Handell1366b0f2021-04-21 08:22:341068 "../api:refcountedbase",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011069 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241070 "../api:sequence_checker",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011071 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451072 "../api/task_queue:pending_task_safety_flag",
Danil Chapovalov4bcf8092022-07-06 17:42:341073 "../api/units:time_delta",
Per Kjellanderfdcfefa2022-11-08 11:48:521074 "../system_wrappers:field_trial",
Niels Möller6d176022021-02-09 13:44:481075 "synchronization:mutex",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011076 "system:no_unique_address",
1077 "system:rtc_export",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011078 "third_party/sigslot",
1079 ]
1080 if (is_android) {
1081 deps += [ ":ifaddrs_android" ]
1082 }
1083 if (is_win) {
1084 deps += [ ":win32" ]
1085 }
1086 if (is_mac || is_ios) {
Byoungchan Lee08438fc2021-10-12 13:53:351087 deps += [ "system:cocoa_threading" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011088 }
Karl Wiberg0b6d0e62018-12-06 13:50:451089}
1090
Karl Wiberg28522dc2019-01-22 16:54:341091rtc_source_set("socket_factory") {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011092 sources = [ "socket_factory.h" ]
Niels Möllerd0b88792021-08-12 08:32:301093 deps = [ ":socket" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451094}
1095
Mirko Bonadeie5f4c6b2021-01-15 09:41:011096rtc_library("async_socket") {
1097 sources = [
1098 "async_socket.cc",
1099 "async_socket.h",
1100 ]
1101 deps = [
1102 ":checks",
1103 ":socket",
1104 ":socket_address",
1105 "third_party/sigslot",
1106 ]
Niels Möller8729d782021-08-11 09:22:441107 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451108}
1109
Mirko Bonadeie5f4c6b2021-01-15 09:41:011110rtc_library("socket") {
1111 sources = [
1112 "socket.cc",
1113 "socket.h",
1114 ]
1115 deps = [
1116 ":macromagic",
1117 ":socket_address",
Niels Möllerd0b88792021-08-12 08:32:301118 "third_party/sigslot",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011119 ]
1120 if (is_win) {
1121 deps += [ ":win32" ]
1122 }
Karl Wiberg0b6d0e62018-12-06 13:50:451123}
1124
1125rtc_source_set("network_constants") {
Florent Castelli353a5ce2023-01-09 16:49:101126 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011127 sources = [
1128 "network_constants.cc",
1129 "network_constants.h",
1130 ]
1131 deps = [ ":checks" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451132}
1133
1134if (is_android) {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011135 rtc_library("ifaddrs_android") {
1136 sources = [
1137 "ifaddrs_android.cc",
1138 "ifaddrs_android.h",
1139 ]
1140 libs = [
1141 "log",
1142 "GLESv2",
1143 ]
Danil Chapovalove6106102022-02-16 11:29:021144 absl_deps = [ "//third_party/abseil-cpp/absl/cleanup" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451145 }
1146}
1147
1148if (is_win) {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011149 rtc_library("win32") {
Tommi16db7ff2020-09-26 09:57:261150 sources = [
1151 "win32.cc",
1152 "win32.h",
Tommi16db7ff2020-09-26 09:57:261153 ]
1154
1155 deps = [
Florent Castellia876a922022-04-19 15:18:361156 ":byte_order",
Tommi16db7ff2020-09-26 09:57:261157 ":checks",
1158 ":macromagic",
Florent Castelli57aa81b2022-04-04 15:14:021159 ":stringutils",
Tommi16db7ff2020-09-26 09:57:261160 ]
1161
1162 libs = [
1163 "crypt32.lib",
1164 "iphlpapi.lib",
1165 "secur32.lib",
1166 ]
1167
1168 defines = [ "_CRT_NONSTDC_NO_DEPRECATE" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451169 }
1170}
1171
Florent Castellia138c6c2023-01-04 11:01:091172rtc_library("ifaddrs_converter") {
1173 sources = []
1174 deps = [
1175 ":checks",
1176 ":ip_address",
1177 ":logging",
1178 ]
1179
1180 if (is_android) {
1181 deps += [ ":ifaddrs_android" ]
1182 }
1183
1184 if (is_ios || is_mac) {
1185 sources += [ "mac_ifaddrs_converter.cc" ]
1186 }
1187
1188 if (is_posix || is_fuchsia) {
Henrik Kjellanderc0362762017-06-29 06:03:041189 sources += [
1190 "ifaddrs_converter.cc",
1191 "ifaddrs_converter.h",
Henrik Kjellanderc0362762017-06-29 06:03:041192 ]
1193 }
Florent Castellia138c6c2023-01-04 11:01:091194}
Henrik Kjellanderc0362762017-06-29 06:03:041195
Florent Castellia138c6c2023-01-04 11:01:091196rtc_library("rolling_accumulator") {
1197 sources = [ "rolling_accumulator.h" ]
1198 deps = [
1199 ":checks",
1200 ":rtc_numerics",
1201 ]
1202}
Harald Alvestrand13799132020-03-09 18:39:361203
Florent Castellia138c6c2023-01-04 11:01:091204if (is_win) {
1205 rtc_library("win32_socket_init") {
1206 sources = [ "win32_socket_init.h" ]
1207 deps = [ ":win32" ]
Henrik Kjellanderc0362762017-06-29 06:03:041208 }
Henrik Kjellanderc0362762017-06-29 06:03:041209}
1210
Florent Castelli372cf8b2023-01-09 14:48:281211if (!build_with_chromium) {
1212 rtc_library("log_sinks") {
Florent Castellia5ba5862023-01-11 10:01:151213 visibility = [ "*" ]
Florent Castelli372cf8b2023-01-09 14:48:281214 sources = [
1215 "log_sinks.cc",
1216 "log_sinks.h",
1217 ]
1218 deps = [
1219 ":checks",
1220 ":file_rotating_stream",
1221 ":logging",
1222 ]
1223 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1224 }
Florent Castellia138c6c2023-01-04 11:01:091225}
1226
1227rtc_library("network") {
Florent Castelli353a5ce2023-01-09 16:49:101228 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091229 sources = [
1230 "network.cc",
1231 "network.h",
1232 ]
1233 deps = [
1234 ":checks",
1235 ":ifaddrs_converter",
1236 ":ip_address",
1237 ":logging",
1238 ":macromagic",
1239 ":mdns_responder_interface",
1240 ":socket",
1241 ":socket_factory",
1242 ":stringutils",
1243 ":threading",
1244 "../api:array_view",
1245 "../api:field_trials_view",
1246 "../api:sequence_checker",
1247 "../api/task_queue:pending_task_safety_flag",
1248 "../api/transport:field_trial_based_config",
1249 "../api/units:time_delta",
1250 "experiments:field_trial_parser",
1251 "memory:always_valid_pointer",
1252 "system:rtc_export",
1253 "third_party/sigslot",
1254 ]
1255 absl_deps = [
1256 "//third_party/abseil-cpp/absl/algorithm:container",
1257 "//third_party/abseil-cpp/absl/base:core_headers",
1258 "//third_party/abseil-cpp/absl/memory",
1259 "//third_party/abseil-cpp/absl/strings",
1260 ]
1261
1262 if (is_win) {
1263 deps += [ ":win32" ]
1264 }
1265}
1266
1267rtc_library("socket_address_pair") {
1268 sources = [
1269 "socket_address_pair.cc",
1270 "socket_address_pair.h",
1271 ]
1272 deps = [ ":socket_address" ]
1273}
1274
1275rtc_library("net_helper") {
Florent Castelli143c3b22023-01-10 14:02:511276 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091277 sources = [
1278 "net_helper.cc",
1279 "net_helper.h",
1280 ]
1281 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Mirko Bonadei62ba3792023-01-20 17:32:071282 deps = [ "system:rtc_export" ]
Florent Castellia138c6c2023-01-04 11:01:091283}
1284
1285rtc_library("socket_adapters") {
Florent Castelli353a5ce2023-01-09 16:49:101286 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091287 sources = [
1288 "socket_adapters.cc",
1289 "socket_adapters.h",
1290 ]
1291 deps = [
1292 ":async_socket",
1293 ":buffer",
1294 ":byte_buffer",
1295 ":checks",
1296 ":crypt_string",
1297 ":http_common",
1298 ":logging",
1299 ":stringutils",
1300 ":zero_memory",
1301 "../api:array_view",
1302 ]
1303 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1304}
1305
1306rtc_library("network_route") {
1307 sources = [
1308 "network_route.cc",
1309 "network_route.h",
1310 ]
1311 deps = [
1312 ":network_constants",
1313 ":stringutils",
1314 "system:inline",
1315 ]
1316}
1317
1318rtc_library("async_tcp_socket") {
1319 sources = [
1320 "async_tcp_socket.cc",
1321 "async_tcp_socket.h",
1322 ]
1323 deps = [
1324 ":async_packet_socket",
1325 ":buffer",
1326 ":byte_order",
1327 ":checks",
1328 ":logging",
1329 ":socket",
1330 ":socket_address",
1331 ":timeutils",
1332 "../api:array_view",
1333 "network:sent_packet",
Florent Castellia138c6c2023-01-04 11:01:091334 ]
1335}
1336
1337rtc_library("async_udp_socket") {
Florent Castelli353a5ce2023-01-09 16:49:101338 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091339 sources = [
1340 "async_udp_socket.cc",
1341 "async_udp_socket.h",
1342 ]
1343 deps = [
1344 ":async_packet_socket",
1345 ":checks",
1346 ":logging",
1347 ":macromagic",
1348 ":socket",
1349 ":socket_address",
1350 ":socket_factory",
1351 ":timeutils",
1352 "../api:sequence_checker",
1353 "../system_wrappers:field_trial",
1354 "network:sent_packet",
Harald Alvestrand3924bc22023-08-28 11:06:451355 "system:no_unique_address",
Florent Castellia138c6c2023-01-04 11:01:091356 ]
1357 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
1358}
1359
1360rtc_library("async_packet_socket") {
Florent Castelli353a5ce2023-01-09 16:49:101361 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091362 sources = [
1363 "async_packet_socket.cc",
1364 "async_packet_socket.h",
1365 ]
1366 deps = [
1367 ":callback_list",
1368 ":dscp",
1369 ":socket",
1370 ":timeutils",
1371 "../api:sequence_checker",
1372 "network:sent_packet",
1373 "system:no_unique_address",
1374 "system:rtc_export",
1375 "third_party/sigslot",
1376 ]
1377}
1378
1379rtc_library("mdns_responder_interface") {
1380 sources = [ "mdns_responder_interface.h" ]
1381 deps = [ ":ip_address" ]
1382 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1383}
1384
1385rtc_library("dscp") {
1386 sources = [ "dscp.h" ]
1387}
1388
1389rtc_library("proxy_info") {
Florent Castelli353a5ce2023-01-09 16:49:101390 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091391 sources = [
1392 "proxy_info.cc",
1393 "proxy_info.h",
1394 ]
1395 deps = [
1396 ":crypt_string",
1397 ":socket_address",
1398 ]
1399}
1400
1401rtc_library("file_rotating_stream") {
1402 sources = [
1403 "file_rotating_stream.cc",
1404 "file_rotating_stream.h",
1405 ]
1406 deps = [
1407 ":checks",
1408 ":logging",
1409 ":stringutils",
1410 "system:file_wrapper",
1411 ]
1412 absl_deps = [
1413 "//third_party/abseil-cpp/absl/algorithm:container",
1414 "//third_party/abseil-cpp/absl/strings",
1415 "//third_party/abseil-cpp/absl/types:optional",
1416 ]
1417}
1418
1419rtc_library("data_rate_limiter") {
1420 sources = [
1421 "data_rate_limiter.cc",
1422 "data_rate_limiter.h",
1423 ]
1424 deps = [ "system:rtc_export" ]
1425}
1426
1427rtc_library("unique_id_generator") {
1428 sources = [
1429 "unique_id_generator.cc",
1430 "unique_id_generator.h",
1431 ]
1432 deps = [
1433 ":ssl",
1434 ":stringutils",
1435 "../api:array_view",
1436 "../api:sequence_checker",
1437 "synchronization:mutex",
1438 "system:no_unique_address",
1439 ]
1440 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1441}
1442
1443rtc_library("crc32") {
1444 sources = [
1445 "crc32.cc",
1446 "crc32.h",
1447 ]
1448 deps = [ ":macromagic" ]
1449 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1450}
1451
1452rtc_library("stream") {
Florent Castelli353a5ce2023-01-09 16:49:101453 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091454 sources = [
1455 "stream.cc",
1456 "stream.h",
1457 ]
1458 deps = [
1459 ":buffer",
1460 ":checks",
1461 ":threading",
1462 "../api:array_view",
1463 "system:rtc_export",
1464 "third_party/sigslot",
1465 ]
1466}
1467
1468rtc_library("rtc_certificate_generator") {
Florent Castelli353a5ce2023-01-09 16:49:101469 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091470 sources = [
1471 "rtc_certificate_generator.cc",
1472 "rtc_certificate_generator.h",
1473 ]
1474 deps = [
1475 ":checks",
1476 ":ssl",
1477 ":threading",
1478 "../api:scoped_refptr",
1479 "system:rtc_export",
1480 ]
1481 absl_deps = [
1482 "//third_party/abseil-cpp/absl/functional:any_invocable",
1483 "//third_party/abseil-cpp/absl/types:optional",
1484 ]
1485}
1486
1487rtc_library("ssl") {
Florent Castelli353a5ce2023-01-09 16:49:101488 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091489 sources = [
1490 "helpers.cc",
1491 "helpers.h",
1492 "message_digest.cc",
1493 "message_digest.h",
1494 "openssl.h",
1495 "openssl_adapter.cc",
1496 "openssl_adapter.h",
1497 "openssl_digest.cc",
1498 "openssl_digest.h",
1499 "openssl_key_pair.cc",
1500 "openssl_key_pair.h",
1501 "openssl_session_cache.cc",
1502 "openssl_session_cache.h",
1503 "openssl_stream_adapter.cc",
1504 "openssl_stream_adapter.h",
1505 "openssl_utility.cc",
1506 "openssl_utility.h",
1507 "rtc_certificate.cc",
1508 "rtc_certificate.h",
1509 "ssl_adapter.cc",
1510 "ssl_adapter.h",
1511 "ssl_certificate.cc",
1512 "ssl_certificate.h",
1513 "ssl_fingerprint.cc",
1514 "ssl_fingerprint.h",
1515 "ssl_identity.cc",
1516 "ssl_identity.h",
1517 "ssl_stream_adapter.cc",
1518 "ssl_stream_adapter.h",
1519 ]
1520
1521 deps = [
1522 ":async_socket",
1523 ":buffer",
1524 ":checks",
1525 ":copy_on_write_buffer",
1526 ":logging",
1527 ":macromagic",
1528 ":safe_conversions",
1529 ":socket",
1530 ":socket_address",
1531 ":stream",
1532 ":stringutils",
1533 ":threading",
1534 ":timeutils",
1535 "../api:array_view",
1536 "../api:refcountedbase",
1537 "../api:scoped_refptr",
1538 "../api/task_queue:pending_task_safety_flag",
1539 "../api/units:time_delta",
1540 "../system_wrappers:field_trial",
Sameer Vijaykar45afbc12023-06-14 22:32:481541 "synchronization:mutex",
Florent Castellia138c6c2023-01-04 11:01:091542 "system:rtc_export",
1543 "task_utils:repeating_task",
1544 "third_party/base64",
1545 "third_party/sigslot",
1546 ]
1547
1548 absl_deps = [
1549 "//third_party/abseil-cpp/absl/algorithm:container",
1550 "//third_party/abseil-cpp/absl/base:core_headers",
Tommi59574ca2023-09-05 07:21:571551 "//third_party/abseil-cpp/absl/functional:any_invocable",
Florent Castellia138c6c2023-01-04 11:01:091552 "//third_party/abseil-cpp/absl/memory",
1553 "//third_party/abseil-cpp/absl/strings",
1554 "//third_party/abseil-cpp/absl/types:optional",
1555 ]
1556
1557 # If we are building the SSL library ourselves, we know it's BoringSSL.
1558 if (rtc_build_ssl) {
1559 sources += [
1560 "boringssl_certificate.cc",
1561 "boringssl_certificate.h",
1562 "boringssl_identity.cc",
1563 "boringssl_identity.h",
1564 ]
1565
1566 deps += [ "//third_party/boringssl" ]
1567 } else {
1568 sources += [
1569 "openssl_certificate.cc",
1570 "openssl_certificate.h",
1571 "openssl_identity.cc",
1572 "openssl_identity.h",
1573 ]
1574
1575 configs += [ ":external_ssl_library" ]
1576 }
1577
1578 if (build_with_chromium) {
1579 include_dirs = [ "../../boringssl/src/include" ]
1580 } else {
1581 sources += [ "ssl_roots.h" ]
1582 }
1583
1584 if (is_win) {
1585 deps += [ ":win32" ]
1586 }
1587}
1588
1589rtc_library("crypt_string") {
1590 sources = [
1591 "crypt_string.cc",
1592 "crypt_string.h",
1593 ]
1594}
1595
1596rtc_library("http_common") {
1597 sources = [
1598 "http_common.cc",
1599 "http_common.h",
1600 ]
1601 deps = [
1602 ":crypt_string",
1603 ":logging",
1604 ":socket_address",
1605 ":ssl",
1606 ":stringutils",
1607 ":zero_memory",
1608 "third_party/base64",
1609 ]
1610
1611 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1612}
1613
Henrik Kjellanderc0362762017-06-29 06:03:041614rtc_source_set("gtest_prod") {
Mirko Bonadeiccbe95f2020-01-21 11:10:101615 sources = [ "gtest_prod_util.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:041616}
1617
Mirko Bonadei86d053c2019-10-17 19:32:041618rtc_library("gunit_helpers") {
Mirko Bonadeie3abb812018-11-23 12:15:081619 testonly = true
1620 sources = [
1621 "gunit.cc",
1622 "gunit.h",
1623 ]
1624 deps = [
1625 ":logging",
Mirko Bonadeie3abb812018-11-23 12:15:081626 ":rtc_base_tests_utils",
1627 ":stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011628 ":threading",
Mirko Bonadeie3abb812018-11-23 12:15:081629 "../test:test_support",
1630 ]
Mirko Bonadei2dcf3482020-06-05 12:30:411631 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Mirko Bonadeie3abb812018-11-23 12:15:081632}
1633
Mirko Bonadei86d053c2019-10-17 19:32:041634rtc_library("testclient") {
Mirko Bonadeie3abb812018-11-23 12:15:081635 testonly = true
1636 sources = [
Steve Anton10542f22019-01-11 17:11:001637 "test_client.cc",
1638 "test_client.h",
Mirko Bonadeie3abb812018-11-23 12:15:081639 ]
1640 deps = [
Florent Castellia138c6c2023-01-04 11:01:091641 ":async_udp_socket",
Mirko Bonadeie3abb812018-11-23 12:15:081642 ":gunit_helpers",
Mirko Bonadeie3abb812018-11-23 12:15:081643 ":rtc_base_tests_utils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011644 ":threading",
Mirko Bonadeie3abb812018-11-23 12:15:081645 ":timeutils",
Markus Handell18523c32020-07-08 15:55:581646 "synchronization:mutex",
Mirko Bonadeie3abb812018-11-23 12:15:081647 ]
1648}
1649
Mirko Bonadei3d259352020-10-23 10:04:401650rtc_library("callback_list_unittests") {
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211651 testonly = true
1652
Mirko Bonadei3d259352020-10-23 10:04:401653 sources = [ "callback_list_unittest.cc" ]
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211654 deps = [
Mirko Bonadei3d259352020-10-23 10:04:401655 ":callback_list",
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211656 ":gunit_helpers",
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211657 "../api:function_view",
1658 "../test:test_support",
1659 ]
1660}
1661
Mirko Bonadei86d053c2019-10-17 19:32:041662rtc_library("rtc_base_tests_utils") {
Henrik Kjellanderc0362762017-06-29 06:03:041663 testonly = true
1664 sources = [
Henrik Kjellanderc0362762017-06-29 06:03:041665 "cpu_time.cc",
1666 "cpu_time.h",
Steve Anton10542f22019-01-11 17:11:001667 "fake_clock.cc",
1668 "fake_clock.h",
Qingsi Wang09619332018-09-13 05:51:551669 "fake_mdns_responder.h",
Steve Anton10542f22019-01-11 17:11:001670 "fake_network.h",
1671 "fake_ssl_identity.cc",
1672 "fake_ssl_identity.h",
1673 "firewall_socket_server.cc",
1674 "firewall_socket_server.h",
Niels Möllere7547d52018-11-01 08:33:081675 "memory_stream.cc",
1676 "memory_stream.h",
Henrik Kjellanderc0362762017-06-29 06:03:041677 "memory_usage.cc",
1678 "memory_usage.h",
Steve Anton10542f22019-01-11 17:11:001679 "nat_server.cc",
1680 "nat_server.h",
1681 "nat_socket_factory.cc",
1682 "nat_socket_factory.h",
1683 "nat_types.cc",
1684 "nat_types.h",
1685 "proxy_server.cc",
1686 "proxy_server.h",
Niels Möller44153152018-12-17 13:04:051687 "server_socket_adapters.cc",
1688 "server_socket_adapters.h",
Steve Anton10542f22019-01-11 17:11:001689 "sigslot_tester.h",
Steve Anton10542f22019-01-11 17:11:001690 "socket_stream.cc",
1691 "socket_stream.h",
1692 "test_base64.h",
1693 "test_certificate_verifier.h",
1694 "test_echo_server.cc",
1695 "test_echo_server.h",
1696 "test_utils.cc",
1697 "test_utils.h",
1698 "virtual_socket_server.cc",
1699 "virtual_socket_server.h",
Henrik Kjellanderc0362762017-06-29 06:03:041700 ]
Henrik Kjellanderc0362762017-06-29 06:03:041701 deps = [
Florent Castellia138c6c2023-01-04 11:01:091702 ":async_packet_socket",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011703 ":async_socket",
Florent Castellia138c6c2023-01-04 11:01:091704 ":async_tcp_socket",
1705 ":async_udp_socket",
Florent Castelliceb7b362022-04-19 15:35:041706 ":byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:421707 ":checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011708 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301709 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461710 ":macromagic",
Florent Castellia138c6c2023-01-04 11:01:091711 ":mdns_responder_interface",
1712 ":network",
Florent Castelli33d31fb2022-04-04 14:57:521713 ":rtc_event",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011714 ":socket",
Florent Castellia138c6c2023-01-04 11:01:091715 ":socket_adapters",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011716 ":socket_address",
Florent Castellia138c6c2023-01-04 11:01:091717 ":socket_address_pair",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011718 ":socket_factory",
1719 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:091720 ":ssl",
1721 ":stream",
Florent Castelli57aa81b2022-04-04 15:14:021722 ":stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011723 ":threading",
Florent Castellidd837e22022-04-04 15:16:151724 ":timeutils",
Danil Chapovalovbabdaa862022-09-16 10:41:111725 "../api:make_ref_counted",
1726 "../api:refcountedbase",
1727 "../api:scoped_refptr",
1728 "../api/task_queue",
Sebastian Jansson5f83cf02018-05-08 12:52:221729 "../api/units:time_delta",
Sebastian Janssond624c392019-04-17 08:36:031730 "../api/units:timestamp",
Jonas Orelandc06fe8b2022-03-28 12:58:261731 "../test:scoped_key_value_config",
1732 "memory:always_valid_pointer",
Niels Möller13339482019-03-28 12:30:151733 "memory:fifo_buffer",
Markus Handell18523c32020-07-08 15:55:581734 "synchronization:mutex",
Artem Titove41c4332018-07-25 13:04:281735 "third_party/sigslot",
Mirko Bonadei2dcf3482020-06-05 12:30:411736 ]
1737 absl_deps = [
Steve Anton2acd1632019-03-25 20:48:301738 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 09:40:331739 "//third_party/abseil-cpp/absl/memory",
Ali Tofigh7fa90572022-03-17 14:47:491740 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovbabdaa862022-09-16 10:41:111741 "//third_party/abseil-cpp/absl/types:optional",
Henrik Kjellanderc0362762017-06-29 06:03:041742 ]
Sarah Phamf1fa6ac72023-01-15 23:43:341743 if (is_fuchsia) {
1744 deps += [ "//third_party/fuchsia-sdk/sdk/pkg/zx" ]
1745 }
Henrik Kjellanderc0362762017-06-29 06:03:041746}
1747
Mirko Bonadei86d053c2019-10-17 19:32:041748rtc_library("task_queue_for_test") {
Tommida8781f2018-02-19 11:41:431749 testonly = true
1750
1751 sources = [
1752 "task_queue_for_test.cc",
1753 "task_queue_for_test.h",
1754 ]
1755 deps = [
1756 ":checks",
Florent Castelli4467ad72022-04-04 13:18:461757 ":macromagic",
Danil Chapovalovd26a9162019-03-19 17:08:371758 ":rtc_event",
Tommida8781f2018-02-19 11:41:431759 ":rtc_task_queue",
Danil Chapovalov5286dcf2022-07-18 15:04:561760 "../api:function_view",
Danil Chapovaloveb90e6f2019-10-15 08:04:571761 "../api/task_queue",
Danil Chapovalovd26a9162019-03-19 17:08:371762 "../api/task_queue:default_task_queue_factory",
Tommida8781f2018-02-19 11:41:431763 ]
Danil Chapovalov5286dcf2022-07-18 15:04:561764 absl_deps = [
1765 "//third_party/abseil-cpp/absl/cleanup",
1766 "//third_party/abseil-cpp/absl/strings",
1767 ]
Tommida8781f2018-02-19 11:41:431768}
1769
Henrik Kjellanderc0362762017-06-29 06:03:041770if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:041771 rtc_library("sigslot_unittest") {
Artem Titove41c4332018-07-25 13:04:281772 testonly = true
Mirko Bonadeiccbe95f2020-01-21 11:10:101773 sources = [ "sigslot_unittest.cc" ]
Artem Titove41c4332018-07-25 13:04:281774 deps = [
Mirko Bonadeie3abb812018-11-23 12:15:081775 ":gunit_helpers",
Artem Titove41c4332018-07-25 13:04:281776 ":rtc_base_tests_utils",
Yves Gerey3e707812018-11-28 15:47:491777 "../test:test_support",
Markus Handell18523c32020-07-08 15:55:581778 "synchronization:mutex",
Artem Titove41c4332018-07-25 13:04:281779 "third_party/sigslot",
1780 ]
1781 }
1782
Karl Wiberg70026f92020-09-18 08:03:161783 rtc_library("untyped_function_unittest") {
Karl Wiberg78e9acd2020-09-15 09:06:341784 testonly = true
Karl Wiberg70026f92020-09-18 08:03:161785 sources = [ "untyped_function_unittest.cc" ]
Karl Wiberg78e9acd2020-09-15 09:06:341786 deps = [
Karl Wiberg70026f92020-09-18 08:03:161787 ":untyped_function",
Karl Wiberg78e9acd2020-09-15 09:06:341788 "../test:test_support",
1789 ]
1790 }
1791
Henrik Boström27c29362019-10-21 13:21:551792 rtc_library("rtc_operations_chain_unittests") {
1793 testonly = true
1794
Mirko Bonadeiccbe95f2020-01-21 11:10:101795 sources = [ "operations_chain_unittest.cc" ]
Henrik Boström27c29362019-10-21 13:21:551796 deps = [
Henrik Boströme8b00a12020-08-25 15:11:201797 ":gunit_helpers",
Henrik Boström27c29362019-10-21 13:21:551798 ":rtc_event",
1799 ":rtc_operations_chain",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011800 ":threading",
Henrik Boström27c29362019-10-21 13:21:551801 "../test:test_support",
1802 ]
1803 }
1804
Andrey Logvine7c79fd2021-02-01 09:56:371805 if (!build_with_chromium) {
1806 rtc_library("rtc_base_nonparallel_tests") {
1807 testonly = true
Henrik Kjellanderc0362762017-06-29 06:03:041808
Andrey Logvine7c79fd2021-02-01 09:56:371809 sources = [
1810 "cpu_time_unittest.cc",
1811 "file_rotating_stream_unittest.cc",
1812 "null_socket_server_unittest.cc",
1813 "physical_socket_server_unittest.cc",
1814 "socket_address_unittest.cc",
1815 "socket_unittest.cc",
1816 "socket_unittest.h",
Tommi16db7ff2020-09-26 09:57:261817 ]
Andrey Logvine7c79fd2021-02-01 09:56:371818 deps = [
Florent Castellia138c6c2023-01-04 11:01:091819 ":async_packet_socket",
1820 ":async_udp_socket",
Florent Castellif9c59842022-04-19 15:07:231821 ":buffer",
Andrey Logvine7c79fd2021-02-01 09:56:371822 ":checks",
Florent Castellia138c6c2023-01-04 11:01:091823 ":file_rotating_stream",
Andrey Logvine7c79fd2021-02-01 09:56:371824 ":gunit_helpers",
1825 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301826 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461827 ":macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:371828 ":net_helpers",
Mirko Bonadei0d8b79e2023-07-27 06:55:491829 ":net_test_helpers",
Andrey Logvine7c79fd2021-02-01 09:56:371830 ":null_socket_server",
Florent Castelli45a05992022-04-14 10:18:281831 ":platform_thread",
Andrey Logvine7c79fd2021-02-01 09:56:371832 ":rtc_base_tests_utils",
1833 ":socket",
1834 ":socket_address",
1835 ":socket_server",
1836 ":testclient",
1837 ":threading",
Florent Castellidd837e22022-04-04 15:16:151838 ":timeutils",
Markus Handell9a21c492022-08-25 11:40:131839 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:371840 "../system_wrappers",
Per Kjellanderfdcfefa2022-11-08 11:48:521841 "../test:field_trial",
Andrey Logvine7c79fd2021-02-01 09:56:371842 "../test:fileutils",
1843 "../test:test_main",
1844 "../test:test_support",
1845 "third_party/sigslot",
1846 "//testing/gtest",
1847 ]
Ali Tofigh7fa90572022-03-17 14:47:491848 absl_deps = [
1849 "//third_party/abseil-cpp/absl/memory",
1850 "//third_party/abseil-cpp/absl/strings",
1851 ]
Tommi16db7ff2020-09-26 09:57:261852 }
Andrey Logvine7c79fd2021-02-01 09:56:371853
1854 rtc_library("rtc_base_approved_unittests") {
1855 testonly = true
1856 sources = [
Andrey Logvine7c79fd2021-02-01 09:56:371857 "base64_unittest.cc",
1858 "bit_buffer_unittest.cc",
Danil Chapovalove546ff92023-07-21 12:06:201859 "bitrate_tracker_unittest.cc",
Danil Chapovalov5af152c2021-08-31 13:27:511860 "bitstream_reader_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371861 "bounded_inline_vector_unittest.cc",
1862 "buffer_queue_unittest.cc",
1863 "buffer_unittest.cc",
1864 "byte_buffer_unittest.cc",
1865 "byte_order_unittest.cc",
1866 "checks_unittest.cc",
1867 "copy_on_write_buffer_unittest.cc",
1868 "deprecated/recursive_critical_section_unittest.cc",
1869 "event_tracer_unittest.cc",
1870 "event_unittest.cc",
Danil Chapovalove546ff92023-07-21 12:06:201871 "frequency_tracker_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371872 "logging_unittest.cc",
1873 "numerics/divide_round_unittest.cc",
1874 "numerics/histogram_percentile_counter_unittest.cc",
1875 "numerics/mod_ops_unittest.cc",
1876 "numerics/moving_max_counter_unittest.cc",
1877 "numerics/safe_compare_unittest.cc",
1878 "numerics/safe_minmax_unittest.cc",
1879 "numerics/sample_counter_unittest.cc",
1880 "one_time_event_unittest.cc",
1881 "platform_thread_unittest.cc",
1882 "random_unittest.cc",
1883 "rate_limiter_unittest.cc",
1884 "rate_statistics_unittest.cc",
1885 "rate_tracker_unittest.cc",
1886 "ref_counted_object_unittest.cc",
1887 "sanitizer_unittest.cc",
1888 "string_encode_unittest.cc",
1889 "string_to_number_unittest.cc",
1890 "string_utils_unittest.cc",
1891 "strings/string_builder_unittest.cc",
1892 "strings/string_format_unittest.cc",
Victor Boivieb9182302021-09-21 12:51:051893 "strong_alias_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371894 "swap_queue_unittest.cc",
1895 "thread_annotations_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371896 "time_utils_unittest.cc",
1897 "timestamp_aligner_unittest.cc",
1898 "virtual_socket_unittest.cc",
1899 "zero_memory_unittest.cc",
1900 ]
Andrey Logvine7c79fd2021-02-01 09:56:371901 deps = [
Florent Castellia138c6c2023-01-04 11:01:091902 ":async_packet_socket",
1903 ":async_udp_socket",
Florent Castelli7f623b02022-04-14 11:34:561904 ":bit_buffer",
Danil Chapovalove546ff92023-07-21 12:06:201905 ":bitrate_tracker",
Danil Chapovalov5af152c2021-08-31 13:27:511906 ":bitstream_reader",
Andrey Logvine7c79fd2021-02-01 09:56:371907 ":bounded_inline_vector",
Florent Castellif9c59842022-04-19 15:07:231908 ":buffer",
Florent Castelli76063752022-04-19 15:14:261909 ":buffer_queue",
Florent Castelliceb7b362022-04-19 15:35:041910 ":byte_buffer",
Florent Castellia876a922022-04-19 15:18:361911 ":byte_order",
Andrey Logvine7c79fd2021-02-01 09:56:371912 ":checks",
Florent Castellied4aadc2022-04-19 15:40:461913 ":copy_on_write_buffer",
Niels Möller9233af32021-06-22 09:24:061914 ":criticalsection",
Andrey Logvine7c79fd2021-02-01 09:56:371915 ":divide_round",
Florent Castellia30aef32022-04-19 15:47:131916 ":event_tracer",
Danil Chapovalove546ff92023-07-21 12:06:201917 ":frequency_tracker",
Andrey Logvine7c79fd2021-02-01 09:56:371918 ":gunit_helpers",
Florent Castelli17296422022-04-14 11:48:101919 ":histogram_percentile_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371920 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301921 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461922 ":macromagic",
Florent Castelli31764092022-04-14 11:41:581923 ":mod_ops",
1924 ":moving_max_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371925 ":null_socket_server",
Florent Castelli6b608592022-04-14 11:18:041926 ":one_time_event",
Florent Castelli45a05992022-04-14 10:18:281927 ":platform_thread",
Florent Castelli71337f32022-04-14 10:41:261928 ":random",
Andrey Logvine7c79fd2021-02-01 09:56:371929 ":rate_limiter",
Florent Castelli6bb1fd32022-04-19 13:58:391930 ":rate_statistics",
Florent Castelli58cc4682022-04-19 13:50:281931 ":rate_tracker",
Florent Castellif86f6f92022-04-05 00:54:121932 ":refcount",
Andrey Logvine7c79fd2021-02-01 09:56:371933 ":rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521934 ":rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:371935 ":rtc_numerics",
1936 ":rtc_task_queue",
1937 ":safe_compare",
1938 ":safe_minmax",
Florent Castelli83a36d42022-04-14 11:44:391939 ":sample_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371940 ":sanitizer",
1941 ":socket",
1942 ":socket_address",
1943 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:091944 ":ssl",
Andrey Logvine7c79fd2021-02-01 09:56:371945 ":stringutils",
Florent Castellia6c10e32022-04-14 11:08:441946 ":strong_alias",
Florent Castellid119b9e2022-04-14 11:23:511947 ":swap_queue",
Andrey Logvine7c79fd2021-02-01 09:56:371948 ":testclient",
1949 ":threading",
Florent Castellib1dc4e42022-04-14 11:20:121950 ":timestamp_aligner",
Florent Castellidd837e22022-04-04 15:16:151951 ":timeutils",
Florent Castellid119b9e2022-04-14 11:23:511952 ":zero_memory",
Andrey Logvine7c79fd2021-02-01 09:56:371953 "../api:array_view",
Niels Möller105711e2022-06-14 13:48:261954 "../api:make_ref_counted",
Andrey Logvine7c79fd2021-02-01 09:56:371955 "../api:scoped_refptr",
1956 "../api/numerics",
Danil Chapovalove546ff92023-07-21 12:06:201957 "../api/units:data_rate",
1958 "../api/units:data_size",
1959 "../api/units:frequency",
Andrey Logvine7c79fd2021-02-01 09:56:371960 "../api/units:time_delta",
Danil Chapovalove546ff92023-07-21 12:06:201961 "../api/units:timestamp",
Andrey Logvine7c79fd2021-02-01 09:56:371962 "../system_wrappers",
Ying Wangaa6d4fa2023-05-17 12:59:491963 "../test:field_trial",
Andrey Logvine7c79fd2021-02-01 09:56:371964 "../test:fileutils",
1965 "../test:test_main",
1966 "../test:test_support",
Nico Weber79bd4f12021-10-05 19:01:261967 "containers:flat_map",
Victor Boiviefd954fc2021-06-29 07:21:111968 "containers:unittests",
Andrey Logvine7c79fd2021-02-01 09:56:371969 "memory:unittests",
1970 "synchronization:mutex",
Danil Chapovalovf1361652022-09-02 13:40:261971 "task_utils:repeating_task",
Andrey Logvine7c79fd2021-02-01 09:56:371972 "third_party/base64",
1973 "third_party/sigslot",
1974 ]
1975 absl_deps = [
1976 "//third_party/abseil-cpp/absl/base:core_headers",
1977 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov5af152c2021-08-31 13:27:511978 "//third_party/abseil-cpp/absl/numeric:bits",
Ali Tofigh6364d082022-03-14 12:32:041979 "//third_party/abseil-cpp/absl/strings",
Markus Handellad5037b2021-05-07 13:02:361980 "//third_party/abseil-cpp/absl/types:optional",
Tommi16db7ff2020-09-26 09:57:261981 ]
Florent Castelli15a3c3f2022-04-27 08:33:271982
1983 if (is_win) {
1984 deps += [ "win:windows_version_unittest" ]
1985 }
Tommi16db7ff2020-09-26 09:57:261986 }
Andrey Logvine7c79fd2021-02-01 09:56:371987
1988 rtc_library("rtc_task_queue_unittests") {
1989 testonly = true
1990
1991 sources = [ "task_queue_unittest.cc" ]
1992 deps = [
1993 ":gunit_helpers",
Andrey Logvine7c79fd2021-02-01 09:56:371994 ":rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521995 ":rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:371996 ":rtc_task_queue",
1997 ":task_queue_for_test",
Florent Castellidd837e22022-04-04 15:16:151998 ":timeutils",
Danil Chapovalov5286dcf2022-07-18 15:04:561999 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:372000 "../test:test_main",
2001 "../test:test_support",
2002 ]
2003 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Diogo Real1dca9d52017-08-29 19:18:322004 }
Andrey Logvine7c79fd2021-02-01 09:56:372005
2006 rtc_library("weak_ptr_unittests") {
2007 testonly = true
2008
2009 sources = [ "weak_ptr_unittest.cc" ]
2010 deps = [
2011 ":gunit_helpers",
Andrey Logvine7c79fd2021-02-01 09:56:372012 ":rtc_base_tests_utils",
2013 ":rtc_event",
2014 ":task_queue_for_test",
2015 ":weak_ptr",
2016 "../test:test_main",
2017 "../test:test_support",
2018 ]
2019 }
2020
2021 rtc_library("rtc_numerics_unittests") {
2022 testonly = true
2023
2024 sources = [
2025 "numerics/event_based_exponential_moving_average_unittest.cc",
2026 "numerics/exp_filter_unittest.cc",
2027 "numerics/moving_average_unittest.cc",
Rasmus Brandt91664812022-09-14 14:22:242028 "numerics/moving_percentile_filter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:372029 "numerics/percentile_filter_unittest.cc",
2030 "numerics/running_statistics_unittest.cc",
Evan Shrubsole097fc342023-01-09 10:21:432031 "numerics/sequence_number_unwrapper_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:372032 "numerics/sequence_number_util_unittest.cc",
2033 ]
2034 deps = [
Andrey Logvine7c79fd2021-02-01 09:56:372035 ":rtc_numerics",
Evan Shrubsoleaa5897d2022-12-15 09:30:522036 ":timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:372037 "../test:test_main",
2038 "../test:test_support",
2039 ]
2040 absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
2041 }
2042
2043 rtc_library("rtc_json_unittests") {
2044 testonly = true
2045
2046 sources = [ "strings/json_unittest.cc" ]
2047 deps = [
2048 ":gunit_helpers",
2049 ":rtc_base_tests_utils",
2050 ":rtc_json",
2051 "../test:test_main",
2052 "../test:test_support",
2053 ]
2054 }
2055
2056 rtc_library("rtc_base_unittests") {
2057 testonly = true
2058 defines = []
2059
2060 sources = [
Andrey Logvine7c79fd2021-02-01 09:56:372061 "crc32_unittest.cc",
2062 "data_rate_limiter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:372063 "fake_clock_unittest.cc",
2064 "helpers_unittest.cc",
2065 "ip_address_unittest.cc",
2066 "memory_usage_unittest.cc",
2067 "message_digest_unittest.cc",
2068 "nat_unittest.cc",
2069 "network_route_unittest.cc",
2070 "network_unittest.cc",
2071 "proxy_unittest.cc",
2072 "rolling_accumulator_unittest.cc",
2073 "rtc_certificate_generator_unittest.cc",
2074 "rtc_certificate_unittest.cc",
2075 "sigslot_tester_unittest.cc",
2076 "test_client_unittest.cc",
2077 "thread_unittest.cc",
2078 "unique_id_generator_unittest.cc",
2079 ]
2080 deps = [
Florent Castellia138c6c2023-01-04 11:01:092081 ":async_packet_socket",
2082 ":async_tcp_socket",
2083 ":async_udp_socket",
Florent Castellif9c59842022-04-19 15:07:232084 ":buffer",
Florent Castelli76063752022-04-19 15:14:262085 ":buffer_queue",
Andrey Logvine7c79fd2021-02-01 09:56:372086 ":checks",
Florent Castellia138c6c2023-01-04 11:01:092087 ":crc32",
2088 ":data_rate_limiter",
Andrey Logvine7c79fd2021-02-01 09:56:372089 ":gunit_helpers",
Florent Castellia138c6c2023-01-04 11:01:092090 ":ifaddrs_converter",
Andrey Logvine7c79fd2021-02-01 09:56:372091 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302092 ":logging",
Florent Castelli4467ad72022-04-04 13:18:462093 ":macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:372094 ":net_helpers",
Mirko Bonadei0d8b79e2023-07-27 06:55:492095 ":net_test_helpers",
Florent Castellia138c6c2023-01-04 11:01:092096 ":network",
2097 ":network_route",
Andrey Logvine7c79fd2021-02-01 09:56:372098 ":null_socket_server",
Danil Chapovalov16242932022-09-02 09:10:242099 ":refcount",
Florent Castellia138c6c2023-01-04 11:01:092100 ":rolling_accumulator",
Andrey Logvine7c79fd2021-02-01 09:56:372101 ":rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092102 ":rtc_certificate_generator",
Florent Castelli33d31fb2022-04-04 14:57:522103 ":rtc_event",
Florent Castellie10a9f62022-04-04 15:04:372104 ":safe_conversions",
Niels Möllerd0b88792021-08-12 08:32:302105 ":socket",
Florent Castellia138c6c2023-01-04 11:01:092106 ":socket_adapters",
Andrey Logvine7c79fd2021-02-01 09:56:372107 ":socket_address",
2108 ":socket_factory",
2109 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:092110 ":ssl",
2111 ":stream",
Andrey Logvine7c79fd2021-02-01 09:56:372112 ":stringutils",
2113 ":testclient",
2114 ":threading",
Florent Castellidd837e22022-04-04 15:16:152115 ":timeutils",
Florent Castellia138c6c2023-01-04 11:01:092116 ":unique_id_generator",
Andrey Logvine7c79fd2021-02-01 09:56:372117 "../api:array_view",
Ali Tofigh4b681942022-08-23 10:57:162118 "../api:field_trials_view",
Niels Möller105711e2022-06-14 13:48:262119 "../api:make_ref_counted",
Andrey Logvine7c79fd2021-02-01 09:56:372120 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:452121 "../api/task_queue:pending_task_safety_flag",
Andrey Logvine7c79fd2021-02-01 09:56:372122 "../api/task_queue:task_queue_test",
Danil Chapovalov4bcf8092022-07-06 17:42:342123 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:372124 "../test:field_trial",
2125 "../test:fileutils",
2126 "../test:rtc_expect_death",
Jonas Orelandc06fe8b2022-03-28 12:58:262127 "../test:scoped_key_value_config",
Andrey Logvine7c79fd2021-02-01 09:56:372128 "../test:test_main",
2129 "../test:test_support",
2130 "memory:fifo_buffer",
2131 "synchronization:mutex",
Andrey Logvine7c79fd2021-02-01 09:56:372132 "third_party/sigslot",
2133 ]
Peter Kasting049f5ef2023-03-14 16:56:252134 if (rtc_enable_google_benchmarks) {
Andrey Logvine7c79fd2021-02-01 09:56:372135 deps += [ "synchronization:synchronization_unittests" ]
2136 }
2137 if (is_win) {
Philipp Hancke1cc41ea2023-05-24 16:49:102138 sources += [ "win32_unittest.cc" ]
Andrey Logvine7c79fd2021-02-01 09:56:372139 deps += [ ":win32" ]
2140 }
Philipp Hancke1a5630e2023-09-04 07:40:192141 if (is_posix || is_fuchsia || is_win) {
Andrey Logvine7c79fd2021-02-01 09:56:372142 sources += [
2143 "openssl_adapter_unittest.cc",
2144 "openssl_session_cache_unittest.cc",
2145 "openssl_utility_unittest.cc",
2146 "ssl_adapter_unittest.cc",
2147 "ssl_identity_unittest.cc",
2148 "ssl_stream_adapter_unittest.cc",
2149 ]
2150 }
2151 absl_deps = [
2152 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov5286dcf2022-07-18 15:04:562153 "//third_party/abseil-cpp/absl/functional:any_invocable",
Andrey Logvine7c79fd2021-02-01 09:56:372154 "//third_party/abseil-cpp/absl/memory",
2155 "//third_party/abseil-cpp/absl/strings",
2156 "//third_party/abseil-cpp/absl/types:optional",
2157 ]
Florent Castellib96902d2022-04-14 09:58:242158
Andrey Logvine7c79fd2021-02-01 09:56:372159 if (build_with_chromium) {
2160 include_dirs = [ "../../boringssl/src/include" ]
2161 }
2162 if (rtc_build_ssl) {
2163 deps += [ "//third_party/boringssl" ]
2164 } else {
2165 configs += [ ":external_ssl_library" ]
2166 }
Diogo Real1dca9d52017-08-29 19:18:322167 }
Henrik Kjellanderc0362762017-06-29 06:03:042168 }
2169}
2170
Henrik Kjellander73e21802017-06-20 06:38:582171if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:332172 rtc_android_library("base_java") {
Sami Kalliomäki51f599b2019-07-03 12:13:082173 visibility = [ "*" ]
Natalie Chouinard65bbcab2019-12-23 22:02:252174 sources = [
Henrik Kjellanderc0362762017-06-29 06:03:042175 "java/src/org/webrtc/ContextUtils.java",
Paulina Hensman1ec04f12018-06-21 12:31:382176 "java/src/org/webrtc/Loggable.java",
Henrik Kjellanderc0362762017-06-29 06:03:042177 "java/src/org/webrtc/Logging.java",
2178 "java/src/org/webrtc/Size.java",
2179 "java/src/org/webrtc/ThreadUtils.java",
2180 ]
Byoungchan Lee02334e02021-08-14 02:41:592181 deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
Henrik Kjellander73e21802017-06-20 06:38:582182 }
Jonas Orelandf7721fb2020-08-07 09:08:342183 java_cpp_enum("network_monitor_enums") {
2184 sources = [ "network_monitor.h" ]
Jonas Orelandfe4688e2020-08-07 12:08:332185 visibility = [ "*" ]
Jonas Orelandf7721fb2020-08-07 09:08:342186 }
Henrik Kjellander73e21802017-06-20 06:38:582187}