blob: fc92b0183bc5c0d8724b6be6e9f83cd25771df4c [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
Andrey Logvin5e227ab2021-01-29 10:34:559import("//third_party/google_benchmark/buildconfig.gni")
Henrik Kjellander73e21802017-06-20 06:38:5810import("../webrtc.gni")
11
12if (is_android) {
13 import("//build/config/android/config.gni")
14 import("//build/config/android/rules.gni")
15}
16
Dan Minor9cdd8762018-01-16 15:40:3917if (!rtc_build_ssl) {
Henrik Kjellanderc0362762017-06-29 06:03:0418 config("external_ssl_library") {
19 assert(rtc_ssl_root != "",
20 "You must specify rtc_ssl_root when rtc_build_ssl==0.")
21 include_dirs = [ rtc_ssl_root ]
22 }
23}
24
Oleh Prypindd214742018-07-17 11:49:4625rtc_source_set("protobuf_utils") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1026 sources = [ "protobuf_utils.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:0427 if (rtc_enable_protobuf) {
Mirko Bonadeid8661a02018-08-13 13:04:2528 public_configs = [ "//third_party/protobuf:protobuf_config" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:1029 deps = [ "//third_party/protobuf:protobuf_lite" ]
Henrik Kjellanderc0362762017-06-29 06:03:0430 }
31}
32
Danil Chapovalov5af152c2021-08-31 13:27:5133rtc_source_set("bitstream_reader") {
34 sources = [
35 "bitstream_reader.cc",
36 "bitstream_reader.h",
37 ]
38 deps = [
39 ":checks",
40 ":safe_conversions",
41 "../api:array_view",
42 ]
43 absl_deps = [
44 "//third_party/abseil-cpp/absl/base:core_headers",
45 "//third_party/abseil-cpp/absl/numeric:bits",
46 "//third_party/abseil-cpp/absl/strings",
47 ]
48}
49
Oleh Prypindd214742018-07-17 11:49:4650rtc_source_set("compile_assert_c") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1051 sources = [ "compile_assert_c.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:0452}
53
Mirko Bonadei3663ed32019-10-19 10:03:2354rtc_source_set("ignore_wundef") {
Mirko Bonadeiccbe95f2020-01-21 11:10:1055 sources = [ "ignore_wundef.h" ]
Mirko Bonadei3663ed32019-10-19 10:03:2356}
57
Karl Wiberg70026f92020-09-18 08:03:1658rtc_source_set("untyped_function") {
59 sources = [ "untyped_function.h" ]
Karl Wiberg3d452cf2020-09-11 14:09:4660 deps = [ "system:assume" ]
61}
62
Mirko Bonadei3d259352020-10-23 10:04:4063rtc_source_set("callback_list") {
Karl Wiberg3d452cf2020-09-11 14:09:4664 sources = [
Mirko Bonadei3d259352020-10-23 10:04:4065 "callback_list.cc",
66 "callback_list.h",
Karl Wiberg3d452cf2020-09-11 14:09:4667 ]
68 deps = [
Karl Wiberg01a36f32020-11-11 10:48:0469 ":checks",
Karl Wiberg70026f92020-09-18 08:03:1670 ":untyped_function",
Karl Wiberg3d452cf2020-09-11 14:09:4671 "../api:function_view",
72 "system:assume",
Karl Wibergd2c69672020-09-29 11:55:1373 "system:inline",
Tomas Gunnarsson9797dcd2022-04-10 11:27:1374 "system:rtc_export",
Karl Wiberg3d452cf2020-09-11 14:09:4675 ]
76}
77
Florent Castellif9c59842022-04-19 15:07:2378rtc_source_set("buffer") {
79 visibility = [ "*" ]
80 sources = [ "buffer.h" ]
81 deps = [
82 ":checks",
83 ":type_traits",
84 ":zero_memory",
85 "../api:array_view",
86 ]
87 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
88}
89
Florent Castellia876a922022-04-19 15:18:3690rtc_source_set("byte_order") {
91 visibility = [ "*" ]
92 sources = [ "byte_order.h" ]
93 deps = [ "system:arch" ]
94}
95
Florent Castelli31764092022-04-14 11:41:5896rtc_source_set("mod_ops") {
97 visibility = [ "*" ]
98 sources = [ "numerics/mod_ops.h" ]
99 deps = [ ":checks" ]
100}
101
102rtc_source_set("moving_max_counter") {
103 visibility = [ "*" ]
104 sources = [ "numerics/moving_max_counter.h" ]
105 deps = [ ":checks" ]
106 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
107}
108
Florent Castelli6b608592022-04-14 11:18:04109rtc_source_set("one_time_event") {
110 visibility = [ "*" ]
111 sources = [ "one_time_event.h" ]
112 deps = [ "synchronization:mutex" ]
113}
114
Florent Castellia6c10e32022-04-14 11:08:44115rtc_source_set("strong_alias") {
116 visibility = [ "*" ]
117 sources = [ "strong_alias.h" ]
118}
119
Florent Castellid119b9e2022-04-14 11:23:51120rtc_source_set("swap_queue") {
121 visibility = [ "*" ]
122 sources = [ "swap_queue.h" ]
123 deps = [ ":checks" ]
124 absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
125}
126
Tommi8d2c5a82018-03-19 10:12:48127rtc_source_set("macromagic") {
128 sources = [
129 "arraysize.h",
Tommi8d2c5a82018-03-19 10:12:48130 "thread_annotations.h",
131 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10132 deps = [ "system:arch" ]
Tommi8d2c5a82018-03-19 10:12:48133}
134
Florent Castelli7f623b02022-04-14 11:34:56135rtc_library("bit_buffer") {
136 visibility = [ "*" ]
137 sources = [
138 "bit_buffer.cc",
139 "bit_buffer.h",
140 ]
141 deps = [ ":checks" ]
142 absl_deps = [ "//third_party/abseil-cpp/absl/numeric:bits" ]
143}
144
Florent Castelliceb7b362022-04-19 15:35:04145rtc_library("byte_buffer") {
146 visibility = [ "*" ]
147 sources = [
148 "byte_buffer.cc",
149 "byte_buffer.h",
150 ]
151 deps = [
152 ":buffer",
153 ":byte_order",
154 ]
155 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
156}
157
Florent Castelli76063752022-04-19 15:14:26158rtc_library("buffer_queue") {
159 visibility = [ "*" ]
160 sources = [
161 "buffer_queue.cc",
162 "buffer_queue.h",
163 ]
164 deps = [
165 ":buffer",
166 ":macromagic",
167 "../api:sequence_checker",
168 "system:no_unique_address",
169 ]
170}
171
Florent Castellied4aadc2022-04-19 15:40:46172rtc_library("copy_on_write_buffer") {
173 visibility = [ "*" ]
174 sources = [
175 "copy_on_write_buffer.cc",
176 "copy_on_write_buffer.h",
177 ]
178 deps = [
179 ":buffer",
180 ":checks",
181 ":refcount",
182 ":type_traits",
183 "../api:scoped_refptr",
184 "system:rtc_export",
185 ]
Ali Tofighe00d7d02022-05-09 11:33:36186 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Florent Castellied4aadc2022-04-19 15:40:46187}
188
Florent Castellia30aef32022-04-19 15:47:13189rtc_library("event_tracer") {
190 visibility = [ "*" ]
191 sources = [
192 "event_tracer.cc",
193 "event_tracer.h",
194 "trace_event.h",
195 ]
196 deps = [
Florent Castellia30aef32022-04-19 15:47:13197 ":checks",
198 ":logging",
199 ":macromagic",
200 ":platform_thread",
201 ":platform_thread_types",
202 ":rtc_event",
203 ":timeutils",
204 "../api:sequence_checker",
205 "synchronization:mutex",
206 "system:rtc_export",
207 ]
208 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
209}
210
Florent Castelli17296422022-04-14 11:48:10211rtc_library("histogram_percentile_counter") {
212 visibility = [ "*" ]
213 sources = [
214 "numerics/histogram_percentile_counter.cc",
215 "numerics/histogram_percentile_counter.h",
216 ]
217 deps = [ ":checks" ]
218 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
219}
220
Florent Castelli7f623b02022-04-14 11:34:56221rtc_library("race_checker") {
222 visibility = [ "*" ]
223 sources = [
224 "race_checker.cc",
225 "race_checker.h",
226 ]
227 deps = [
228 ":checks",
229 ":macromagic",
230 ":platform_thread_types",
231 ]
232}
233
Florent Castelli71337f32022-04-14 10:41:26234rtc_library("random") {
235 visibility = [ "*" ]
236 sources = [
237 "random.cc",
238 "random.h",
239 ]
240 deps = [
241 ":checks",
242 ":safe_conversions",
243 ]
244}
245
Florent Castelli6bb1fd32022-04-19 13:58:39246rtc_library("rate_statistics") {
247 visibility = [ "*" ]
248 sources = [
249 "rate_statistics.cc",
250 "rate_statistics.h",
251 ]
252 deps = [
253 ":checks",
254 ":logging",
255 ":safe_conversions",
256 "system:rtc_export",
257 ]
258 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
259}
260
Florent Castelli58cc4682022-04-19 13:50:28261rtc_library("rate_tracker") {
262 visibility = [ "*" ]
263 sources = [
264 "rate_tracker.cc",
265 "rate_tracker.h",
266 ]
267 deps = [
268 ":checks",
269 ":timeutils",
270 ]
271}
272
Florent Castelli83a36d42022-04-14 11:44:39273rtc_library("sample_counter") {
274 visibility = [ "*" ]
275 sources = [
276 "numerics/sample_counter.cc",
277 "numerics/sample_counter.h",
278 ]
279 deps = [
280 ":checks",
281 ":safe_conversions",
282 ]
283 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
284}
285
Florent Castellib1dc4e42022-04-14 11:20:12286rtc_library("timestamp_aligner") {
287 visibility = [ "*" ]
288 sources = [
289 "timestamp_aligner.cc",
290 "timestamp_aligner.h",
291 ]
292 deps = [
293 ":checks",
294 ":logging",
295 ":timeutils",
296 "system:rtc_export",
297 ]
298}
299
Florent Castellid119b9e2022-04-14 11:23:51300rtc_library("zero_memory") {
301 visibility = [ "*" ]
302 sources = [
303 "zero_memory.cc",
304 "zero_memory.h",
305 ]
306 deps = [
307 ":checks",
308 "../api:array_view",
309 ]
310}
311
Mirko Bonadei86d053c2019-10-17 19:32:04312rtc_library("platform_thread_types") {
Tommi8d2c5a82018-03-19 10:12:48313 sources = [
314 "platform_thread_types.cc",
315 "platform_thread_types.h",
316 ]
Mirko Bonadeid4096212022-11-24 08:01:35317 deps = [
318 ":checks",
319 ":macromagic",
320 ]
Tommi8d2c5a82018-03-19 10:12:48321}
322
Tommi8d2c5a82018-03-19 10:12:48323rtc_source_set("refcount") {
Mirko Bonadeica14a3a2018-08-09 07:47:12324 visibility = [ "*" ]
Tommi8d2c5a82018-03-19 10:12:48325 sources = [
Steve Anton10542f22019-01-11 17:11:00326 "ref_count.h",
327 "ref_counted_object.h",
328 "ref_counter.h",
Tommi8d2c5a82018-03-19 10:12:48329 ]
Tomas Gunnarssond7842002021-04-22 15:41:33330 deps = [
331 ":macromagic",
332 "../api:scoped_refptr",
333 ]
Tommi8d2c5a82018-03-19 10:12:48334}
335
Mirko Bonadei86d053c2019-10-17 19:32:04336rtc_library("criticalsection") {
Tommi8d2c5a82018-03-19 10:12:48337 sources = [
Markus Handell3cb525b2020-07-16 14:16:09338 "deprecated/recursive_critical_section.cc",
339 "deprecated/recursive_critical_section.h",
Tommi8d2c5a82018-03-19 10:12:48340 ]
341 deps = [
Tommi8d2c5a82018-03-19 10:12:48342 ":checks",
343 ":macromagic",
344 ":platform_thread_types",
Markus Handellf70fbc82020-06-03 22:41:20345 "synchronization:yield",
Niels Möllera12c42a2018-07-25 14:05:48346 "system:unused",
Tommi8d2c5a82018-03-19 10:12:48347 ]
348}
349
Mirko Bonadei86d053c2019-10-17 19:32:04350rtc_library("platform_thread") {
Tommi8d2c5a82018-03-19 10:12:48351 sources = [
352 "platform_thread.cc",
353 "platform_thread.h",
354 ]
355 deps = [
Tommi8d2c5a82018-03-19 10:12:48356 ":checks",
357 ":macromagic",
358 ":platform_thread_types",
359 ":rtc_event",
Tommi8d2c5a82018-03-19 10:12:48360 ":timeutils",
Artem Titovd15a5752021-02-10 13:31:24361 "../api:sequence_checker",
Tommi8d2c5a82018-03-19 10:12:48362 ]
Markus Handell97c44582021-04-20 15:41:54363 absl_deps = [
364 "//third_party/abseil-cpp/absl/memory",
365 "//third_party/abseil-cpp/absl/strings",
Markus Handellad5037b2021-05-07 13:02:36366 "//third_party/abseil-cpp/absl/types:optional",
Markus Handell97c44582021-04-20 15:41:54367 ]
Tommi8d2c5a82018-03-19 10:12:48368}
369
Mirko Bonadei86d053c2019-10-17 19:32:04370rtc_library("rtc_event") {
Tommi8d2c5a82018-03-19 10:12:48371 if (build_with_chromium) {
372 sources = [
373 "../../webrtc_overrides/rtc_base/event.cc",
374 "../../webrtc_overrides/rtc_base/event.h",
375 ]
Karl Wiberg98417032019-03-24 18:12:40376 deps = [
377 ":checks",
Markus Handell211ecb42022-08-16 13:31:26378 "../api/units:time_delta",
Mirko Bonadeid4002a72019-11-12 19:11:48379 "system:rtc_export", # Only Chromium's rtc::Event use RTC_EXPORT.
Karl Wiberg98417032019-03-24 18:12:40380 "//base", # Dependency on chromium's waitable_event.
381 ]
Tommi8d2c5a82018-03-19 10:12:48382 } else {
383 sources = [
384 "event.cc",
385 "event.h",
386 ]
Karl Wiberg98417032019-03-24 18:12:40387 deps = [
388 ":checks",
Markus Handell1d5be492022-08-18 13:49:09389 ":timeutils",
390 "../api/units:time_delta",
Karl Wiberg98417032019-03-24 18:12:40391 "synchronization:yield_policy",
392 "system:warn_current_thread_is_deadlocked",
393 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41394 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Tommi8d2c5a82018-03-19 10:12:48395 }
Tommi8d2c5a82018-03-19 10:12:48396}
397
Mirko Bonadeicb03e382022-02-10 13:27:57398config("chromium_logging_config") {
Danil Chapovalove6106102022-02-16 11:29:02399 defines = [ "LOGGING_INSIDE_WEBRTC" ]
Mirko Bonadeicb03e382022-02-10 13:27:57400}
401
Mirko Bonadei86d053c2019-10-17 19:32:04402rtc_library("logging") {
Mirko Bonadei2ad8c432018-08-09 08:54:40403 visibility = [ "*" ]
Patrik Höglund77301932018-10-09 13:09:51404 libs = []
Tommi8d2c5a82018-03-19 10:12:48405 deps = [
Yves Gerey988cc082018-10-23 10:03:01406 ":checks",
Tommi8d2c5a82018-03-19 10:12:48407 ":macromagic",
408 ":platform_thread_types",
409 ":stringutils",
410 ":timeutils",
Mirko Bonadei96191f82022-08-03 08:12:33411 "../api/units:timestamp",
Markus Handellde8a9352020-06-10 13:40:42412 "synchronization:mutex",
Mirko Bonadei2dcf3482020-06-05 12:30:41413 ]
414 absl_deps = [
Danil Chapovalovef98ae62019-10-11 15:18:29415 "//third_party/abseil-cpp/absl/base:core_headers",
Sebastian Janssonf4e085a2019-05-20 16:34:07416 "//third_party/abseil-cpp/absl/meta:type_traits",
Jonas Olssonf2ce37c2018-09-12 13:32:47417 "//third_party/abseil-cpp/absl/strings",
Mirko Bonadei96191f82022-08-03 08:12:33418 "//third_party/abseil-cpp/absl/types:optional",
Tommi8d2c5a82018-03-19 10:12:48419 ]
420
421 if (build_with_chromium) {
422 # Dependency on chromium's logging (in //base).
Artem Titov94b57c02019-03-21 12:35:10423 deps += [ "//base" ]
Tommi8d2c5a82018-03-19 10:12:48424 sources = [
425 "../../webrtc_overrides/rtc_base/logging.cc",
426 "../../webrtc_overrides/rtc_base/logging.h",
427 ]
Danil Chapovalove6106102022-02-16 11:29:02428
Mirko Bonadeicb03e382022-02-10 13:27:57429 # This macro needs to be both present in all WebRTC targets (see its
430 # definition in //BUILD.gn but also propagated to all the targets
431 # depending on the Chromium component defined in
432 # //third_party/webrtc_overrides:webrtc_component. This public_config
433 # allows GN to propagate the macro accordingly.
Danil Chapovalove6106102022-02-16 11:29:02434 public_configs = [ ":chromium_logging_config" ]
Tommi8d2c5a82018-03-19 10:12:48435 } else {
436 sources = [
437 "logging.cc",
438 "logging.h",
439 ]
Karl Wibergcefc4652018-05-23 21:20:38440 deps += [ "system:inline" ]
Tommi8d2c5a82018-03-19 10:12:48441
Mirko Bonadei99a70a22018-10-09 14:45:14442 if (is_mac) {
Sylvain Defresnec7f0dff2020-07-03 08:19:30443 frameworks = [ "Foundation.framework" ]
Mirko Bonadei99a70a22018-10-09 14:45:14444 }
445
Patrik Höglund77301932018-10-09 13:09:51446 if (is_android) {
447 libs += [ "log" ]
448 }
Tommi8d2c5a82018-03-19 10:12:48449 }
450}
451
Mirko Bonadei86d053c2019-10-17 19:32:04452rtc_library("checks") {
Mirko Bonadei2ad8c432018-08-09 08:54:40453 # TODO(bugs.webrtc.org/9607): This should not be public.
454 visibility = [ "*" ]
Patrik Höglund77301932018-10-09 13:09:51455 libs = []
Patrik Höglunda8005cf2017-12-13 15:05:42456 sources = [
457 "checks.cc",
458 "checks.h",
459 ]
460 deps = [
461 ":safe_compare",
Niels Möller94327682022-04-28 11:20:29462 "../api:scoped_refptr",
Jonas Olssonf8e5c112018-06-14 11:14:22463 "system:inline",
Mirko Bonadei35214fc2019-09-23 12:54:28464 "system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 12:30:41465 ]
Peter Boströmd6e861d2022-07-29 20:44:21466 if (build_with_chromium) {
467 sources += [ "../../webrtc_overrides/rtc_base/checks_overrides.cc" ]
468 deps += [ "//base" ]
469 }
Mirko Bonadei2dcf3482020-06-05 12:30:41470 absl_deps = [
Sebastian Janssonf4e085a2019-05-20 16:34:07471 "//third_party/abseil-cpp/absl/meta:type_traits",
Mirko Bonadeid4a37a62019-03-11 09:31:22472 "//third_party/abseil-cpp/absl/strings",
Patrik Höglunda8005cf2017-12-13 15:05:42473 ]
Patrik Höglund77301932018-10-09 13:09:51474 if (is_android) {
475 libs += [ "log" ]
476 }
Patrik Höglunda8005cf2017-12-13 15:05:42477}
478
Mirko Bonadei86d053c2019-10-17 19:32:04479rtc_library("rate_limiter") {
Patrik Höglunda8005cf2017-12-13 15:05:42480 sources = [
Patrik Höglund3e113432017-12-15 13:40:10481 "rate_limiter.cc",
482 "rate_limiter.h",
483 ]
484 deps = [
Florent Castelli4467ad72022-04-04 13:18:46485 ":macromagic",
Florent Castelli6bb1fd32022-04-19 13:58:39486 ":rate_statistics",
Patrik Höglund3e113432017-12-15 13:40:10487 "../system_wrappers",
Markus Handell18523c32020-07-08 15:55:58488 "synchronization:mutex",
Patrik Höglunda8005cf2017-12-13 15:05:42489 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41490 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Patrik Höglunda8005cf2017-12-13 15:05:42491}
492
493rtc_source_set("sanitizer") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10494 sources = [ "sanitizer.h" ]
Mirko Bonadei2dcf3482020-06-05 12:30:41495 absl_deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ]
Patrik Höglunda8005cf2017-12-13 15:05:42496}
497
Karl Wibergc1269372020-03-02 19:23:41498rtc_source_set("bounded_inline_vector") {
499 public = [ "bounded_inline_vector.h" ]
500 sources = [ "bounded_inline_vector_impl.h" ]
501 deps = [ ":checks" ]
502}
503
Danil Chapovalov33b83fd2019-09-18 13:48:23504rtc_source_set("divide_round") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10505 sources = [ "numerics/divide_round.h" ]
Danil Chapovalov33b83fd2019-09-18 13:48:23506 deps = [
507 ":checks",
508 ":safe_compare",
509 ]
510}
511
Patrik Höglunda8005cf2017-12-13 15:05:42512rtc_source_set("safe_compare") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10513 sources = [ "numerics/safe_compare.h" ]
514 deps = [ ":type_traits" ]
Patrik Höglunda8005cf2017-12-13 15:05:42515}
516
Karl Wiberg12edf4c2018-03-07 13:18:56517rtc_source_set("safe_minmax") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10518 sources = [ "numerics/safe_minmax.h" ]
Karl Wiberg12edf4c2018-03-07 13:18:56519 deps = [
520 ":checks",
521 ":safe_compare",
522 ":type_traits",
523 ]
524}
525
Tommi8d2c5a82018-03-19 10:12:48526rtc_source_set("safe_conversions") {
527 sources = [
528 "numerics/safe_conversions.h",
529 "numerics/safe_conversions_impl.h",
530 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10531 deps = [ ":checks" ]
Tommi8d2c5a82018-03-19 10:12:48532}
533
Mirko Bonadei86d053c2019-10-17 19:32:04534rtc_library("timeutils") {
Mirko Bonadei2ad8c432018-08-09 08:54:40535 visibility = [ "*" ]
Tommi8d2c5a82018-03-19 10:12:48536 sources = [
Johannes Kronb73c9f02021-02-15 12:29:45537 "system_time.cc",
538 "system_time.h",
Steve Anton10542f22019-01-11 17:11:00539 "time_utils.cc",
540 "time_utils.h",
Tommi8d2c5a82018-03-19 10:12:48541 ]
542 deps = [
543 ":checks",
544 ":safe_conversions",
Jonas Olsson366a50c2018-09-06 11:41:30545 ":stringutils",
Mirko Bonadei35214fc2019-09-23 12:54:28546 "system:rtc_export",
Tommi8d2c5a82018-03-19 10:12:48547 ]
Johannes Kronbb52bdf2021-02-25 09:10:08548 if (rtc_exclude_system_time) {
549 defines = [ "WEBRTC_EXCLUDE_SYSTEM_TIME" ]
550 }
551
Noah Richards342989d2019-03-18 20:50:20552 libs = []
553 if (is_win) {
554 libs += [ "winmm.lib" ]
555 }
Tommi8d2c5a82018-03-19 10:12:48556}
557
Mirko Bonadei86d053c2019-10-17 19:32:04558rtc_library("stringutils") {
Patrik Höglunda8005cf2017-12-13 15:05:42559 sources = [
Steve Anton10542f22019-01-11 17:11:00560 "string_encode.cc",
561 "string_encode.h",
Jonas Olsson6b1985d2018-07-05 09:59:48562 "string_to_number.cc",
563 "string_to_number.h",
Steve Anton10542f22019-01-11 17:11:00564 "string_utils.cc",
565 "string_utils.h",
Karl Wiberg881f1682018-03-08 14:03:23566 "strings/string_builder.cc",
Tommifef05002018-02-27 12:51:08567 "strings/string_builder.h",
henrikaf0dc5c52020-04-09 16:46:00568 "strings/string_format.cc",
569 "strings/string_format.h",
Patrik Höglunda8005cf2017-12-13 15:05:42570 ]
571 deps = [
Patrik Höglund3e113432017-12-15 13:40:10572 ":checks",
Jonas Olsson6b1985d2018-07-05 09:59:48573 ":macromagic",
Karl Wiberg881f1682018-03-08 14:03:23574 ":safe_minmax",
575 "../api:array_view",
Mirko Bonadei2dcf3482020-06-05 12:30:41576 ]
577 absl_deps = [
Artem Titov94b57c02019-03-21 12:35:10578 "//third_party/abseil-cpp/absl/strings",
Jonas Olsson6b1985d2018-07-05 09:59:48579 "//third_party/abseil-cpp/absl/types:optional",
Patrik Höglund3e113432017-12-15 13:40:10580 ]
581}
582
Mirko Bonadei86d053c2019-10-17 19:32:04583rtc_library("audio_format_to_string") {
Jonas Olsson74395342018-04-03 10:22:07584 sources = [
585 "strings/audio_format_to_string.cc",
586 "strings/audio_format_to_string.h",
587 ]
588 deps = [
589 ":stringutils",
590 "../api/audio_codecs:audio_codecs_api",
591 ]
592}
593
Patrik Höglund3e113432017-12-15 13:40:10594rtc_source_set("type_traits") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10595 sources = [ "type_traits.h" ]
Patrik Höglund3e113432017-12-15 13:40:10596}
597
Mirko Bonadei86d053c2019-10-17 19:32:04598rtc_library("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53599 visibility = [ "*" ]
nisse75dd6d42017-09-19 15:28:00600 sources = [
Danil Chapovalov07a4f2b2019-03-05 18:58:28601 "task_queue.cc",
nisse75dd6d42017-09-19 15:28:00602 "task_queue.h",
603 ]
perkj650fdae2017-08-25 12:00:11604 deps = [
Tommi8d2c5a82018-03-19 10:12:48605 ":macromagic",
Danil Chapovalov959e9b62019-01-14 13:29:18606 "../api/task_queue",
Mirko Bonadei3d255302018-10-11 08:50:45607 "system:rtc_export",
perkj650fdae2017-08-25 12:00:11608 ]
Danil Chapovalova7e15a22022-07-05 14:03:03609 absl_deps = [
610 "//third_party/abseil-cpp/absl/functional:any_invocable",
611 "//third_party/abseil-cpp/absl/memory",
612 ]
Danil Chapovalov07a4f2b2019-03-05 18:58:28613}
614
Henrik Boström27c29362019-10-21 13:21:55615rtc_source_set("rtc_operations_chain") {
616 visibility = [ "*" ]
617 sources = [
618 "operations_chain.cc",
619 "operations_chain.h",
620 ]
621 deps = [
622 ":checks",
623 ":macromagic",
624 ":refcount",
Niels Möller105711e2022-06-14 13:48:26625 "../api:make_ref_counted",
Niels Möller95129102022-01-13 10:00:05626 "../api:refcountedbase",
Henrik Boström27c29362019-10-21 13:21:55627 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24628 "../api:sequence_checker",
Mirko Bonadei20e4c802020-11-23 10:07:42629 "system:no_unique_address",
Henrik Boström27c29362019-10-21 13:21:55630 ]
Henrik Boströme574a312020-08-25 08:20:11631 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Henrik Boström27c29362019-10-21 13:21:55632}
633
Tommi8d2c5a82018-03-19 10:12:48634if (rtc_enable_libevent) {
Mirko Bonadei86d053c2019-10-17 19:32:04635 rtc_library("rtc_task_queue_libevent") {
Danil Chapovalov07a4f2b2019-03-05 18:58:28636 visibility = [ "../api/task_queue:default_task_queue_factory" ]
perkj650fdae2017-08-25 12:00:11637 sources = [
Niels Möller15c9cf72017-10-19 10:38:09638 "task_queue_libevent.cc",
Danil Chapovaloveb175242019-02-12 09:44:38639 "task_queue_libevent.h",
perkj650fdae2017-08-25 12:00:11640 ]
Tommi8d2c5a82018-03-19 10:12:48641 deps = [
642 ":checks",
Tommi8d2c5a82018-03-19 10:12:48643 ":logging",
Yves Gerey2e00abc2018-10-05 13:39:24644 ":macromagic",
Tommi8d2c5a82018-03-19 10:12:48645 ":platform_thread",
Yves Gerey2e00abc2018-10-05 13:39:24646 ":platform_thread_types",
Tommi8d2c5a82018-03-19 10:12:48647 ":safe_conversions",
648 ":timeutils",
Danil Chapovaloveb175242019-02-12 09:44:38649 "../api/task_queue",
Danil Chapovalov30c2a312022-07-19 12:12:43650 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58651 "synchronization:mutex",
Mirko Bonadei2dcf3482020-06-05 12:30:41652 ]
653 absl_deps = [
Steve Anton9a83dd72020-01-09 19:03:25654 "//third_party/abseil-cpp/absl/container:inlined_vector",
Danil Chapovalov30c2a312022-07-19 12:12:43655 "//third_party/abseil-cpp/absl/functional:any_invocable",
Danil Chapovaloveb175242019-02-12 09:44:38656 "//third_party/abseil-cpp/absl/strings",
Tommi8d2c5a82018-03-19 10:12:48657 ]
658 if (rtc_build_libevent) {
Byoungchan Leed69a7262022-06-23 13:06:00659 deps += [ "//third_party/libevent" ]
Tommi8d2c5a82018-03-19 10:12:48660 }
661 }
662}
663
664if (is_mac || is_ios) {
Mirko Bonadei86d053c2019-10-17 19:32:04665 rtc_library("rtc_task_queue_gcd") {
Byoungchan Lee08438fc2021-10-12 13:53:35666 visibility = [ "../api/task_queue:default_task_queue_factory" ]
Tommi8d2c5a82018-03-19 10:12:48667 sources = [
668 "task_queue_gcd.cc",
Danil Chapovalov47cf5ea2019-02-19 19:20:16669 "task_queue_gcd.h",
Tommi8d2c5a82018-03-19 10:12:48670 ]
671 deps = [
672 ":checks",
673 ":logging",
Markus Handell2a256c82023-02-27 11:41:39674 "../api:location",
Danil Chapovalov47cf5ea2019-02-19 19:20:16675 "../api/task_queue",
Danil Chapovalovfcfa80f2022-07-07 09:26:48676 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58677 "synchronization:mutex",
Yura Yaroshevichebf739b2020-03-16 15:00:59678 "system:gcd_helpers",
Tommi8d2c5a82018-03-19 10:12:48679 ]
Danil Chapovalovfcfa80f2022-07-07 09:26:48680 absl_deps = [
681 "//third_party/abseil-cpp/absl/functional:any_invocable",
682 "//third_party/abseil-cpp/absl/strings",
683 ]
Tommi8d2c5a82018-03-19 10:12:48684 }
685}
686
687if (is_win) {
Mirko Bonadei86d053c2019-10-17 19:32:04688 rtc_library("rtc_task_queue_win") {
Danil Chapovalov07a4f2b2019-03-05 18:58:28689 visibility = [ "../api/task_queue:default_task_queue_factory" ]
Tommi8d2c5a82018-03-19 10:12:48690 sources = [
691 "task_queue_win.cc",
Danil Chapovalov826f2e72019-02-20 17:13:09692 "task_queue_win.h",
Tommi8d2c5a82018-03-19 10:12:48693 ]
694 deps = [
695 ":checks",
Tommi8d2c5a82018-03-19 10:12:48696 ":logging",
697 ":macromagic",
698 ":platform_thread",
Tommi8d2c5a82018-03-19 10:12:48699 ":rtc_event",
Tommi8d2c5a82018-03-19 10:12:48700 ":safe_conversions",
701 ":timeutils",
Danil Chapovalov826f2e72019-02-20 17:13:09702 "../api/task_queue",
Danil Chapovalov3c06cfc2022-07-20 11:38:58703 "../api/units:time_delta",
704 "../api/units:timestamp",
Markus Handell18523c32020-07-08 15:55:58705 "synchronization:mutex",
Tommi8d2c5a82018-03-19 10:12:48706 ]
Markus Handellad5037b2021-05-07 13:02:36707 absl_deps = [
Danil Chapovalov3c06cfc2022-07-20 11:38:58708 "//third_party/abseil-cpp/absl/functional:any_invocable",
Markus Handellad5037b2021-05-07 13:02:36709 "//third_party/abseil-cpp/absl/strings",
710 "//third_party/abseil-cpp/absl/types:optional",
711 ]
Tommi8d2c5a82018-03-19 10:12:48712 }
713}
714
Mirko Bonadei86d053c2019-10-17 19:32:04715rtc_library("rtc_task_queue_stdlib") {
Robin Raymond22027b92018-11-23 14:07:50716 sources = [
717 "task_queue_stdlib.cc",
Danil Chapovalovfa52efa2019-02-21 10:13:58718 "task_queue_stdlib.h",
Robin Raymond22027b92018-11-23 14:07:50719 ]
720 deps = [
721 ":checks",
Danil Chapovalovba570012022-07-19 16:36:31722 ":divide_round",
Robin Raymond22027b92018-11-23 14:07:50723 ":logging",
724 ":macromagic",
725 ":platform_thread",
Robin Raymond22027b92018-11-23 14:07:50726 ":rtc_event",
Robin Raymond22027b92018-11-23 14:07:50727 ":safe_conversions",
728 ":timeutils",
Danil Chapovalovfa52efa2019-02-21 10:13:58729 "../api/task_queue",
Danil Chapovalovba570012022-07-19 16:36:31730 "../api/units:time_delta",
Markus Handell18523c32020-07-08 15:55:58731 "synchronization:mutex",
Robin Raymond22027b92018-11-23 14:07:50732 ]
Danil Chapovalovba570012022-07-19 16:36:31733 absl_deps = [
734 "//third_party/abseil-cpp/absl/functional:any_invocable",
735 "//third_party/abseil-cpp/absl/strings",
736 ]
Robin Raymond22027b92018-11-23 14:07:50737}
738
Markus Handell82da9322022-12-16 14:50:24739if (rtc_include_tests) {
740 rtc_library("task_queue_stdlib_unittest") {
741 testonly = true
742
743 sources = [ "task_queue_stdlib_unittest.cc" ]
744 deps = [
745 ":gunit_helpers",
746 ":rtc_task_queue_stdlib",
747 "../api/task_queue:task_queue_test",
748 "../test:test_main",
749 "../test:test_support",
750 ]
751 }
752}
753
Mirko Bonadei86d053c2019-10-17 19:32:04754rtc_library("weak_ptr") {
Henrik Kjellanderc0362762017-06-29 06:03:04755 sources = [
756 "weak_ptr.cc",
757 "weak_ptr.h",
758 ]
759 deps = [
Tommi8d2c5a82018-03-19 10:12:48760 ":refcount",
Mirko Bonadeid9708072019-01-25 19:26:48761 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24762 "../api:sequence_checker",
Mirko Bonadei20e4c802020-11-23 10:07:42763 "system:no_unique_address",
Henrik Kjellanderc0362762017-06-29 06:03:04764 ]
765}
766
Mirko Bonadei86d053c2019-10-17 19:32:04767rtc_library("rtc_numerics") {
Henrik Kjellanderc0362762017-06-29 06:03:04768 sources = [
Jonas Oreland63dced92019-11-25 12:00:15769 "numerics/event_based_exponential_moving_average.cc",
770 "numerics/event_based_exponential_moving_average.h",
Henrik Kjellanderc0362762017-06-29 06:03:04771 "numerics/exp_filter.cc",
772 "numerics/exp_filter.h",
Yves Gerey890f62b2019-04-10 15:18:48773 "numerics/math_utils.h",
Ilya Nikolaevskiy26341992018-11-05 11:55:18774 "numerics/moving_average.cc",
775 "numerics/moving_average.h",
Rasmus Brandt91664812022-09-14 14:22:24776 "numerics/moving_percentile_filter.h",
Henrik Kjellanderc0362762017-06-29 06:03:04777 "numerics/percentile_filter.h",
Yves Gerey890f62b2019-04-10 15:18:48778 "numerics/running_statistics.h",
Evan Shrubsole097fc342023-01-09 10:21:43779 "numerics/sequence_number_unwrapper.h",
Bjorn Tereliusa194e582017-10-25 11:07:09780 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 06:03:04781 ]
782 deps = [
Patrik Höglunda8005cf2017-12-13 15:05:42783 ":checks",
Florent Castelli31764092022-04-14 11:41:58784 ":mod_ops",
Artem Titov9d777622020-09-18 16:23:08785 ]
786 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
787}
788
789rtc_library("rtc_stats_counters") {
790 sources = [
791 "numerics/event_rate_counter.cc",
792 "numerics/event_rate_counter.h",
793 "numerics/sample_stats.cc",
794 "numerics/sample_stats.h",
795 ]
796 deps = [
797 "../api/numerics",
Sebastian Janssonefa3f762019-12-02 06:19:55798 "../api/units:data_rate",
799 "../api/units:time_delta",
Artem Titov6fcdbc12019-09-11 09:45:40800 "../api/units:timestamp",
Mirko Bonadei2dcf3482020-06-05 12:30:41801 ]
Artem Titov9d777622020-09-18 16:23:08802 absl_deps = []
Henrik Kjellanderc0362762017-06-29 06:03:04803}
804
Mirko Bonadei65643662019-07-12 11:29:30805config("rtc_json_suppressions") {
Mirko Bonadei94077762019-06-27 09:24:25806 if (!is_win || is_clang) {
Mirko Bonadei65643662019-07-12 11:29:30807 cflags_cc = [
Mirko Bonadei1cd6f322019-07-12 19:47:47808 # TODO(bugs.webrtc.org/10814): Remove -Wno-undef as soon as it get
Mirko Bonadei65643662019-07-12 11:29:30809 # removed upstream.
810 "-Wno-undef",
811 ]
Mirko Bonadei94077762019-06-27 09:24:25812 }
813}
814
Mirko Bonadei86d053c2019-10-17 19:32:04815rtc_library("rtc_json") {
Mirko Bonadei65643662019-07-12 11:29:30816 public_configs = [ ":rtc_json_suppressions" ]
Sam Zackrisson492fdf42019-10-25 08:45:58817 poisonous = [ "rtc_json" ]
Henrik Kjellanderc0362762017-06-29 06:03:04818 defines = []
819 sources = [
Sam Zackrissonb45bdb52018-10-02 14:25:59820 "strings/json.cc",
821 "strings/json.h",
Henrik Kjellanderc0362762017-06-29 06:03:04822 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10823 deps = [ ":stringutils" ]
Mirko Bonadeia0e29fc2018-01-26 15:50:02824 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 06:03:04825 if (rtc_build_json) {
Florent Castellif35611a2022-04-14 09:55:57826 deps += [ "//third_party/jsoncpp" ]
Henrik Kjellanderc0362762017-06-29 06:03:04827 } else {
828 include_dirs = [ "$rtc_jsoncpp_root" ]
829
830 # When defined changes the include path for json.h to where it is
831 # expected to be when building json outside of the standalone build.
832 defines += [ "WEBRTC_EXTERNAL_JSON" ]
833 }
Ali Tofigh7fa90572022-03-17 14:47:49834 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Henrik Kjellanderc0362762017-06-29 06:03:04835}
836
Mirko Bonadeie5f4c6b2021-01-15 09:41:01837rtc_library("net_helpers") {
Florent Castelli353a5ce2023-01-09 16:49:10838 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01839 sources = [
840 "net_helpers.cc",
841 "net_helpers.h",
842 ]
Mirko Bonadei62ba3792023-01-20 17:32:07843 deps = [ "system:rtc_export" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01844 if (is_android) {
845 deps += [ ":ifaddrs_android" ]
846 }
847 if (is_win) {
Nico Weber79bd4f12021-10-05 19:01:26848 deps += [
Nico Weber79bd4f12021-10-05 19:01:26849 ":win32",
Florent Castelli15a3c3f2022-04-27 08:33:27850 "win:windows_version",
Nico Weber79bd4f12021-10-05 19:01:26851 ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01852 }
Ali Tofigh2ab914c2022-04-13 10:55:15853 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45854}
855
Mirko Bonadeie5f4c6b2021-01-15 09:41:01856rtc_library("async_resolver_interface") {
Karl Wiberg02f4e322019-02-10 23:43:43857 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01858 sources = [
859 "async_resolver_interface.cc",
860 "async_resolver_interface.h",
861 ]
862 deps = [
Sameer Vijaykarb787e262022-08-11 09:52:57863 ":checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01864 ":socket_address",
865 "system:rtc_export",
866 "third_party/sigslot",
867 ]
Karl Wiberg0b6d0e62018-12-06 13:50:45868}
869
Mirko Bonadeie5f4c6b2021-01-15 09:41:01870rtc_library("ip_address") {
Karl Wiberg02f4e322019-02-10 23:43:43871 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01872 sources = [
873 "ip_address.cc",
874 "ip_address.h",
875 ]
876 deps = [
Florent Castellia876a922022-04-19 15:18:36877 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01878 ":net_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01879 ":stringutils",
880 "system:rtc_export",
881 ]
882 if (is_win) {
883 deps += [ ":win32" ]
884 }
Ali Tofigh7fa90572022-03-17 14:47:49885 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45886}
887
Mirko Bonadeie5f4c6b2021-01-15 09:41:01888rtc_library("socket_address") {
Karl Wiberg02f4e322019-02-10 23:43:43889 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01890 sources = [
891 "socket_address.cc",
892 "socket_address.h",
893 ]
894 deps = [
Florent Castellia876a922022-04-19 15:18:36895 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01896 ":checks",
897 ":ip_address",
898 ":logging",
899 ":net_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01900 ":safe_conversions",
901 ":stringutils",
902 "system:rtc_export",
903 ]
904 if (is_win) {
905 deps += [ ":win32" ]
906 }
Ali Tofigh7fa90572022-03-17 14:47:49907 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Karl Wiberg0b6d0e62018-12-06 13:50:45908}
909
Mirko Bonadeie5f4c6b2021-01-15 09:41:01910rtc_library("null_socket_server") {
911 sources = [
912 "null_socket_server.cc",
913 "null_socket_server.h",
914 ]
915 deps = [
Mirko Bonadeie5f4c6b2021-01-15 09:41:01916 ":checks",
917 ":rtc_event",
918 ":socket",
919 ":socket_server",
Markus Handell2cfc1af2022-08-19 08:16:48920 "../api/units:time_delta",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01921 "system:rtc_export",
922 ]
Karl Wiberg0b6d0e62018-12-06 13:50:45923}
924
Karl Wiberg28522dc2019-01-22 16:54:34925rtc_source_set("socket_server") {
Florent Castelli353a5ce2023-01-09 16:49:10926 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01927 sources = [ "socket_server.h" ]
Markus Handell9a21c492022-08-25 11:40:13928 deps = [
929 ":rtc_event",
930 ":socket_factory",
931 "../api/units:time_delta",
932 ]
Karl Wiberg0b6d0e62018-12-06 13:50:45933}
934
Mirko Bonadeie5f4c6b2021-01-15 09:41:01935rtc_library("threading") {
Karl Wiberg02f4e322019-02-10 23:43:43936 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01937
Mirko Bonadeie5f4c6b2021-01-15 09:41:01938 sources = [
939 "async_resolver.cc",
940 "async_resolver.h",
941 "internal/default_socket_server.cc",
942 "internal/default_socket_server.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01943 "network_monitor.cc",
944 "network_monitor.h",
945 "network_monitor_factory.cc",
946 "network_monitor_factory.h",
947 "physical_socket_server.cc",
948 "physical_socket_server.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01949 "thread.cc",
950 "thread.h",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01951 ]
Henrik Boström2deee4b2022-01-20 10:58:05952 absl_deps = [
953 "//third_party/abseil-cpp/absl/algorithm:container",
954 "//third_party/abseil-cpp/absl/base:core_headers",
Danil Chapovalov4bcf8092022-07-06 17:42:34955 "//third_party/abseil-cpp/absl/cleanup",
956 "//third_party/abseil-cpp/absl/functional:any_invocable",
Danil Chapovalov0bd16652022-08-24 16:35:45957 "//third_party/abseil-cpp/absl/memory",
Ali Tofigh7fa90572022-03-17 14:47:49958 "//third_party/abseil-cpp/absl/strings",
Henrik Boström2deee4b2022-01-20 10:58:05959 ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:01960 deps = [
961 ":async_resolver_interface",
Florent Castellia876a922022-04-19 15:18:36962 ":byte_order",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01963 ":checks",
964 ":criticalsection",
Florent Castellia30aef32022-04-19 15:47:13965 ":event_tracer",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01966 ":ip_address",
967 ":logging",
968 ":macromagic",
969 ":network_constants",
970 ":null_socket_server",
Florent Castelli45a05992022-04-14 10:18:28971 ":platform_thread",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01972 ":platform_thread_types",
Florent Castellif86f6f92022-04-05 00:54:12973 ":refcount",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01974 ":rtc_event",
975 ":rtc_task_queue",
976 ":socket_address",
977 ":socket_server",
978 ":timeutils",
979 "../api:function_view",
Markus Handell2a256c82023-02-27 11:41:39980 "../api:location",
Markus Handell1366b0f2021-04-21 08:22:34981 "../api:refcountedbase",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01982 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24983 "../api:sequence_checker",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01984 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45985 "../api/task_queue:pending_task_safety_flag",
Danil Chapovalov4bcf8092022-07-06 17:42:34986 "../api/units:time_delta",
Per Kjellanderfdcfefa2022-11-08 11:48:52987 "../system_wrappers:field_trial",
Niels Möller6d176022021-02-09 13:44:48988 "synchronization:mutex",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01989 "system:no_unique_address",
990 "system:rtc_export",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01991 "third_party/sigslot",
992 ]
993 if (is_android) {
994 deps += [ ":ifaddrs_android" ]
995 }
996 if (is_win) {
997 deps += [ ":win32" ]
998 }
999 if (is_mac || is_ios) {
Byoungchan Lee08438fc2021-10-12 13:53:351000 deps += [ "system:cocoa_threading" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011001 }
Karl Wiberg0b6d0e62018-12-06 13:50:451002}
1003
Karl Wiberg28522dc2019-01-22 16:54:341004rtc_source_set("socket_factory") {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011005 sources = [ "socket_factory.h" ]
Niels Möllerd0b88792021-08-12 08:32:301006 deps = [ ":socket" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451007}
1008
Mirko Bonadeie5f4c6b2021-01-15 09:41:011009rtc_library("async_socket") {
1010 sources = [
1011 "async_socket.cc",
1012 "async_socket.h",
1013 ]
1014 deps = [
1015 ":checks",
1016 ":socket",
1017 ":socket_address",
1018 "third_party/sigslot",
1019 ]
Niels Möller8729d782021-08-11 09:22:441020 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451021}
1022
Mirko Bonadeie5f4c6b2021-01-15 09:41:011023rtc_library("socket") {
1024 sources = [
1025 "socket.cc",
1026 "socket.h",
1027 ]
1028 deps = [
1029 ":macromagic",
1030 ":socket_address",
Niels Möllerd0b88792021-08-12 08:32:301031 "third_party/sigslot",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011032 ]
1033 if (is_win) {
1034 deps += [ ":win32" ]
1035 }
Karl Wiberg0b6d0e62018-12-06 13:50:451036}
1037
1038rtc_source_set("network_constants") {
Florent Castelli353a5ce2023-01-09 16:49:101039 visibility = [ "*" ]
Mirko Bonadeie5f4c6b2021-01-15 09:41:011040 sources = [
1041 "network_constants.cc",
1042 "network_constants.h",
1043 ]
1044 deps = [ ":checks" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451045}
1046
1047if (is_android) {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011048 rtc_library("ifaddrs_android") {
1049 sources = [
1050 "ifaddrs_android.cc",
1051 "ifaddrs_android.h",
1052 ]
1053 libs = [
1054 "log",
1055 "GLESv2",
1056 ]
Danil Chapovalove6106102022-02-16 11:29:021057 absl_deps = [ "//third_party/abseil-cpp/absl/cleanup" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451058 }
1059}
1060
1061if (is_win) {
Mirko Bonadeie5f4c6b2021-01-15 09:41:011062 rtc_library("win32") {
Tommi16db7ff2020-09-26 09:57:261063 sources = [
1064 "win32.cc",
1065 "win32.h",
1066 "win32_window.cc",
1067 "win32_window.h",
1068 ]
1069
1070 deps = [
Florent Castellia876a922022-04-19 15:18:361071 ":byte_order",
Tommi16db7ff2020-09-26 09:57:261072 ":checks",
Florent Castelli0af55ba2022-04-04 13:06:301073 ":logging",
Tommi16db7ff2020-09-26 09:57:261074 ":macromagic",
Florent Castelli57aa81b2022-04-04 15:14:021075 ":stringutils",
Tommi16db7ff2020-09-26 09:57:261076 ]
1077
1078 libs = [
1079 "crypt32.lib",
1080 "iphlpapi.lib",
1081 "secur32.lib",
1082 ]
1083
1084 defines = [ "_CRT_NONSTDC_NO_DEPRECATE" ]
Karl Wiberg0b6d0e62018-12-06 13:50:451085 }
1086}
1087
Florent Castellia138c6c2023-01-04 11:01:091088rtc_library("ifaddrs_converter") {
1089 sources = []
1090 deps = [
1091 ":checks",
1092 ":ip_address",
1093 ":logging",
1094 ]
1095
1096 if (is_android) {
1097 deps += [ ":ifaddrs_android" ]
1098 }
1099
1100 if (is_ios || is_mac) {
1101 sources += [ "mac_ifaddrs_converter.cc" ]
1102 }
1103
1104 if (is_posix || is_fuchsia) {
Henrik Kjellanderc0362762017-06-29 06:03:041105 sources += [
1106 "ifaddrs_converter.cc",
1107 "ifaddrs_converter.h",
Henrik Kjellanderc0362762017-06-29 06:03:041108 ]
1109 }
Florent Castellia138c6c2023-01-04 11:01:091110}
Henrik Kjellanderc0362762017-06-29 06:03:041111
Florent Castellia138c6c2023-01-04 11:01:091112rtc_library("rolling_accumulator") {
1113 sources = [ "rolling_accumulator.h" ]
1114 deps = [
1115 ":checks",
1116 ":rtc_numerics",
1117 ]
1118}
Harald Alvestrand13799132020-03-09 18:39:361119
Florent Castellia138c6c2023-01-04 11:01:091120if (is_win) {
1121 rtc_library("win32_socket_init") {
1122 sources = [ "win32_socket_init.h" ]
1123 deps = [ ":win32" ]
Henrik Kjellanderc0362762017-06-29 06:03:041124 }
Henrik Kjellanderc0362762017-06-29 06:03:041125}
1126
Florent Castelli372cf8b2023-01-09 14:48:281127if (!build_with_chromium) {
1128 rtc_library("log_sinks") {
Florent Castellia5ba5862023-01-11 10:01:151129 visibility = [ "*" ]
Florent Castelli372cf8b2023-01-09 14:48:281130 sources = [
1131 "log_sinks.cc",
1132 "log_sinks.h",
1133 ]
1134 deps = [
1135 ":checks",
1136 ":file_rotating_stream",
1137 ":logging",
1138 ]
1139 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1140 }
Florent Castellia138c6c2023-01-04 11:01:091141}
1142
1143rtc_library("network") {
Florent Castelli353a5ce2023-01-09 16:49:101144 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091145 sources = [
1146 "network.cc",
1147 "network.h",
1148 ]
1149 deps = [
1150 ":checks",
1151 ":ifaddrs_converter",
1152 ":ip_address",
1153 ":logging",
1154 ":macromagic",
1155 ":mdns_responder_interface",
1156 ":socket",
1157 ":socket_factory",
1158 ":stringutils",
1159 ":threading",
1160 "../api:array_view",
1161 "../api:field_trials_view",
1162 "../api:sequence_checker",
1163 "../api/task_queue:pending_task_safety_flag",
1164 "../api/transport:field_trial_based_config",
1165 "../api/units:time_delta",
1166 "experiments:field_trial_parser",
1167 "memory:always_valid_pointer",
1168 "system:rtc_export",
1169 "third_party/sigslot",
1170 ]
1171 absl_deps = [
1172 "//third_party/abseil-cpp/absl/algorithm:container",
1173 "//third_party/abseil-cpp/absl/base:core_headers",
1174 "//third_party/abseil-cpp/absl/memory",
1175 "//third_party/abseil-cpp/absl/strings",
1176 ]
1177
1178 if (is_win) {
1179 deps += [ ":win32" ]
1180 }
1181}
1182
1183rtc_library("socket_address_pair") {
1184 sources = [
1185 "socket_address_pair.cc",
1186 "socket_address_pair.h",
1187 ]
1188 deps = [ ":socket_address" ]
1189}
1190
1191rtc_library("net_helper") {
Florent Castelli143c3b22023-01-10 14:02:511192 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091193 sources = [
1194 "net_helper.cc",
1195 "net_helper.h",
1196 ]
1197 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Mirko Bonadei62ba3792023-01-20 17:32:071198 deps = [ "system:rtc_export" ]
Florent Castellia138c6c2023-01-04 11:01:091199}
1200
1201rtc_library("socket_adapters") {
Florent Castelli353a5ce2023-01-09 16:49:101202 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091203 sources = [
1204 "socket_adapters.cc",
1205 "socket_adapters.h",
1206 ]
1207 deps = [
1208 ":async_socket",
1209 ":buffer",
1210 ":byte_buffer",
1211 ":checks",
1212 ":crypt_string",
1213 ":http_common",
1214 ":logging",
1215 ":stringutils",
1216 ":zero_memory",
1217 "../api:array_view",
1218 ]
1219 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1220}
1221
1222rtc_library("network_route") {
1223 sources = [
1224 "network_route.cc",
1225 "network_route.h",
1226 ]
1227 deps = [
1228 ":network_constants",
1229 ":stringutils",
1230 "system:inline",
1231 ]
1232}
1233
1234rtc_library("async_tcp_socket") {
1235 sources = [
1236 "async_tcp_socket.cc",
1237 "async_tcp_socket.h",
1238 ]
1239 deps = [
1240 ":async_packet_socket",
1241 ":buffer",
1242 ":byte_order",
1243 ":checks",
1244 ":logging",
1245 ":socket",
1246 ":socket_address",
1247 ":timeutils",
1248 "../api:array_view",
1249 "network:sent_packet",
1250 "third_party/sigslot",
1251 ]
1252}
1253
1254rtc_library("async_udp_socket") {
Florent Castelli353a5ce2023-01-09 16:49:101255 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091256 sources = [
1257 "async_udp_socket.cc",
1258 "async_udp_socket.h",
1259 ]
1260 deps = [
1261 ":async_packet_socket",
1262 ":checks",
1263 ":logging",
1264 ":macromagic",
1265 ":socket",
1266 ":socket_address",
1267 ":socket_factory",
1268 ":timeutils",
1269 "../api:sequence_checker",
1270 "../system_wrappers:field_trial",
1271 "network:sent_packet",
1272 "third_party/sigslot",
1273 ]
1274 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
1275}
1276
1277rtc_library("async_packet_socket") {
Florent Castelli353a5ce2023-01-09 16:49:101278 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091279 sources = [
1280 "async_packet_socket.cc",
1281 "async_packet_socket.h",
1282 ]
1283 deps = [
1284 ":callback_list",
1285 ":dscp",
1286 ":socket",
1287 ":timeutils",
1288 "../api:sequence_checker",
1289 "network:sent_packet",
1290 "system:no_unique_address",
1291 "system:rtc_export",
1292 "third_party/sigslot",
1293 ]
1294}
1295
1296rtc_library("mdns_responder_interface") {
1297 sources = [ "mdns_responder_interface.h" ]
1298 deps = [ ":ip_address" ]
1299 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1300}
1301
1302rtc_library("dscp") {
1303 sources = [ "dscp.h" ]
1304}
1305
1306rtc_library("proxy_info") {
Florent Castelli353a5ce2023-01-09 16:49:101307 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091308 sources = [
1309 "proxy_info.cc",
1310 "proxy_info.h",
1311 ]
1312 deps = [
1313 ":crypt_string",
1314 ":socket_address",
1315 ]
1316}
1317
1318rtc_library("file_rotating_stream") {
1319 sources = [
1320 "file_rotating_stream.cc",
1321 "file_rotating_stream.h",
1322 ]
1323 deps = [
1324 ":checks",
1325 ":logging",
1326 ":stringutils",
1327 "system:file_wrapper",
1328 ]
1329 absl_deps = [
1330 "//third_party/abseil-cpp/absl/algorithm:container",
1331 "//third_party/abseil-cpp/absl/strings",
1332 "//third_party/abseil-cpp/absl/types:optional",
1333 ]
1334}
1335
1336rtc_library("data_rate_limiter") {
1337 sources = [
1338 "data_rate_limiter.cc",
1339 "data_rate_limiter.h",
1340 ]
1341 deps = [ "system:rtc_export" ]
1342}
1343
1344rtc_library("unique_id_generator") {
1345 sources = [
1346 "unique_id_generator.cc",
1347 "unique_id_generator.h",
1348 ]
1349 deps = [
1350 ":ssl",
1351 ":stringutils",
1352 "../api:array_view",
1353 "../api:sequence_checker",
1354 "synchronization:mutex",
1355 "system:no_unique_address",
1356 ]
1357 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1358}
1359
1360rtc_library("crc32") {
1361 sources = [
1362 "crc32.cc",
1363 "crc32.h",
1364 ]
1365 deps = [ ":macromagic" ]
1366 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1367}
1368
1369rtc_library("stream") {
Florent Castelli353a5ce2023-01-09 16:49:101370 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091371 sources = [
1372 "stream.cc",
1373 "stream.h",
1374 ]
1375 deps = [
1376 ":buffer",
1377 ":checks",
1378 ":threading",
1379 "../api:array_view",
1380 "system:rtc_export",
1381 "third_party/sigslot",
1382 ]
1383}
1384
1385rtc_library("rtc_certificate_generator") {
Florent Castelli353a5ce2023-01-09 16:49:101386 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091387 sources = [
1388 "rtc_certificate_generator.cc",
1389 "rtc_certificate_generator.h",
1390 ]
1391 deps = [
1392 ":checks",
1393 ":ssl",
1394 ":threading",
1395 "../api:scoped_refptr",
1396 "system:rtc_export",
1397 ]
1398 absl_deps = [
1399 "//third_party/abseil-cpp/absl/functional:any_invocable",
1400 "//third_party/abseil-cpp/absl/types:optional",
1401 ]
1402}
1403
1404rtc_library("ssl") {
Florent Castelli353a5ce2023-01-09 16:49:101405 visibility = [ "*" ]
Florent Castellia138c6c2023-01-04 11:01:091406 sources = [
1407 "helpers.cc",
1408 "helpers.h",
1409 "message_digest.cc",
1410 "message_digest.h",
1411 "openssl.h",
1412 "openssl_adapter.cc",
1413 "openssl_adapter.h",
1414 "openssl_digest.cc",
1415 "openssl_digest.h",
1416 "openssl_key_pair.cc",
1417 "openssl_key_pair.h",
1418 "openssl_session_cache.cc",
1419 "openssl_session_cache.h",
1420 "openssl_stream_adapter.cc",
1421 "openssl_stream_adapter.h",
1422 "openssl_utility.cc",
1423 "openssl_utility.h",
1424 "rtc_certificate.cc",
1425 "rtc_certificate.h",
1426 "ssl_adapter.cc",
1427 "ssl_adapter.h",
1428 "ssl_certificate.cc",
1429 "ssl_certificate.h",
1430 "ssl_fingerprint.cc",
1431 "ssl_fingerprint.h",
1432 "ssl_identity.cc",
1433 "ssl_identity.h",
1434 "ssl_stream_adapter.cc",
1435 "ssl_stream_adapter.h",
1436 ]
1437
1438 deps = [
1439 ":async_socket",
1440 ":buffer",
1441 ":checks",
1442 ":copy_on_write_buffer",
1443 ":logging",
1444 ":macromagic",
1445 ":safe_conversions",
1446 ":socket",
1447 ":socket_address",
1448 ":stream",
1449 ":stringutils",
1450 ":threading",
1451 ":timeutils",
1452 "../api:array_view",
1453 "../api:refcountedbase",
1454 "../api:scoped_refptr",
1455 "../api/task_queue:pending_task_safety_flag",
1456 "../api/units:time_delta",
1457 "../system_wrappers:field_trial",
1458 "system:rtc_export",
1459 "task_utils:repeating_task",
1460 "third_party/base64",
1461 "third_party/sigslot",
1462 ]
1463
1464 absl_deps = [
1465 "//third_party/abseil-cpp/absl/algorithm:container",
1466 "//third_party/abseil-cpp/absl/base:core_headers",
1467 "//third_party/abseil-cpp/absl/memory",
1468 "//third_party/abseil-cpp/absl/strings",
1469 "//third_party/abseil-cpp/absl/types:optional",
1470 ]
1471
1472 # If we are building the SSL library ourselves, we know it's BoringSSL.
1473 if (rtc_build_ssl) {
1474 sources += [
1475 "boringssl_certificate.cc",
1476 "boringssl_certificate.h",
1477 "boringssl_identity.cc",
1478 "boringssl_identity.h",
1479 ]
1480
1481 deps += [ "//third_party/boringssl" ]
1482 } else {
1483 sources += [
1484 "openssl_certificate.cc",
1485 "openssl_certificate.h",
1486 "openssl_identity.cc",
1487 "openssl_identity.h",
1488 ]
1489
1490 configs += [ ":external_ssl_library" ]
1491 }
1492
1493 if (build_with_chromium) {
1494 include_dirs = [ "../../boringssl/src/include" ]
1495 } else {
1496 sources += [ "ssl_roots.h" ]
1497 }
1498
1499 if (is_win) {
1500 deps += [ ":win32" ]
1501 }
1502}
1503
1504rtc_library("crypt_string") {
1505 sources = [
1506 "crypt_string.cc",
1507 "crypt_string.h",
1508 ]
1509}
1510
1511rtc_library("http_common") {
1512 sources = [
1513 "http_common.cc",
1514 "http_common.h",
1515 ]
1516 deps = [
1517 ":crypt_string",
1518 ":logging",
1519 ":socket_address",
1520 ":ssl",
1521 ":stringutils",
1522 ":zero_memory",
1523 "third_party/base64",
1524 ]
1525
1526 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1527}
1528
Henrik Kjellanderc0362762017-06-29 06:03:041529rtc_source_set("gtest_prod") {
Mirko Bonadeiccbe95f2020-01-21 11:10:101530 sources = [ "gtest_prod_util.h" ]
Henrik Kjellanderc0362762017-06-29 06:03:041531}
1532
Mirko Bonadei86d053c2019-10-17 19:32:041533rtc_library("gunit_helpers") {
Mirko Bonadeie3abb812018-11-23 12:15:081534 testonly = true
1535 sources = [
1536 "gunit.cc",
1537 "gunit.h",
1538 ]
1539 deps = [
1540 ":logging",
Mirko Bonadeie3abb812018-11-23 12:15:081541 ":rtc_base_tests_utils",
1542 ":stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011543 ":threading",
Mirko Bonadeie3abb812018-11-23 12:15:081544 "../test:test_support",
1545 ]
Mirko Bonadei2dcf3482020-06-05 12:30:411546 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Mirko Bonadeie3abb812018-11-23 12:15:081547}
1548
Mirko Bonadei86d053c2019-10-17 19:32:041549rtc_library("testclient") {
Mirko Bonadeie3abb812018-11-23 12:15:081550 testonly = true
1551 sources = [
Steve Anton10542f22019-01-11 17:11:001552 "test_client.cc",
1553 "test_client.h",
Mirko Bonadeie3abb812018-11-23 12:15:081554 ]
1555 deps = [
Florent Castellia138c6c2023-01-04 11:01:091556 ":async_udp_socket",
Mirko Bonadeie3abb812018-11-23 12:15:081557 ":gunit_helpers",
Mirko Bonadeie3abb812018-11-23 12:15:081558 ":rtc_base_tests_utils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011559 ":threading",
Mirko Bonadeie3abb812018-11-23 12:15:081560 ":timeutils",
Markus Handell18523c32020-07-08 15:55:581561 "synchronization:mutex",
Mirko Bonadeie3abb812018-11-23 12:15:081562 ]
1563}
1564
Mirko Bonadei3d259352020-10-23 10:04:401565rtc_library("callback_list_unittests") {
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211566 testonly = true
1567
Mirko Bonadei3d259352020-10-23 10:04:401568 sources = [ "callback_list_unittest.cc" ]
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211569 deps = [
Mirko Bonadei3d259352020-10-23 10:04:401570 ":callback_list",
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211571 ":gunit_helpers",
Lahiru Ginnaliya Gamathige3e982802020-09-16 17:34:211572 "../api:function_view",
1573 "../test:test_support",
1574 ]
1575}
1576
Mirko Bonadei86d053c2019-10-17 19:32:041577rtc_library("rtc_base_tests_utils") {
Henrik Kjellanderc0362762017-06-29 06:03:041578 testonly = true
1579 sources = [
Henrik Kjellanderc0362762017-06-29 06:03:041580 "cpu_time.cc",
1581 "cpu_time.h",
Steve Anton10542f22019-01-11 17:11:001582 "fake_clock.cc",
1583 "fake_clock.h",
Qingsi Wang09619332018-09-13 05:51:551584 "fake_mdns_responder.h",
Steve Anton10542f22019-01-11 17:11:001585 "fake_network.h",
1586 "fake_ssl_identity.cc",
1587 "fake_ssl_identity.h",
1588 "firewall_socket_server.cc",
1589 "firewall_socket_server.h",
Niels Möllere7547d52018-11-01 08:33:081590 "memory_stream.cc",
1591 "memory_stream.h",
Henrik Kjellanderc0362762017-06-29 06:03:041592 "memory_usage.cc",
1593 "memory_usage.h",
Steve Anton10542f22019-01-11 17:11:001594 "nat_server.cc",
1595 "nat_server.h",
1596 "nat_socket_factory.cc",
1597 "nat_socket_factory.h",
1598 "nat_types.cc",
1599 "nat_types.h",
1600 "proxy_server.cc",
1601 "proxy_server.h",
Niels Möller44153152018-12-17 13:04:051602 "server_socket_adapters.cc",
1603 "server_socket_adapters.h",
Steve Anton10542f22019-01-11 17:11:001604 "sigslot_tester.h",
Steve Anton10542f22019-01-11 17:11:001605 "socket_stream.cc",
1606 "socket_stream.h",
1607 "test_base64.h",
1608 "test_certificate_verifier.h",
1609 "test_echo_server.cc",
1610 "test_echo_server.h",
1611 "test_utils.cc",
1612 "test_utils.h",
1613 "virtual_socket_server.cc",
1614 "virtual_socket_server.h",
Henrik Kjellanderc0362762017-06-29 06:03:041615 ]
Henrik Kjellanderc0362762017-06-29 06:03:041616 deps = [
Florent Castellia138c6c2023-01-04 11:01:091617 ":async_packet_socket",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011618 ":async_socket",
Florent Castellia138c6c2023-01-04 11:01:091619 ":async_tcp_socket",
1620 ":async_udp_socket",
Florent Castelliceb7b362022-04-19 15:35:041621 ":byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:421622 ":checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011623 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301624 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461625 ":macromagic",
Florent Castellia138c6c2023-01-04 11:01:091626 ":mdns_responder_interface",
1627 ":network",
Florent Castelli33d31fb2022-04-04 14:57:521628 ":rtc_event",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011629 ":socket",
Florent Castellia138c6c2023-01-04 11:01:091630 ":socket_adapters",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011631 ":socket_address",
Florent Castellia138c6c2023-01-04 11:01:091632 ":socket_address_pair",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011633 ":socket_factory",
1634 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:091635 ":ssl",
1636 ":stream",
Florent Castelli57aa81b2022-04-04 15:14:021637 ":stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011638 ":threading",
Florent Castellidd837e22022-04-04 15:16:151639 ":timeutils",
Danil Chapovalovbabdaa862022-09-16 10:41:111640 "../api:make_ref_counted",
1641 "../api:refcountedbase",
1642 "../api:scoped_refptr",
1643 "../api/task_queue",
Sebastian Jansson5f83cf02018-05-08 12:52:221644 "../api/units:time_delta",
Sebastian Janssond624c392019-04-17 08:36:031645 "../api/units:timestamp",
Jonas Orelandc06fe8b2022-03-28 12:58:261646 "../test:scoped_key_value_config",
1647 "memory:always_valid_pointer",
Niels Möller13339482019-03-28 12:30:151648 "memory:fifo_buffer",
Markus Handell18523c32020-07-08 15:55:581649 "synchronization:mutex",
Artem Titove41c4332018-07-25 13:04:281650 "third_party/sigslot",
Mirko Bonadei2dcf3482020-06-05 12:30:411651 ]
1652 absl_deps = [
Steve Anton2acd1632019-03-25 20:48:301653 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 09:40:331654 "//third_party/abseil-cpp/absl/memory",
Ali Tofigh7fa90572022-03-17 14:47:491655 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovbabdaa862022-09-16 10:41:111656 "//third_party/abseil-cpp/absl/types:optional",
Henrik Kjellanderc0362762017-06-29 06:03:041657 ]
Sarah Phamf1fa6ac72023-01-15 23:43:341658 if (is_fuchsia) {
1659 deps += [ "//third_party/fuchsia-sdk/sdk/pkg/zx" ]
1660 }
Henrik Kjellanderc0362762017-06-29 06:03:041661}
1662
Mirko Bonadei86d053c2019-10-17 19:32:041663rtc_library("task_queue_for_test") {
Tommida8781f2018-02-19 11:41:431664 testonly = true
1665
1666 sources = [
1667 "task_queue_for_test.cc",
1668 "task_queue_for_test.h",
1669 ]
1670 deps = [
1671 ":checks",
Florent Castelli4467ad72022-04-04 13:18:461672 ":macromagic",
Danil Chapovalovd26a9162019-03-19 17:08:371673 ":rtc_event",
Tommida8781f2018-02-19 11:41:431674 ":rtc_task_queue",
Danil Chapovalov5286dcf2022-07-18 15:04:561675 "../api:function_view",
Danil Chapovaloveb90e6f2019-10-15 08:04:571676 "../api/task_queue",
Danil Chapovalovd26a9162019-03-19 17:08:371677 "../api/task_queue:default_task_queue_factory",
Tommida8781f2018-02-19 11:41:431678 ]
Danil Chapovalov5286dcf2022-07-18 15:04:561679 absl_deps = [
1680 "//third_party/abseil-cpp/absl/cleanup",
1681 "//third_party/abseil-cpp/absl/strings",
1682 ]
Tommida8781f2018-02-19 11:41:431683}
1684
Henrik Kjellanderc0362762017-06-29 06:03:041685if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:041686 rtc_library("sigslot_unittest") {
Artem Titove41c4332018-07-25 13:04:281687 testonly = true
Mirko Bonadeiccbe95f2020-01-21 11:10:101688 sources = [ "sigslot_unittest.cc" ]
Artem Titove41c4332018-07-25 13:04:281689 deps = [
Mirko Bonadeie3abb812018-11-23 12:15:081690 ":gunit_helpers",
Artem Titove41c4332018-07-25 13:04:281691 ":rtc_base_tests_utils",
Yves Gerey3e707812018-11-28 15:47:491692 "../test:test_support",
Markus Handell18523c32020-07-08 15:55:581693 "synchronization:mutex",
Artem Titove41c4332018-07-25 13:04:281694 "third_party/sigslot",
1695 ]
1696 }
1697
Karl Wiberg70026f92020-09-18 08:03:161698 rtc_library("untyped_function_unittest") {
Karl Wiberg78e9acd2020-09-15 09:06:341699 testonly = true
Karl Wiberg70026f92020-09-18 08:03:161700 sources = [ "untyped_function_unittest.cc" ]
Karl Wiberg78e9acd2020-09-15 09:06:341701 deps = [
Karl Wiberg70026f92020-09-18 08:03:161702 ":untyped_function",
Karl Wiberg78e9acd2020-09-15 09:06:341703 "../test:test_support",
1704 ]
1705 }
1706
Henrik Boström27c29362019-10-21 13:21:551707 rtc_library("rtc_operations_chain_unittests") {
1708 testonly = true
1709
Mirko Bonadeiccbe95f2020-01-21 11:10:101710 sources = [ "operations_chain_unittest.cc" ]
Henrik Boström27c29362019-10-21 13:21:551711 deps = [
Henrik Boströme8b00a12020-08-25 15:11:201712 ":gunit_helpers",
Henrik Boström27c29362019-10-21 13:21:551713 ":rtc_event",
1714 ":rtc_operations_chain",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011715 ":threading",
Henrik Boström27c29362019-10-21 13:21:551716 "../test:test_support",
1717 ]
1718 }
1719
Andrey Logvine7c79fd2021-02-01 09:56:371720 if (!build_with_chromium) {
1721 rtc_library("rtc_base_nonparallel_tests") {
1722 testonly = true
Henrik Kjellanderc0362762017-06-29 06:03:041723
Andrey Logvine7c79fd2021-02-01 09:56:371724 sources = [
1725 "cpu_time_unittest.cc",
1726 "file_rotating_stream_unittest.cc",
1727 "null_socket_server_unittest.cc",
1728 "physical_socket_server_unittest.cc",
1729 "socket_address_unittest.cc",
1730 "socket_unittest.cc",
1731 "socket_unittest.h",
Tommi16db7ff2020-09-26 09:57:261732 ]
Andrey Logvine7c79fd2021-02-01 09:56:371733 deps = [
Florent Castellia138c6c2023-01-04 11:01:091734 ":async_packet_socket",
1735 ":async_udp_socket",
Florent Castellif9c59842022-04-19 15:07:231736 ":buffer",
Andrey Logvine7c79fd2021-02-01 09:56:371737 ":checks",
Florent Castellia138c6c2023-01-04 11:01:091738 ":file_rotating_stream",
Andrey Logvine7c79fd2021-02-01 09:56:371739 ":gunit_helpers",
1740 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301741 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461742 ":macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:371743 ":net_helpers",
1744 ":null_socket_server",
Florent Castelli45a05992022-04-14 10:18:281745 ":platform_thread",
Andrey Logvine7c79fd2021-02-01 09:56:371746 ":rtc_base_tests_utils",
1747 ":socket",
1748 ":socket_address",
1749 ":socket_server",
1750 ":testclient",
1751 ":threading",
Florent Castellidd837e22022-04-04 15:16:151752 ":timeutils",
Markus Handell9a21c492022-08-25 11:40:131753 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:371754 "../system_wrappers",
Per Kjellanderfdcfefa2022-11-08 11:48:521755 "../test:field_trial",
Andrey Logvine7c79fd2021-02-01 09:56:371756 "../test:fileutils",
1757 "../test:test_main",
1758 "../test:test_support",
1759 "third_party/sigslot",
1760 "//testing/gtest",
1761 ]
Ali Tofigh7fa90572022-03-17 14:47:491762 absl_deps = [
1763 "//third_party/abseil-cpp/absl/memory",
1764 "//third_party/abseil-cpp/absl/strings",
1765 ]
Tommi16db7ff2020-09-26 09:57:261766 }
Andrey Logvine7c79fd2021-02-01 09:56:371767
1768 rtc_library("rtc_base_approved_unittests") {
1769 testonly = true
1770 sources = [
Andrey Logvine7c79fd2021-02-01 09:56:371771 "base64_unittest.cc",
1772 "bit_buffer_unittest.cc",
Danil Chapovalov5af152c2021-08-31 13:27:511773 "bitstream_reader_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371774 "bounded_inline_vector_unittest.cc",
1775 "buffer_queue_unittest.cc",
1776 "buffer_unittest.cc",
1777 "byte_buffer_unittest.cc",
1778 "byte_order_unittest.cc",
1779 "checks_unittest.cc",
1780 "copy_on_write_buffer_unittest.cc",
1781 "deprecated/recursive_critical_section_unittest.cc",
1782 "event_tracer_unittest.cc",
1783 "event_unittest.cc",
1784 "logging_unittest.cc",
1785 "numerics/divide_round_unittest.cc",
1786 "numerics/histogram_percentile_counter_unittest.cc",
1787 "numerics/mod_ops_unittest.cc",
1788 "numerics/moving_max_counter_unittest.cc",
1789 "numerics/safe_compare_unittest.cc",
1790 "numerics/safe_minmax_unittest.cc",
1791 "numerics/sample_counter_unittest.cc",
1792 "one_time_event_unittest.cc",
1793 "platform_thread_unittest.cc",
1794 "random_unittest.cc",
1795 "rate_limiter_unittest.cc",
1796 "rate_statistics_unittest.cc",
1797 "rate_tracker_unittest.cc",
1798 "ref_counted_object_unittest.cc",
1799 "sanitizer_unittest.cc",
1800 "string_encode_unittest.cc",
1801 "string_to_number_unittest.cc",
1802 "string_utils_unittest.cc",
1803 "strings/string_builder_unittest.cc",
1804 "strings/string_format_unittest.cc",
Victor Boivieb9182302021-09-21 12:51:051805 "strong_alias_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371806 "swap_queue_unittest.cc",
1807 "thread_annotations_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371808 "time_utils_unittest.cc",
1809 "timestamp_aligner_unittest.cc",
1810 "virtual_socket_unittest.cc",
1811 "zero_memory_unittest.cc",
1812 ]
Andrey Logvine7c79fd2021-02-01 09:56:371813 deps = [
Florent Castellia138c6c2023-01-04 11:01:091814 ":async_packet_socket",
1815 ":async_udp_socket",
Florent Castelli7f623b02022-04-14 11:34:561816 ":bit_buffer",
Danil Chapovalov5af152c2021-08-31 13:27:511817 ":bitstream_reader",
Andrey Logvine7c79fd2021-02-01 09:56:371818 ":bounded_inline_vector",
Florent Castellif9c59842022-04-19 15:07:231819 ":buffer",
Florent Castelli76063752022-04-19 15:14:261820 ":buffer_queue",
Florent Castelliceb7b362022-04-19 15:35:041821 ":byte_buffer",
Florent Castellia876a922022-04-19 15:18:361822 ":byte_order",
Andrey Logvine7c79fd2021-02-01 09:56:371823 ":checks",
Florent Castellied4aadc2022-04-19 15:40:461824 ":copy_on_write_buffer",
Niels Möller9233af32021-06-22 09:24:061825 ":criticalsection",
Andrey Logvine7c79fd2021-02-01 09:56:371826 ":divide_round",
Florent Castellia30aef32022-04-19 15:47:131827 ":event_tracer",
Andrey Logvine7c79fd2021-02-01 09:56:371828 ":gunit_helpers",
Florent Castelli17296422022-04-14 11:48:101829 ":histogram_percentile_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371830 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301831 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461832 ":macromagic",
Florent Castelli31764092022-04-14 11:41:581833 ":mod_ops",
1834 ":moving_max_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371835 ":null_socket_server",
Florent Castelli6b608592022-04-14 11:18:041836 ":one_time_event",
Florent Castelli45a05992022-04-14 10:18:281837 ":platform_thread",
Florent Castelli71337f32022-04-14 10:41:261838 ":random",
Andrey Logvine7c79fd2021-02-01 09:56:371839 ":rate_limiter",
Florent Castelli6bb1fd32022-04-19 13:58:391840 ":rate_statistics",
Florent Castelli58cc4682022-04-19 13:50:281841 ":rate_tracker",
Florent Castellif86f6f92022-04-05 00:54:121842 ":refcount",
Andrey Logvine7c79fd2021-02-01 09:56:371843 ":rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521844 ":rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:371845 ":rtc_numerics",
1846 ":rtc_task_queue",
1847 ":safe_compare",
1848 ":safe_minmax",
Florent Castelli83a36d42022-04-14 11:44:391849 ":sample_counter",
Andrey Logvine7c79fd2021-02-01 09:56:371850 ":sanitizer",
1851 ":socket",
1852 ":socket_address",
1853 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:091854 ":ssl",
Andrey Logvine7c79fd2021-02-01 09:56:371855 ":stringutils",
Florent Castellia6c10e32022-04-14 11:08:441856 ":strong_alias",
Florent Castellid119b9e2022-04-14 11:23:511857 ":swap_queue",
Andrey Logvine7c79fd2021-02-01 09:56:371858 ":testclient",
1859 ":threading",
Florent Castellib1dc4e42022-04-14 11:20:121860 ":timestamp_aligner",
Florent Castellidd837e22022-04-04 15:16:151861 ":timeutils",
Florent Castellid119b9e2022-04-14 11:23:511862 ":zero_memory",
Andrey Logvine7c79fd2021-02-01 09:56:371863 "../api:array_view",
Niels Möller105711e2022-06-14 13:48:261864 "../api:make_ref_counted",
Andrey Logvine7c79fd2021-02-01 09:56:371865 "../api:scoped_refptr",
1866 "../api/numerics",
1867 "../api/units:time_delta",
1868 "../system_wrappers",
1869 "../test:fileutils",
1870 "../test:test_main",
1871 "../test:test_support",
Nico Weber79bd4f12021-10-05 19:01:261872 "containers:flat_map",
Victor Boiviefd954fc2021-06-29 07:21:111873 "containers:unittests",
Andrey Logvine7c79fd2021-02-01 09:56:371874 "memory:unittests",
1875 "synchronization:mutex",
Danil Chapovalovf1361652022-09-02 13:40:261876 "task_utils:repeating_task",
Andrey Logvine7c79fd2021-02-01 09:56:371877 "third_party/base64",
1878 "third_party/sigslot",
1879 ]
1880 absl_deps = [
1881 "//third_party/abseil-cpp/absl/base:core_headers",
1882 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov5af152c2021-08-31 13:27:511883 "//third_party/abseil-cpp/absl/numeric:bits",
Ali Tofigh6364d082022-03-14 12:32:041884 "//third_party/abseil-cpp/absl/strings",
Markus Handellad5037b2021-05-07 13:02:361885 "//third_party/abseil-cpp/absl/types:optional",
Tommi16db7ff2020-09-26 09:57:261886 ]
Florent Castelli15a3c3f2022-04-27 08:33:271887
1888 if (is_win) {
1889 deps += [ "win:windows_version_unittest" ]
1890 }
Tommi16db7ff2020-09-26 09:57:261891 }
Andrey Logvine7c79fd2021-02-01 09:56:371892
1893 rtc_library("rtc_task_queue_unittests") {
1894 testonly = true
1895
1896 sources = [ "task_queue_unittest.cc" ]
1897 deps = [
1898 ":gunit_helpers",
Andrey Logvine7c79fd2021-02-01 09:56:371899 ":rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521900 ":rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:371901 ":rtc_task_queue",
1902 ":task_queue_for_test",
Florent Castellidd837e22022-04-04 15:16:151903 ":timeutils",
Danil Chapovalov5286dcf2022-07-18 15:04:561904 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:371905 "../test:test_main",
1906 "../test:test_support",
1907 ]
1908 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Diogo Real1dca9d52017-08-29 19:18:321909 }
Andrey Logvine7c79fd2021-02-01 09:56:371910
1911 rtc_library("weak_ptr_unittests") {
1912 testonly = true
1913
1914 sources = [ "weak_ptr_unittest.cc" ]
1915 deps = [
1916 ":gunit_helpers",
Andrey Logvine7c79fd2021-02-01 09:56:371917 ":rtc_base_tests_utils",
1918 ":rtc_event",
1919 ":task_queue_for_test",
1920 ":weak_ptr",
1921 "../test:test_main",
1922 "../test:test_support",
1923 ]
1924 }
1925
1926 rtc_library("rtc_numerics_unittests") {
1927 testonly = true
1928
1929 sources = [
1930 "numerics/event_based_exponential_moving_average_unittest.cc",
1931 "numerics/exp_filter_unittest.cc",
1932 "numerics/moving_average_unittest.cc",
Rasmus Brandt91664812022-09-14 14:22:241933 "numerics/moving_percentile_filter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371934 "numerics/percentile_filter_unittest.cc",
1935 "numerics/running_statistics_unittest.cc",
Evan Shrubsole097fc342023-01-09 10:21:431936 "numerics/sequence_number_unwrapper_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371937 "numerics/sequence_number_util_unittest.cc",
1938 ]
1939 deps = [
Andrey Logvine7c79fd2021-02-01 09:56:371940 ":rtc_numerics",
Evan Shrubsoleaa5897d2022-12-15 09:30:521941 ":timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:371942 "../test:test_main",
1943 "../test:test_support",
1944 ]
1945 absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
1946 }
1947
1948 rtc_library("rtc_json_unittests") {
1949 testonly = true
1950
1951 sources = [ "strings/json_unittest.cc" ]
1952 deps = [
1953 ":gunit_helpers",
1954 ":rtc_base_tests_utils",
1955 ":rtc_json",
1956 "../test:test_main",
1957 "../test:test_support",
1958 ]
1959 }
1960
1961 rtc_library("rtc_base_unittests") {
1962 testonly = true
1963 defines = []
1964
1965 sources = [
Andrey Logvine7c79fd2021-02-01 09:56:371966 "crc32_unittest.cc",
1967 "data_rate_limiter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371968 "fake_clock_unittest.cc",
1969 "helpers_unittest.cc",
1970 "ip_address_unittest.cc",
1971 "memory_usage_unittest.cc",
1972 "message_digest_unittest.cc",
1973 "nat_unittest.cc",
1974 "network_route_unittest.cc",
1975 "network_unittest.cc",
1976 "proxy_unittest.cc",
1977 "rolling_accumulator_unittest.cc",
1978 "rtc_certificate_generator_unittest.cc",
1979 "rtc_certificate_unittest.cc",
1980 "sigslot_tester_unittest.cc",
1981 "test_client_unittest.cc",
1982 "thread_unittest.cc",
1983 "unique_id_generator_unittest.cc",
1984 ]
1985 deps = [
Florent Castellia138c6c2023-01-04 11:01:091986 ":async_packet_socket",
1987 ":async_tcp_socket",
1988 ":async_udp_socket",
Florent Castellif9c59842022-04-19 15:07:231989 ":buffer",
Florent Castelli76063752022-04-19 15:14:261990 ":buffer_queue",
Andrey Logvine7c79fd2021-02-01 09:56:371991 ":checks",
Florent Castellia138c6c2023-01-04 11:01:091992 ":crc32",
1993 ":data_rate_limiter",
Andrey Logvine7c79fd2021-02-01 09:56:371994 ":gunit_helpers",
Florent Castellia138c6c2023-01-04 11:01:091995 ":ifaddrs_converter",
Andrey Logvine7c79fd2021-02-01 09:56:371996 ":ip_address",
Florent Castelli0af55ba2022-04-04 13:06:301997 ":logging",
Florent Castelli4467ad72022-04-04 13:18:461998 ":macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:371999 ":net_helpers",
Florent Castellia138c6c2023-01-04 11:01:092000 ":network",
2001 ":network_route",
Andrey Logvine7c79fd2021-02-01 09:56:372002 ":null_socket_server",
Danil Chapovalov16242932022-09-02 09:10:242003 ":refcount",
Florent Castellia138c6c2023-01-04 11:01:092004 ":rolling_accumulator",
Andrey Logvine7c79fd2021-02-01 09:56:372005 ":rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092006 ":rtc_certificate_generator",
Florent Castelli33d31fb2022-04-04 14:57:522007 ":rtc_event",
Florent Castellie10a9f62022-04-04 15:04:372008 ":safe_conversions",
Niels Möllerd0b88792021-08-12 08:32:302009 ":socket",
Florent Castellia138c6c2023-01-04 11:01:092010 ":socket_adapters",
Andrey Logvine7c79fd2021-02-01 09:56:372011 ":socket_address",
2012 ":socket_factory",
2013 ":socket_server",
Florent Castellia138c6c2023-01-04 11:01:092014 ":ssl",
2015 ":stream",
Andrey Logvine7c79fd2021-02-01 09:56:372016 ":stringutils",
2017 ":testclient",
2018 ":threading",
Florent Castellidd837e22022-04-04 15:16:152019 ":timeutils",
Florent Castellia138c6c2023-01-04 11:01:092020 ":unique_id_generator",
Andrey Logvine7c79fd2021-02-01 09:56:372021 "../api:array_view",
Ali Tofigh4b681942022-08-23 10:57:162022 "../api:field_trials_view",
Niels Möller105711e2022-06-14 13:48:262023 "../api:make_ref_counted",
Andrey Logvine7c79fd2021-02-01 09:56:372024 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:452025 "../api/task_queue:pending_task_safety_flag",
Andrey Logvine7c79fd2021-02-01 09:56:372026 "../api/task_queue:task_queue_test",
Danil Chapovalov4bcf8092022-07-06 17:42:342027 "../api/units:time_delta",
Andrey Logvine7c79fd2021-02-01 09:56:372028 "../test:field_trial",
2029 "../test:fileutils",
2030 "../test:rtc_expect_death",
Jonas Orelandc06fe8b2022-03-28 12:58:262031 "../test:scoped_key_value_config",
Andrey Logvine7c79fd2021-02-01 09:56:372032 "../test:test_main",
2033 "../test:test_support",
2034 "memory:fifo_buffer",
2035 "synchronization:mutex",
Andrey Logvine7c79fd2021-02-01 09:56:372036 "third_party/sigslot",
2037 ]
2038 if (enable_google_benchmarks) {
2039 deps += [ "synchronization:synchronization_unittests" ]
2040 }
2041 if (is_win) {
2042 sources += [
2043 "win32_unittest.cc",
2044 "win32_window_unittest.cc",
2045 ]
2046 deps += [ ":win32" ]
2047 }
2048 if (is_posix || is_fuchsia) {
2049 sources += [
2050 "openssl_adapter_unittest.cc",
2051 "openssl_session_cache_unittest.cc",
2052 "openssl_utility_unittest.cc",
2053 "ssl_adapter_unittest.cc",
2054 "ssl_identity_unittest.cc",
2055 "ssl_stream_adapter_unittest.cc",
2056 ]
2057 }
2058 absl_deps = [
2059 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov5286dcf2022-07-18 15:04:562060 "//third_party/abseil-cpp/absl/functional:any_invocable",
Andrey Logvine7c79fd2021-02-01 09:56:372061 "//third_party/abseil-cpp/absl/memory",
2062 "//third_party/abseil-cpp/absl/strings",
2063 "//third_party/abseil-cpp/absl/types:optional",
2064 ]
Florent Castellib96902d2022-04-14 09:58:242065
Andrey Logvine7c79fd2021-02-01 09:56:372066 if (build_with_chromium) {
2067 include_dirs = [ "../../boringssl/src/include" ]
2068 }
2069 if (rtc_build_ssl) {
2070 deps += [ "//third_party/boringssl" ]
2071 } else {
2072 configs += [ ":external_ssl_library" ]
2073 }
Diogo Real1dca9d52017-08-29 19:18:322074 }
Henrik Kjellanderc0362762017-06-29 06:03:042075 }
2076}
2077
Henrik Kjellander73e21802017-06-20 06:38:582078if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:332079 rtc_android_library("base_java") {
Sami Kalliomäki51f599b2019-07-03 12:13:082080 visibility = [ "*" ]
Natalie Chouinard65bbcab2019-12-23 22:02:252081 sources = [
Henrik Kjellanderc0362762017-06-29 06:03:042082 "java/src/org/webrtc/ContextUtils.java",
Paulina Hensman1ec04f12018-06-21 12:31:382083 "java/src/org/webrtc/Loggable.java",
Henrik Kjellanderc0362762017-06-29 06:03:042084 "java/src/org/webrtc/Logging.java",
2085 "java/src/org/webrtc/Size.java",
2086 "java/src/org/webrtc/ThreadUtils.java",
2087 ]
Byoungchan Lee02334e02021-08-14 02:41:592088 deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
Henrik Kjellander73e21802017-06-20 06:38:582089 }
Jonas Orelandf7721fb2020-08-07 09:08:342090 java_cpp_enum("network_monitor_enums") {
2091 sources = [ "network_monitor.h" ]
Jonas Orelandfe4688e2020-08-07 12:08:332092 visibility = [ "*" ]
Jonas Orelandf7721fb2020-08-07 09:08:342093 }
Henrik Kjellander73e21802017-06-20 06:38:582094}