xref: /aosp_15_r20/external/webrtc/rtc_base/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("//third_party/google_benchmark/buildconfig.gni")
10*d9f75844SAndroid Build Coastguard Workerimport("../webrtc.gni")
11*d9f75844SAndroid Build Coastguard Worker
12*d9f75844SAndroid Build Coastguard Workerif (is_android) {
13*d9f75844SAndroid Build Coastguard Worker  import("//build/config/android/config.gni")
14*d9f75844SAndroid Build Coastguard Worker  import("//build/config/android/rules.gni")
15*d9f75844SAndroid Build Coastguard Worker}
16*d9f75844SAndroid Build Coastguard Worker
17*d9f75844SAndroid Build Coastguard Workerif (!rtc_build_ssl) {
18*d9f75844SAndroid Build Coastguard Worker  config("external_ssl_library") {
19*d9f75844SAndroid Build Coastguard Worker    assert(rtc_ssl_root != "",
20*d9f75844SAndroid Build Coastguard Worker           "You must specify rtc_ssl_root when rtc_build_ssl==0.")
21*d9f75844SAndroid Build Coastguard Worker    include_dirs = [ rtc_ssl_root ]
22*d9f75844SAndroid Build Coastguard Worker  }
23*d9f75844SAndroid Build Coastguard Worker}
24*d9f75844SAndroid Build Coastguard Worker
25*d9f75844SAndroid Build Coastguard Workerrtc_source_set("protobuf_utils") {
26*d9f75844SAndroid Build Coastguard Worker  sources = [ "protobuf_utils.h" ]
27*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf) {
28*d9f75844SAndroid Build Coastguard Worker    public_configs = [ "//third_party/protobuf:protobuf_config" ]
29*d9f75844SAndroid Build Coastguard Worker    deps = [ "//third_party/protobuf:protobuf_lite" ]
30*d9f75844SAndroid Build Coastguard Worker  }
31*d9f75844SAndroid Build Coastguard Worker}
32*d9f75844SAndroid Build Coastguard Worker
33*d9f75844SAndroid Build Coastguard Workerrtc_source_set("bitstream_reader") {
34*d9f75844SAndroid Build Coastguard Worker  sources = [
35*d9f75844SAndroid Build Coastguard Worker    "bitstream_reader.cc",
36*d9f75844SAndroid Build Coastguard Worker    "bitstream_reader.h",
37*d9f75844SAndroid Build Coastguard Worker  ]
38*d9f75844SAndroid Build Coastguard Worker  deps = [
39*d9f75844SAndroid Build Coastguard Worker    ":checks",
40*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
41*d9f75844SAndroid Build Coastguard Worker    "../api:array_view",
42*d9f75844SAndroid Build Coastguard Worker  ]
43*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
44*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
45*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/numeric:bits",
46*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
47*d9f75844SAndroid Build Coastguard Worker  ]
48*d9f75844SAndroid Build Coastguard Worker}
49*d9f75844SAndroid Build Coastguard Worker
50*d9f75844SAndroid Build Coastguard Workerrtc_source_set("compile_assert_c") {
51*d9f75844SAndroid Build Coastguard Worker  sources = [ "compile_assert_c.h" ]
52*d9f75844SAndroid Build Coastguard Worker}
53*d9f75844SAndroid Build Coastguard Worker
54*d9f75844SAndroid Build Coastguard Workerrtc_source_set("ignore_wundef") {
55*d9f75844SAndroid Build Coastguard Worker  sources = [ "ignore_wundef.h" ]
56*d9f75844SAndroid Build Coastguard Worker}
57*d9f75844SAndroid Build Coastguard Worker
58*d9f75844SAndroid Build Coastguard Workerrtc_source_set("untyped_function") {
59*d9f75844SAndroid Build Coastguard Worker  sources = [ "untyped_function.h" ]
60*d9f75844SAndroid Build Coastguard Worker  deps = [ "system:assume" ]
61*d9f75844SAndroid Build Coastguard Worker}
62*d9f75844SAndroid Build Coastguard Worker
63*d9f75844SAndroid Build Coastguard Workerrtc_source_set("callback_list") {
64*d9f75844SAndroid Build Coastguard Worker  sources = [
65*d9f75844SAndroid Build Coastguard Worker    "callback_list.cc",
66*d9f75844SAndroid Build Coastguard Worker    "callback_list.h",
67*d9f75844SAndroid Build Coastguard Worker  ]
68*d9f75844SAndroid Build Coastguard Worker  deps = [
69*d9f75844SAndroid Build Coastguard Worker    ":checks",
70*d9f75844SAndroid Build Coastguard Worker    ":untyped_function",
71*d9f75844SAndroid Build Coastguard Worker    "../api:function_view",
72*d9f75844SAndroid Build Coastguard Worker    "system:assume",
73*d9f75844SAndroid Build Coastguard Worker    "system:inline",
74*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
75*d9f75844SAndroid Build Coastguard Worker  ]
76*d9f75844SAndroid Build Coastguard Worker}
77*d9f75844SAndroid Build Coastguard Worker
78*d9f75844SAndroid Build Coastguard Workerrtc_source_set("buffer") {
79*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
80*d9f75844SAndroid Build Coastguard Worker  sources = [ "buffer.h" ]
81*d9f75844SAndroid Build Coastguard Worker  deps = [
82*d9f75844SAndroid Build Coastguard Worker    ":checks",
83*d9f75844SAndroid Build Coastguard Worker    ":type_traits",
84*d9f75844SAndroid Build Coastguard Worker    ":zero_memory",
85*d9f75844SAndroid Build Coastguard Worker    "../api:array_view",
86*d9f75844SAndroid Build Coastguard Worker  ]
87*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
88*d9f75844SAndroid Build Coastguard Worker}
89*d9f75844SAndroid Build Coastguard Worker
90*d9f75844SAndroid Build Coastguard Workerrtc_source_set("byte_order") {
91*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
92*d9f75844SAndroid Build Coastguard Worker  sources = [ "byte_order.h" ]
93*d9f75844SAndroid Build Coastguard Worker  deps = [ "system:arch" ]
94*d9f75844SAndroid Build Coastguard Worker}
95*d9f75844SAndroid Build Coastguard Worker
96*d9f75844SAndroid Build Coastguard Workerrtc_source_set("mod_ops") {
97*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
98*d9f75844SAndroid Build Coastguard Worker  sources = [ "numerics/mod_ops.h" ]
99*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
100*d9f75844SAndroid Build Coastguard Worker}
101*d9f75844SAndroid Build Coastguard Worker
102*d9f75844SAndroid Build Coastguard Workerrtc_source_set("moving_max_counter") {
103*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
104*d9f75844SAndroid Build Coastguard Worker  sources = [ "numerics/moving_max_counter.h" ]
105*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
106*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
107*d9f75844SAndroid Build Coastguard Worker}
108*d9f75844SAndroid Build Coastguard Worker
109*d9f75844SAndroid Build Coastguard Workerrtc_source_set("one_time_event") {
110*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
111*d9f75844SAndroid Build Coastguard Worker  sources = [ "one_time_event.h" ]
112*d9f75844SAndroid Build Coastguard Worker  deps = [ "synchronization:mutex" ]
113*d9f75844SAndroid Build Coastguard Worker}
114*d9f75844SAndroid Build Coastguard Worker
115*d9f75844SAndroid Build Coastguard Workerrtc_source_set("strong_alias") {
116*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
117*d9f75844SAndroid Build Coastguard Worker  sources = [ "strong_alias.h" ]
118*d9f75844SAndroid Build Coastguard Worker}
119*d9f75844SAndroid Build Coastguard Worker
120*d9f75844SAndroid Build Coastguard Workerrtc_source_set("swap_queue") {
121*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
122*d9f75844SAndroid Build Coastguard Worker  sources = [ "swap_queue.h" ]
123*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
124*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
125*d9f75844SAndroid Build Coastguard Worker}
126*d9f75844SAndroid Build Coastguard Worker
127*d9f75844SAndroid Build Coastguard Workerrtc_source_set("macromagic") {
128*d9f75844SAndroid Build Coastguard Worker  sources = [
129*d9f75844SAndroid Build Coastguard Worker    "arraysize.h",
130*d9f75844SAndroid Build Coastguard Worker    "thread_annotations.h",
131*d9f75844SAndroid Build Coastguard Worker  ]
132*d9f75844SAndroid Build Coastguard Worker  deps = [ "system:arch" ]
133*d9f75844SAndroid Build Coastguard Worker}
134*d9f75844SAndroid Build Coastguard Worker
135*d9f75844SAndroid Build Coastguard Workerrtc_library("bit_buffer") {
136*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
137*d9f75844SAndroid Build Coastguard Worker  sources = [
138*d9f75844SAndroid Build Coastguard Worker    "bit_buffer.cc",
139*d9f75844SAndroid Build Coastguard Worker    "bit_buffer.h",
140*d9f75844SAndroid Build Coastguard Worker  ]
141*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
142*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/numeric:bits" ]
143*d9f75844SAndroid Build Coastguard Worker}
144*d9f75844SAndroid Build Coastguard Worker
145*d9f75844SAndroid Build Coastguard Workerrtc_library("byte_buffer") {
146*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
147*d9f75844SAndroid Build Coastguard Worker  sources = [
148*d9f75844SAndroid Build Coastguard Worker    "byte_buffer.cc",
149*d9f75844SAndroid Build Coastguard Worker    "byte_buffer.h",
150*d9f75844SAndroid Build Coastguard Worker  ]
151*d9f75844SAndroid Build Coastguard Worker  deps = [
152*d9f75844SAndroid Build Coastguard Worker    ":buffer",
153*d9f75844SAndroid Build Coastguard Worker    ":byte_order",
154*d9f75844SAndroid Build Coastguard Worker  ]
155*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
156*d9f75844SAndroid Build Coastguard Worker}
157*d9f75844SAndroid Build Coastguard Worker
158*d9f75844SAndroid Build Coastguard Workerrtc_library("buffer_queue") {
159*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
160*d9f75844SAndroid Build Coastguard Worker  sources = [
161*d9f75844SAndroid Build Coastguard Worker    "buffer_queue.cc",
162*d9f75844SAndroid Build Coastguard Worker    "buffer_queue.h",
163*d9f75844SAndroid Build Coastguard Worker  ]
164*d9f75844SAndroid Build Coastguard Worker  deps = [
165*d9f75844SAndroid Build Coastguard Worker    ":buffer",
166*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
167*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
168*d9f75844SAndroid Build Coastguard Worker    "system:no_unique_address",
169*d9f75844SAndroid Build Coastguard Worker  ]
170*d9f75844SAndroid Build Coastguard Worker}
171*d9f75844SAndroid Build Coastguard Worker
172*d9f75844SAndroid Build Coastguard Workerrtc_library("copy_on_write_buffer") {
173*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
174*d9f75844SAndroid Build Coastguard Worker  sources = [
175*d9f75844SAndroid Build Coastguard Worker    "copy_on_write_buffer.cc",
176*d9f75844SAndroid Build Coastguard Worker    "copy_on_write_buffer.h",
177*d9f75844SAndroid Build Coastguard Worker  ]
178*d9f75844SAndroid Build Coastguard Worker  deps = [
179*d9f75844SAndroid Build Coastguard Worker    ":buffer",
180*d9f75844SAndroid Build Coastguard Worker    ":checks",
181*d9f75844SAndroid Build Coastguard Worker    ":refcount",
182*d9f75844SAndroid Build Coastguard Worker    ":type_traits",
183*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
184*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
185*d9f75844SAndroid Build Coastguard Worker  ]
186*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
187*d9f75844SAndroid Build Coastguard Worker}
188*d9f75844SAndroid Build Coastguard Worker
189*d9f75844SAndroid Build Coastguard Workerrtc_library("event_tracer") {
190*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
191*d9f75844SAndroid Build Coastguard Worker  sources = [
192*d9f75844SAndroid Build Coastguard Worker    "event_tracer.cc",
193*d9f75844SAndroid Build Coastguard Worker    "event_tracer.h",
194*d9f75844SAndroid Build Coastguard Worker    "trace_event.h",
195*d9f75844SAndroid Build Coastguard Worker  ]
196*d9f75844SAndroid Build Coastguard Worker  deps = [
197*d9f75844SAndroid Build Coastguard Worker    ":checks",
198*d9f75844SAndroid Build Coastguard Worker    ":logging",
199*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
200*d9f75844SAndroid Build Coastguard Worker    ":platform_thread",
201*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
202*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
203*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
204*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
205*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
206*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
207*d9f75844SAndroid Build Coastguard Worker  ]
208*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
209*d9f75844SAndroid Build Coastguard Worker}
210*d9f75844SAndroid Build Coastguard Worker
211*d9f75844SAndroid Build Coastguard Workerrtc_library("histogram_percentile_counter") {
212*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
213*d9f75844SAndroid Build Coastguard Worker  sources = [
214*d9f75844SAndroid Build Coastguard Worker    "numerics/histogram_percentile_counter.cc",
215*d9f75844SAndroid Build Coastguard Worker    "numerics/histogram_percentile_counter.h",
216*d9f75844SAndroid Build Coastguard Worker  ]
217*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
218*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
219*d9f75844SAndroid Build Coastguard Worker}
220*d9f75844SAndroid Build Coastguard Worker
221*d9f75844SAndroid Build Coastguard Workerrtc_library("race_checker") {
222*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
223*d9f75844SAndroid Build Coastguard Worker  sources = [
224*d9f75844SAndroid Build Coastguard Worker    "race_checker.cc",
225*d9f75844SAndroid Build Coastguard Worker    "race_checker.h",
226*d9f75844SAndroid Build Coastguard Worker  ]
227*d9f75844SAndroid Build Coastguard Worker  deps = [
228*d9f75844SAndroid Build Coastguard Worker    ":checks",
229*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
230*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
231*d9f75844SAndroid Build Coastguard Worker  ]
232*d9f75844SAndroid Build Coastguard Worker}
233*d9f75844SAndroid Build Coastguard Worker
234*d9f75844SAndroid Build Coastguard Workerrtc_library("random") {
235*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
236*d9f75844SAndroid Build Coastguard Worker  sources = [
237*d9f75844SAndroid Build Coastguard Worker    "random.cc",
238*d9f75844SAndroid Build Coastguard Worker    "random.h",
239*d9f75844SAndroid Build Coastguard Worker  ]
240*d9f75844SAndroid Build Coastguard Worker  deps = [
241*d9f75844SAndroid Build Coastguard Worker    ":checks",
242*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
243*d9f75844SAndroid Build Coastguard Worker  ]
244*d9f75844SAndroid Build Coastguard Worker}
245*d9f75844SAndroid Build Coastguard Worker
246*d9f75844SAndroid Build Coastguard Workerrtc_library("rate_statistics") {
247*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
248*d9f75844SAndroid Build Coastguard Worker  sources = [
249*d9f75844SAndroid Build Coastguard Worker    "rate_statistics.cc",
250*d9f75844SAndroid Build Coastguard Worker    "rate_statistics.h",
251*d9f75844SAndroid Build Coastguard Worker  ]
252*d9f75844SAndroid Build Coastguard Worker  deps = [
253*d9f75844SAndroid Build Coastguard Worker    ":checks",
254*d9f75844SAndroid Build Coastguard Worker    ":logging",
255*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
256*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
257*d9f75844SAndroid Build Coastguard Worker  ]
258*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
259*d9f75844SAndroid Build Coastguard Worker}
260*d9f75844SAndroid Build Coastguard Worker
261*d9f75844SAndroid Build Coastguard Workerrtc_library("rate_tracker") {
262*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
263*d9f75844SAndroid Build Coastguard Worker  sources = [
264*d9f75844SAndroid Build Coastguard Worker    "rate_tracker.cc",
265*d9f75844SAndroid Build Coastguard Worker    "rate_tracker.h",
266*d9f75844SAndroid Build Coastguard Worker  ]
267*d9f75844SAndroid Build Coastguard Worker  deps = [
268*d9f75844SAndroid Build Coastguard Worker    ":checks",
269*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
270*d9f75844SAndroid Build Coastguard Worker  ]
271*d9f75844SAndroid Build Coastguard Worker}
272*d9f75844SAndroid Build Coastguard Worker
273*d9f75844SAndroid Build Coastguard Workerrtc_library("sample_counter") {
274*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
275*d9f75844SAndroid Build Coastguard Worker  sources = [
276*d9f75844SAndroid Build Coastguard Worker    "numerics/sample_counter.cc",
277*d9f75844SAndroid Build Coastguard Worker    "numerics/sample_counter.h",
278*d9f75844SAndroid Build Coastguard Worker  ]
279*d9f75844SAndroid Build Coastguard Worker  deps = [
280*d9f75844SAndroid Build Coastguard Worker    ":checks",
281*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
282*d9f75844SAndroid Build Coastguard Worker  ]
283*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
284*d9f75844SAndroid Build Coastguard Worker}
285*d9f75844SAndroid Build Coastguard Worker
286*d9f75844SAndroid Build Coastguard Workerrtc_library("timestamp_aligner") {
287*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
288*d9f75844SAndroid Build Coastguard Worker  sources = [
289*d9f75844SAndroid Build Coastguard Worker    "timestamp_aligner.cc",
290*d9f75844SAndroid Build Coastguard Worker    "timestamp_aligner.h",
291*d9f75844SAndroid Build Coastguard Worker  ]
292*d9f75844SAndroid Build Coastguard Worker  deps = [
293*d9f75844SAndroid Build Coastguard Worker    ":checks",
294*d9f75844SAndroid Build Coastguard Worker    ":logging",
295*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
296*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
297*d9f75844SAndroid Build Coastguard Worker  ]
298*d9f75844SAndroid Build Coastguard Worker}
299*d9f75844SAndroid Build Coastguard Worker
300*d9f75844SAndroid Build Coastguard Workerrtc_library("zero_memory") {
301*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
302*d9f75844SAndroid Build Coastguard Worker  sources = [
303*d9f75844SAndroid Build Coastguard Worker    "zero_memory.cc",
304*d9f75844SAndroid Build Coastguard Worker    "zero_memory.h",
305*d9f75844SAndroid Build Coastguard Worker  ]
306*d9f75844SAndroid Build Coastguard Worker  deps = [
307*d9f75844SAndroid Build Coastguard Worker    ":checks",
308*d9f75844SAndroid Build Coastguard Worker    "../api:array_view",
309*d9f75844SAndroid Build Coastguard Worker  ]
310*d9f75844SAndroid Build Coastguard Worker}
311*d9f75844SAndroid Build Coastguard Worker
312*d9f75844SAndroid Build Coastguard Workerrtc_library("platform_thread_types") {
313*d9f75844SAndroid Build Coastguard Worker  sources = [
314*d9f75844SAndroid Build Coastguard Worker    "platform_thread_types.cc",
315*d9f75844SAndroid Build Coastguard Worker    "platform_thread_types.h",
316*d9f75844SAndroid Build Coastguard Worker  ]
317*d9f75844SAndroid Build Coastguard Worker  deps = [
318*d9f75844SAndroid Build Coastguard Worker    ":checks",
319*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
320*d9f75844SAndroid Build Coastguard Worker  ]
321*d9f75844SAndroid Build Coastguard Worker}
322*d9f75844SAndroid Build Coastguard Worker
323*d9f75844SAndroid Build Coastguard Workerrtc_source_set("refcount") {
324*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
325*d9f75844SAndroid Build Coastguard Worker  sources = [
326*d9f75844SAndroid Build Coastguard Worker    "ref_count.h",
327*d9f75844SAndroid Build Coastguard Worker    "ref_counted_object.h",
328*d9f75844SAndroid Build Coastguard Worker    "ref_counter.h",
329*d9f75844SAndroid Build Coastguard Worker  ]
330*d9f75844SAndroid Build Coastguard Worker  deps = [
331*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
332*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
333*d9f75844SAndroid Build Coastguard Worker  ]
334*d9f75844SAndroid Build Coastguard Worker}
335*d9f75844SAndroid Build Coastguard Worker
336*d9f75844SAndroid Build Coastguard Workerrtc_library("criticalsection") {
337*d9f75844SAndroid Build Coastguard Worker  sources = [
338*d9f75844SAndroid Build Coastguard Worker    "deprecated/recursive_critical_section.cc",
339*d9f75844SAndroid Build Coastguard Worker    "deprecated/recursive_critical_section.h",
340*d9f75844SAndroid Build Coastguard Worker  ]
341*d9f75844SAndroid Build Coastguard Worker  deps = [
342*d9f75844SAndroid Build Coastguard Worker    ":checks",
343*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
344*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
345*d9f75844SAndroid Build Coastguard Worker    "synchronization:yield",
346*d9f75844SAndroid Build Coastguard Worker    "system:unused",
347*d9f75844SAndroid Build Coastguard Worker  ]
348*d9f75844SAndroid Build Coastguard Worker}
349*d9f75844SAndroid Build Coastguard Worker
350*d9f75844SAndroid Build Coastguard Workerrtc_library("platform_thread") {
351*d9f75844SAndroid Build Coastguard Worker  sources = [
352*d9f75844SAndroid Build Coastguard Worker    "platform_thread.cc",
353*d9f75844SAndroid Build Coastguard Worker    "platform_thread.h",
354*d9f75844SAndroid Build Coastguard Worker  ]
355*d9f75844SAndroid Build Coastguard Worker  deps = [
356*d9f75844SAndroid Build Coastguard Worker    ":checks",
357*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
358*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
359*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
360*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
361*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
362*d9f75844SAndroid Build Coastguard Worker  ]
363*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
364*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
365*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
366*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
367*d9f75844SAndroid Build Coastguard Worker  ]
368*d9f75844SAndroid Build Coastguard Worker}
369*d9f75844SAndroid Build Coastguard Worker
370*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_event") {
371*d9f75844SAndroid Build Coastguard Worker  if (build_with_chromium) {
372*d9f75844SAndroid Build Coastguard Worker    sources = [
373*d9f75844SAndroid Build Coastguard Worker      "../../webrtc_overrides/rtc_base/event.cc",
374*d9f75844SAndroid Build Coastguard Worker      "../../webrtc_overrides/rtc_base/event.h",
375*d9f75844SAndroid Build Coastguard Worker    ]
376*d9f75844SAndroid Build Coastguard Worker    deps = [
377*d9f75844SAndroid Build Coastguard Worker      ":checks",
378*d9f75844SAndroid Build Coastguard Worker      "../api/units:time_delta",
379*d9f75844SAndroid Build Coastguard Worker      "system:rtc_export",  # Only Chromium's rtc::Event use RTC_EXPORT.
380*d9f75844SAndroid Build Coastguard Worker      "//base",  # Dependency on chromium's waitable_event.
381*d9f75844SAndroid Build Coastguard Worker    ]
382*d9f75844SAndroid Build Coastguard Worker  } else {
383*d9f75844SAndroid Build Coastguard Worker    sources = [
384*d9f75844SAndroid Build Coastguard Worker      "event.cc",
385*d9f75844SAndroid Build Coastguard Worker      "event.h",
386*d9f75844SAndroid Build Coastguard Worker    ]
387*d9f75844SAndroid Build Coastguard Worker    deps = [
388*d9f75844SAndroid Build Coastguard Worker      ":checks",
389*d9f75844SAndroid Build Coastguard Worker      ":timeutils",
390*d9f75844SAndroid Build Coastguard Worker      "../api/units:time_delta",
391*d9f75844SAndroid Build Coastguard Worker      "synchronization:yield_policy",
392*d9f75844SAndroid Build Coastguard Worker      "system:warn_current_thread_is_deadlocked",
393*d9f75844SAndroid Build Coastguard Worker    ]
394*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
395*d9f75844SAndroid Build Coastguard Worker  }
396*d9f75844SAndroid Build Coastguard Worker}
397*d9f75844SAndroid Build Coastguard Worker
398*d9f75844SAndroid Build Coastguard Workerconfig("chromium_logging_config") {
399*d9f75844SAndroid Build Coastguard Worker  defines = [ "LOGGING_INSIDE_WEBRTC" ]
400*d9f75844SAndroid Build Coastguard Worker}
401*d9f75844SAndroid Build Coastguard Worker
402*d9f75844SAndroid Build Coastguard Workerrtc_library("logging") {
403*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
404*d9f75844SAndroid Build Coastguard Worker  libs = []
405*d9f75844SAndroid Build Coastguard Worker  deps = [
406*d9f75844SAndroid Build Coastguard Worker    ":checks",
407*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
408*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
409*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
410*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
411*d9f75844SAndroid Build Coastguard Worker    "../api/units:timestamp",
412*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
413*d9f75844SAndroid Build Coastguard Worker  ]
414*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
415*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
416*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/meta:type_traits",
417*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
418*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
419*d9f75844SAndroid Build Coastguard Worker  ]
420*d9f75844SAndroid Build Coastguard Worker
421*d9f75844SAndroid Build Coastguard Worker  if (build_with_chromium) {
422*d9f75844SAndroid Build Coastguard Worker    # Dependency on chromium's logging (in //base).
423*d9f75844SAndroid Build Coastguard Worker    deps += [ "//base" ]
424*d9f75844SAndroid Build Coastguard Worker    sources = [
425*d9f75844SAndroid Build Coastguard Worker      "../../webrtc_overrides/rtc_base/logging.cc",
426*d9f75844SAndroid Build Coastguard Worker      "../../webrtc_overrides/rtc_base/logging.h",
427*d9f75844SAndroid Build Coastguard Worker    ]
428*d9f75844SAndroid Build Coastguard Worker
429*d9f75844SAndroid Build Coastguard Worker    # This macro needs to be both present in all WebRTC targets (see its
430*d9f75844SAndroid Build Coastguard Worker    # definition in //BUILD.gn but also propagated to all the targets
431*d9f75844SAndroid Build Coastguard Worker    # depending on the Chromium component defined in
432*d9f75844SAndroid Build Coastguard Worker    # //third_party/webrtc_overrides:webrtc_component. This public_config
433*d9f75844SAndroid Build Coastguard Worker    # allows GN to propagate the macro accordingly.
434*d9f75844SAndroid Build Coastguard Worker    public_configs = [ ":chromium_logging_config" ]
435*d9f75844SAndroid Build Coastguard Worker  } else {
436*d9f75844SAndroid Build Coastguard Worker    sources = [
437*d9f75844SAndroid Build Coastguard Worker      "logging.cc",
438*d9f75844SAndroid Build Coastguard Worker      "logging.h",
439*d9f75844SAndroid Build Coastguard Worker    ]
440*d9f75844SAndroid Build Coastguard Worker    deps += [ "system:inline" ]
441*d9f75844SAndroid Build Coastguard Worker
442*d9f75844SAndroid Build Coastguard Worker    if (is_mac) {
443*d9f75844SAndroid Build Coastguard Worker      frameworks = [ "Foundation.framework" ]
444*d9f75844SAndroid Build Coastguard Worker    }
445*d9f75844SAndroid Build Coastguard Worker
446*d9f75844SAndroid Build Coastguard Worker    if (is_android) {
447*d9f75844SAndroid Build Coastguard Worker      libs += [ "log" ]
448*d9f75844SAndroid Build Coastguard Worker    }
449*d9f75844SAndroid Build Coastguard Worker  }
450*d9f75844SAndroid Build Coastguard Worker}
451*d9f75844SAndroid Build Coastguard Worker
452*d9f75844SAndroid Build Coastguard Workerrtc_library("checks") {
453*d9f75844SAndroid Build Coastguard Worker  # TODO(bugs.webrtc.org/9607): This should not be public.
454*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
455*d9f75844SAndroid Build Coastguard Worker  libs = []
456*d9f75844SAndroid Build Coastguard Worker  sources = [
457*d9f75844SAndroid Build Coastguard Worker    "checks.cc",
458*d9f75844SAndroid Build Coastguard Worker    "checks.h",
459*d9f75844SAndroid Build Coastguard Worker  ]
460*d9f75844SAndroid Build Coastguard Worker  deps = [
461*d9f75844SAndroid Build Coastguard Worker    ":safe_compare",
462*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
463*d9f75844SAndroid Build Coastguard Worker    "system:inline",
464*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
465*d9f75844SAndroid Build Coastguard Worker  ]
466*d9f75844SAndroid Build Coastguard Worker  if (build_with_chromium) {
467*d9f75844SAndroid Build Coastguard Worker    sources += [ "../../webrtc_overrides/rtc_base/checks_overrides.cc" ]
468*d9f75844SAndroid Build Coastguard Worker    deps += [ "//base" ]
469*d9f75844SAndroid Build Coastguard Worker  }
470*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
471*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/meta:type_traits",
472*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
473*d9f75844SAndroid Build Coastguard Worker  ]
474*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
475*d9f75844SAndroid Build Coastguard Worker    libs += [ "log" ]
476*d9f75844SAndroid Build Coastguard Worker  }
477*d9f75844SAndroid Build Coastguard Worker}
478*d9f75844SAndroid Build Coastguard Worker
479*d9f75844SAndroid Build Coastguard Workerrtc_library("rate_limiter") {
480*d9f75844SAndroid Build Coastguard Worker  sources = [
481*d9f75844SAndroid Build Coastguard Worker    "rate_limiter.cc",
482*d9f75844SAndroid Build Coastguard Worker    "rate_limiter.h",
483*d9f75844SAndroid Build Coastguard Worker  ]
484*d9f75844SAndroid Build Coastguard Worker  deps = [
485*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
486*d9f75844SAndroid Build Coastguard Worker    ":rate_statistics",
487*d9f75844SAndroid Build Coastguard Worker    "../system_wrappers",
488*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
489*d9f75844SAndroid Build Coastguard Worker  ]
490*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
491*d9f75844SAndroid Build Coastguard Worker}
492*d9f75844SAndroid Build Coastguard Worker
493*d9f75844SAndroid Build Coastguard Workerrtc_source_set("sanitizer") {
494*d9f75844SAndroid Build Coastguard Worker  sources = [ "sanitizer.h" ]
495*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ]
496*d9f75844SAndroid Build Coastguard Worker}
497*d9f75844SAndroid Build Coastguard Worker
498*d9f75844SAndroid Build Coastguard Workerrtc_source_set("bounded_inline_vector") {
499*d9f75844SAndroid Build Coastguard Worker  public = [ "bounded_inline_vector.h" ]
500*d9f75844SAndroid Build Coastguard Worker  sources = [ "bounded_inline_vector_impl.h" ]
501*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
502*d9f75844SAndroid Build Coastguard Worker}
503*d9f75844SAndroid Build Coastguard Worker
504*d9f75844SAndroid Build Coastguard Workerrtc_source_set("divide_round") {
505*d9f75844SAndroid Build Coastguard Worker  sources = [ "numerics/divide_round.h" ]
506*d9f75844SAndroid Build Coastguard Worker  deps = [
507*d9f75844SAndroid Build Coastguard Worker    ":checks",
508*d9f75844SAndroid Build Coastguard Worker    ":safe_compare",
509*d9f75844SAndroid Build Coastguard Worker  ]
510*d9f75844SAndroid Build Coastguard Worker}
511*d9f75844SAndroid Build Coastguard Worker
512*d9f75844SAndroid Build Coastguard Workerrtc_source_set("safe_compare") {
513*d9f75844SAndroid Build Coastguard Worker  sources = [ "numerics/safe_compare.h" ]
514*d9f75844SAndroid Build Coastguard Worker  deps = [ ":type_traits" ]
515*d9f75844SAndroid Build Coastguard Worker}
516*d9f75844SAndroid Build Coastguard Worker
517*d9f75844SAndroid Build Coastguard Workerrtc_source_set("safe_minmax") {
518*d9f75844SAndroid Build Coastguard Worker  sources = [ "numerics/safe_minmax.h" ]
519*d9f75844SAndroid Build Coastguard Worker  deps = [
520*d9f75844SAndroid Build Coastguard Worker    ":checks",
521*d9f75844SAndroid Build Coastguard Worker    ":safe_compare",
522*d9f75844SAndroid Build Coastguard Worker    ":type_traits",
523*d9f75844SAndroid Build Coastguard Worker  ]
524*d9f75844SAndroid Build Coastguard Worker}
525*d9f75844SAndroid Build Coastguard Worker
526*d9f75844SAndroid Build Coastguard Workerrtc_source_set("safe_conversions") {
527*d9f75844SAndroid Build Coastguard Worker  sources = [
528*d9f75844SAndroid Build Coastguard Worker    "numerics/safe_conversions.h",
529*d9f75844SAndroid Build Coastguard Worker    "numerics/safe_conversions_impl.h",
530*d9f75844SAndroid Build Coastguard Worker  ]
531*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
532*d9f75844SAndroid Build Coastguard Worker}
533*d9f75844SAndroid Build Coastguard Worker
534*d9f75844SAndroid Build Coastguard Workerrtc_library("timeutils") {
535*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
536*d9f75844SAndroid Build Coastguard Worker  sources = [
537*d9f75844SAndroid Build Coastguard Worker    "system_time.cc",
538*d9f75844SAndroid Build Coastguard Worker    "system_time.h",
539*d9f75844SAndroid Build Coastguard Worker    "time_utils.cc",
540*d9f75844SAndroid Build Coastguard Worker    "time_utils.h",
541*d9f75844SAndroid Build Coastguard Worker  ]
542*d9f75844SAndroid Build Coastguard Worker  deps = [
543*d9f75844SAndroid Build Coastguard Worker    ":checks",
544*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
545*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
546*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
547*d9f75844SAndroid Build Coastguard Worker  ]
548*d9f75844SAndroid Build Coastguard Worker  if (rtc_exclude_system_time) {
549*d9f75844SAndroid Build Coastguard Worker    defines = [ "WEBRTC_EXCLUDE_SYSTEM_TIME" ]
550*d9f75844SAndroid Build Coastguard Worker  }
551*d9f75844SAndroid Build Coastguard Worker
552*d9f75844SAndroid Build Coastguard Worker  libs = []
553*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
554*d9f75844SAndroid Build Coastguard Worker    libs += [ "winmm.lib" ]
555*d9f75844SAndroid Build Coastguard Worker  }
556*d9f75844SAndroid Build Coastguard Worker}
557*d9f75844SAndroid Build Coastguard Worker
558*d9f75844SAndroid Build Coastguard Workerrtc_library("stringutils") {
559*d9f75844SAndroid Build Coastguard Worker  sources = [
560*d9f75844SAndroid Build Coastguard Worker    "string_encode.cc",
561*d9f75844SAndroid Build Coastguard Worker    "string_encode.h",
562*d9f75844SAndroid Build Coastguard Worker    "string_to_number.cc",
563*d9f75844SAndroid Build Coastguard Worker    "string_to_number.h",
564*d9f75844SAndroid Build Coastguard Worker    "string_utils.cc",
565*d9f75844SAndroid Build Coastguard Worker    "string_utils.h",
566*d9f75844SAndroid Build Coastguard Worker    "strings/string_builder.cc",
567*d9f75844SAndroid Build Coastguard Worker    "strings/string_builder.h",
568*d9f75844SAndroid Build Coastguard Worker    "strings/string_format.cc",
569*d9f75844SAndroid Build Coastguard Worker    "strings/string_format.h",
570*d9f75844SAndroid Build Coastguard Worker  ]
571*d9f75844SAndroid Build Coastguard Worker  deps = [
572*d9f75844SAndroid Build Coastguard Worker    ":checks",
573*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
574*d9f75844SAndroid Build Coastguard Worker    ":safe_minmax",
575*d9f75844SAndroid Build Coastguard Worker    "../api:array_view",
576*d9f75844SAndroid Build Coastguard Worker  ]
577*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
578*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
579*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
580*d9f75844SAndroid Build Coastguard Worker  ]
581*d9f75844SAndroid Build Coastguard Worker}
582*d9f75844SAndroid Build Coastguard Worker
583*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_format_to_string") {
584*d9f75844SAndroid Build Coastguard Worker  sources = [
585*d9f75844SAndroid Build Coastguard Worker    "strings/audio_format_to_string.cc",
586*d9f75844SAndroid Build Coastguard Worker    "strings/audio_format_to_string.h",
587*d9f75844SAndroid Build Coastguard Worker  ]
588*d9f75844SAndroid Build Coastguard Worker  deps = [
589*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
590*d9f75844SAndroid Build Coastguard Worker    "../api/audio_codecs:audio_codecs_api",
591*d9f75844SAndroid Build Coastguard Worker  ]
592*d9f75844SAndroid Build Coastguard Worker}
593*d9f75844SAndroid Build Coastguard Worker
594*d9f75844SAndroid Build Coastguard Workerrtc_source_set("type_traits") {
595*d9f75844SAndroid Build Coastguard Worker  sources = [ "type_traits.h" ]
596*d9f75844SAndroid Build Coastguard Worker}
597*d9f75844SAndroid Build Coastguard Worker
598*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_task_queue") {
599*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
600*d9f75844SAndroid Build Coastguard Worker  sources = [
601*d9f75844SAndroid Build Coastguard Worker    "task_queue.cc",
602*d9f75844SAndroid Build Coastguard Worker    "task_queue.h",
603*d9f75844SAndroid Build Coastguard Worker  ]
604*d9f75844SAndroid Build Coastguard Worker  deps = [
605*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
606*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
607*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
608*d9f75844SAndroid Build Coastguard Worker  ]
609*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
610*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:any_invocable",
611*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
612*d9f75844SAndroid Build Coastguard Worker  ]
613*d9f75844SAndroid Build Coastguard Worker}
614*d9f75844SAndroid Build Coastguard Worker
615*d9f75844SAndroid Build Coastguard Workerrtc_source_set("rtc_operations_chain") {
616*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
617*d9f75844SAndroid Build Coastguard Worker  sources = [
618*d9f75844SAndroid Build Coastguard Worker    "operations_chain.cc",
619*d9f75844SAndroid Build Coastguard Worker    "operations_chain.h",
620*d9f75844SAndroid Build Coastguard Worker  ]
621*d9f75844SAndroid Build Coastguard Worker  deps = [
622*d9f75844SAndroid Build Coastguard Worker    ":checks",
623*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
624*d9f75844SAndroid Build Coastguard Worker    ":refcount",
625*d9f75844SAndroid Build Coastguard Worker    "../api:make_ref_counted",
626*d9f75844SAndroid Build Coastguard Worker    "../api:refcountedbase",
627*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
628*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
629*d9f75844SAndroid Build Coastguard Worker    "system:no_unique_address",
630*d9f75844SAndroid Build Coastguard Worker  ]
631*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
632*d9f75844SAndroid Build Coastguard Worker}
633*d9f75844SAndroid Build Coastguard Worker
634*d9f75844SAndroid Build Coastguard Workerif (rtc_enable_libevent) {
635*d9f75844SAndroid Build Coastguard Worker  rtc_library("rtc_task_queue_libevent") {
636*d9f75844SAndroid Build Coastguard Worker    visibility = [ "../api/task_queue:default_task_queue_factory" ]
637*d9f75844SAndroid Build Coastguard Worker    sources = [
638*d9f75844SAndroid Build Coastguard Worker      "task_queue_libevent.cc",
639*d9f75844SAndroid Build Coastguard Worker      "task_queue_libevent.h",
640*d9f75844SAndroid Build Coastguard Worker    ]
641*d9f75844SAndroid Build Coastguard Worker    deps = [
642*d9f75844SAndroid Build Coastguard Worker      ":checks",
643*d9f75844SAndroid Build Coastguard Worker      ":logging",
644*d9f75844SAndroid Build Coastguard Worker      ":macromagic",
645*d9f75844SAndroid Build Coastguard Worker      ":platform_thread",
646*d9f75844SAndroid Build Coastguard Worker      ":platform_thread_types",
647*d9f75844SAndroid Build Coastguard Worker      ":safe_conversions",
648*d9f75844SAndroid Build Coastguard Worker      ":timeutils",
649*d9f75844SAndroid Build Coastguard Worker      "../api/task_queue",
650*d9f75844SAndroid Build Coastguard Worker      "../api/units:time_delta",
651*d9f75844SAndroid Build Coastguard Worker      "synchronization:mutex",
652*d9f75844SAndroid Build Coastguard Worker    ]
653*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
654*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/container:inlined_vector",
655*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/functional:any_invocable",
656*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
657*d9f75844SAndroid Build Coastguard Worker    ]
658*d9f75844SAndroid Build Coastguard Worker    if (rtc_build_libevent) {
659*d9f75844SAndroid Build Coastguard Worker      deps += [ "//third_party/libevent" ]
660*d9f75844SAndroid Build Coastguard Worker    }
661*d9f75844SAndroid Build Coastguard Worker  }
662*d9f75844SAndroid Build Coastguard Worker}
663*d9f75844SAndroid Build Coastguard Worker
664*d9f75844SAndroid Build Coastguard Workerif (is_mac || is_ios) {
665*d9f75844SAndroid Build Coastguard Worker  rtc_library("rtc_task_queue_gcd") {
666*d9f75844SAndroid Build Coastguard Worker    visibility = [ "../api/task_queue:default_task_queue_factory" ]
667*d9f75844SAndroid Build Coastguard Worker    sources = [
668*d9f75844SAndroid Build Coastguard Worker      "task_queue_gcd.cc",
669*d9f75844SAndroid Build Coastguard Worker      "task_queue_gcd.h",
670*d9f75844SAndroid Build Coastguard Worker    ]
671*d9f75844SAndroid Build Coastguard Worker    deps = [
672*d9f75844SAndroid Build Coastguard Worker      ":checks",
673*d9f75844SAndroid Build Coastguard Worker      ":logging",
674*d9f75844SAndroid Build Coastguard Worker      "../api/task_queue",
675*d9f75844SAndroid Build Coastguard Worker      "../api/units:time_delta",
676*d9f75844SAndroid Build Coastguard Worker      "synchronization:mutex",
677*d9f75844SAndroid Build Coastguard Worker      "system:gcd_helpers",
678*d9f75844SAndroid Build Coastguard Worker    ]
679*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
680*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/functional:any_invocable",
681*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
682*d9f75844SAndroid Build Coastguard Worker    ]
683*d9f75844SAndroid Build Coastguard Worker  }
684*d9f75844SAndroid Build Coastguard Worker}
685*d9f75844SAndroid Build Coastguard Worker
686*d9f75844SAndroid Build Coastguard Workerif (is_win) {
687*d9f75844SAndroid Build Coastguard Worker  rtc_library("rtc_task_queue_win") {
688*d9f75844SAndroid Build Coastguard Worker    visibility = [ "../api/task_queue:default_task_queue_factory" ]
689*d9f75844SAndroid Build Coastguard Worker    sources = [
690*d9f75844SAndroid Build Coastguard Worker      "task_queue_win.cc",
691*d9f75844SAndroid Build Coastguard Worker      "task_queue_win.h",
692*d9f75844SAndroid Build Coastguard Worker    ]
693*d9f75844SAndroid Build Coastguard Worker    deps = [
694*d9f75844SAndroid Build Coastguard Worker      ":checks",
695*d9f75844SAndroid Build Coastguard Worker      ":logging",
696*d9f75844SAndroid Build Coastguard Worker      ":macromagic",
697*d9f75844SAndroid Build Coastguard Worker      ":platform_thread",
698*d9f75844SAndroid Build Coastguard Worker      ":rtc_event",
699*d9f75844SAndroid Build Coastguard Worker      ":safe_conversions",
700*d9f75844SAndroid Build Coastguard Worker      ":timeutils",
701*d9f75844SAndroid Build Coastguard Worker      "../api/task_queue",
702*d9f75844SAndroid Build Coastguard Worker      "../api/units:time_delta",
703*d9f75844SAndroid Build Coastguard Worker      "../api/units:timestamp",
704*d9f75844SAndroid Build Coastguard Worker      "synchronization:mutex",
705*d9f75844SAndroid Build Coastguard Worker    ]
706*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
707*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/functional:any_invocable",
708*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings",
709*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
710*d9f75844SAndroid Build Coastguard Worker    ]
711*d9f75844SAndroid Build Coastguard Worker  }
712*d9f75844SAndroid Build Coastguard Worker}
713*d9f75844SAndroid Build Coastguard Worker
714*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_task_queue_stdlib") {
715*d9f75844SAndroid Build Coastguard Worker  sources = [
716*d9f75844SAndroid Build Coastguard Worker    "task_queue_stdlib.cc",
717*d9f75844SAndroid Build Coastguard Worker    "task_queue_stdlib.h",
718*d9f75844SAndroid Build Coastguard Worker  ]
719*d9f75844SAndroid Build Coastguard Worker  deps = [
720*d9f75844SAndroid Build Coastguard Worker    ":checks",
721*d9f75844SAndroid Build Coastguard Worker    ":divide_round",
722*d9f75844SAndroid Build Coastguard Worker    ":logging",
723*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
724*d9f75844SAndroid Build Coastguard Worker    ":platform_thread",
725*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
726*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
727*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
728*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
729*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
730*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
731*d9f75844SAndroid Build Coastguard Worker  ]
732*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
733*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:any_invocable",
734*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
735*d9f75844SAndroid Build Coastguard Worker  ]
736*d9f75844SAndroid Build Coastguard Worker}
737*d9f75844SAndroid Build Coastguard Worker
738*d9f75844SAndroid Build Coastguard Workerrtc_library("weak_ptr") {
739*d9f75844SAndroid Build Coastguard Worker  sources = [
740*d9f75844SAndroid Build Coastguard Worker    "weak_ptr.cc",
741*d9f75844SAndroid Build Coastguard Worker    "weak_ptr.h",
742*d9f75844SAndroid Build Coastguard Worker  ]
743*d9f75844SAndroid Build Coastguard Worker  deps = [
744*d9f75844SAndroid Build Coastguard Worker    ":refcount",
745*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
746*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
747*d9f75844SAndroid Build Coastguard Worker    "system:no_unique_address",
748*d9f75844SAndroid Build Coastguard Worker  ]
749*d9f75844SAndroid Build Coastguard Worker}
750*d9f75844SAndroid Build Coastguard Worker
751*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_numerics") {
752*d9f75844SAndroid Build Coastguard Worker  sources = [
753*d9f75844SAndroid Build Coastguard Worker    "numerics/event_based_exponential_moving_average.cc",
754*d9f75844SAndroid Build Coastguard Worker    "numerics/event_based_exponential_moving_average.h",
755*d9f75844SAndroid Build Coastguard Worker    "numerics/exp_filter.cc",
756*d9f75844SAndroid Build Coastguard Worker    "numerics/exp_filter.h",
757*d9f75844SAndroid Build Coastguard Worker    "numerics/math_utils.h",
758*d9f75844SAndroid Build Coastguard Worker    "numerics/moving_average.cc",
759*d9f75844SAndroid Build Coastguard Worker    "numerics/moving_average.h",
760*d9f75844SAndroid Build Coastguard Worker    "numerics/moving_percentile_filter.h",
761*d9f75844SAndroid Build Coastguard Worker    "numerics/percentile_filter.h",
762*d9f75844SAndroid Build Coastguard Worker    "numerics/running_statistics.h",
763*d9f75844SAndroid Build Coastguard Worker    "numerics/sequence_number_util.h",
764*d9f75844SAndroid Build Coastguard Worker  ]
765*d9f75844SAndroid Build Coastguard Worker  deps = [
766*d9f75844SAndroid Build Coastguard Worker    ":checks",
767*d9f75844SAndroid Build Coastguard Worker    ":mod_ops",
768*d9f75844SAndroid Build Coastguard Worker  ]
769*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
770*d9f75844SAndroid Build Coastguard Worker}
771*d9f75844SAndroid Build Coastguard Worker
772*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_stats_counters") {
773*d9f75844SAndroid Build Coastguard Worker  sources = [
774*d9f75844SAndroid Build Coastguard Worker    "numerics/event_rate_counter.cc",
775*d9f75844SAndroid Build Coastguard Worker    "numerics/event_rate_counter.h",
776*d9f75844SAndroid Build Coastguard Worker    "numerics/sample_stats.cc",
777*d9f75844SAndroid Build Coastguard Worker    "numerics/sample_stats.h",
778*d9f75844SAndroid Build Coastguard Worker  ]
779*d9f75844SAndroid Build Coastguard Worker  deps = [
780*d9f75844SAndroid Build Coastguard Worker    "../api/numerics",
781*d9f75844SAndroid Build Coastguard Worker    "../api/units:data_rate",
782*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
783*d9f75844SAndroid Build Coastguard Worker    "../api/units:timestamp",
784*d9f75844SAndroid Build Coastguard Worker  ]
785*d9f75844SAndroid Build Coastguard Worker  absl_deps = []
786*d9f75844SAndroid Build Coastguard Worker}
787*d9f75844SAndroid Build Coastguard Worker
788*d9f75844SAndroid Build Coastguard Workerconfig("rtc_json_suppressions") {
789*d9f75844SAndroid Build Coastguard Worker  if (!is_win || is_clang) {
790*d9f75844SAndroid Build Coastguard Worker    cflags_cc = [
791*d9f75844SAndroid Build Coastguard Worker      # TODO(bugs.webrtc.org/10814): Remove -Wno-undef as soon as it get
792*d9f75844SAndroid Build Coastguard Worker      # removed upstream.
793*d9f75844SAndroid Build Coastguard Worker      "-Wno-undef",
794*d9f75844SAndroid Build Coastguard Worker    ]
795*d9f75844SAndroid Build Coastguard Worker  }
796*d9f75844SAndroid Build Coastguard Worker}
797*d9f75844SAndroid Build Coastguard Worker
798*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_json") {
799*d9f75844SAndroid Build Coastguard Worker  public_configs = [ ":rtc_json_suppressions" ]
800*d9f75844SAndroid Build Coastguard Worker  poisonous = [ "rtc_json" ]
801*d9f75844SAndroid Build Coastguard Worker  defines = []
802*d9f75844SAndroid Build Coastguard Worker  sources = [
803*d9f75844SAndroid Build Coastguard Worker    "strings/json.cc",
804*d9f75844SAndroid Build Coastguard Worker    "strings/json.h",
805*d9f75844SAndroid Build Coastguard Worker  ]
806*d9f75844SAndroid Build Coastguard Worker  deps = [ ":stringutils" ]
807*d9f75844SAndroid Build Coastguard Worker  all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
808*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_json) {
809*d9f75844SAndroid Build Coastguard Worker    deps += [ "//third_party/jsoncpp" ]
810*d9f75844SAndroid Build Coastguard Worker  } else {
811*d9f75844SAndroid Build Coastguard Worker    include_dirs = [ "$rtc_jsoncpp_root" ]
812*d9f75844SAndroid Build Coastguard Worker
813*d9f75844SAndroid Build Coastguard Worker    # When defined changes the include path for json.h to where it is
814*d9f75844SAndroid Build Coastguard Worker    # expected to be when building json outside of the standalone build.
815*d9f75844SAndroid Build Coastguard Worker    defines += [ "WEBRTC_EXTERNAL_JSON" ]
816*d9f75844SAndroid Build Coastguard Worker  }
817*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
818*d9f75844SAndroid Build Coastguard Worker}
819*d9f75844SAndroid Build Coastguard Worker
820*d9f75844SAndroid Build Coastguard Workerrtc_library("net_helpers") {
821*d9f75844SAndroid Build Coastguard Worker  sources = [
822*d9f75844SAndroid Build Coastguard Worker    "net_helpers.cc",
823*d9f75844SAndroid Build Coastguard Worker    "net_helpers.h",
824*d9f75844SAndroid Build Coastguard Worker  ]
825*d9f75844SAndroid Build Coastguard Worker  deps = []
826*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
827*d9f75844SAndroid Build Coastguard Worker    deps += [ ":ifaddrs_android" ]
828*d9f75844SAndroid Build Coastguard Worker  }
829*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
830*d9f75844SAndroid Build Coastguard Worker    deps += [
831*d9f75844SAndroid Build Coastguard Worker      ":win32",
832*d9f75844SAndroid Build Coastguard Worker      "win:windows_version",
833*d9f75844SAndroid Build Coastguard Worker    ]
834*d9f75844SAndroid Build Coastguard Worker  }
835*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
836*d9f75844SAndroid Build Coastguard Worker}
837*d9f75844SAndroid Build Coastguard Worker
838*d9f75844SAndroid Build Coastguard Workerrtc_library("async_resolver_interface") {
839*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
840*d9f75844SAndroid Build Coastguard Worker  sources = [
841*d9f75844SAndroid Build Coastguard Worker    "async_resolver_interface.cc",
842*d9f75844SAndroid Build Coastguard Worker    "async_resolver_interface.h",
843*d9f75844SAndroid Build Coastguard Worker  ]
844*d9f75844SAndroid Build Coastguard Worker  deps = [
845*d9f75844SAndroid Build Coastguard Worker    ":checks",
846*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
847*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
848*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
849*d9f75844SAndroid Build Coastguard Worker  ]
850*d9f75844SAndroid Build Coastguard Worker}
851*d9f75844SAndroid Build Coastguard Worker
852*d9f75844SAndroid Build Coastguard Workerrtc_library("ip_address") {
853*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
854*d9f75844SAndroid Build Coastguard Worker  sources = [
855*d9f75844SAndroid Build Coastguard Worker    "ip_address.cc",
856*d9f75844SAndroid Build Coastguard Worker    "ip_address.h",
857*d9f75844SAndroid Build Coastguard Worker  ]
858*d9f75844SAndroid Build Coastguard Worker  deps = [
859*d9f75844SAndroid Build Coastguard Worker    ":byte_order",
860*d9f75844SAndroid Build Coastguard Worker    ":net_helpers",
861*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
862*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
863*d9f75844SAndroid Build Coastguard Worker  ]
864*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
865*d9f75844SAndroid Build Coastguard Worker    deps += [ ":win32" ]
866*d9f75844SAndroid Build Coastguard Worker  }
867*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
868*d9f75844SAndroid Build Coastguard Worker}
869*d9f75844SAndroid Build Coastguard Worker
870*d9f75844SAndroid Build Coastguard Workerrtc_library("socket_address") {
871*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
872*d9f75844SAndroid Build Coastguard Worker  sources = [
873*d9f75844SAndroid Build Coastguard Worker    "socket_address.cc",
874*d9f75844SAndroid Build Coastguard Worker    "socket_address.h",
875*d9f75844SAndroid Build Coastguard Worker  ]
876*d9f75844SAndroid Build Coastguard Worker  deps = [
877*d9f75844SAndroid Build Coastguard Worker    ":byte_order",
878*d9f75844SAndroid Build Coastguard Worker    ":checks",
879*d9f75844SAndroid Build Coastguard Worker    ":ip_address",
880*d9f75844SAndroid Build Coastguard Worker    ":logging",
881*d9f75844SAndroid Build Coastguard Worker    ":net_helpers",
882*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
883*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
884*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
885*d9f75844SAndroid Build Coastguard Worker  ]
886*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
887*d9f75844SAndroid Build Coastguard Worker    deps += [ ":win32" ]
888*d9f75844SAndroid Build Coastguard Worker  }
889*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
890*d9f75844SAndroid Build Coastguard Worker}
891*d9f75844SAndroid Build Coastguard Worker
892*d9f75844SAndroid Build Coastguard Workerrtc_library("null_socket_server") {
893*d9f75844SAndroid Build Coastguard Worker  sources = [
894*d9f75844SAndroid Build Coastguard Worker    "null_socket_server.cc",
895*d9f75844SAndroid Build Coastguard Worker    "null_socket_server.h",
896*d9f75844SAndroid Build Coastguard Worker  ]
897*d9f75844SAndroid Build Coastguard Worker  deps = [
898*d9f75844SAndroid Build Coastguard Worker    ":checks",
899*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
900*d9f75844SAndroid Build Coastguard Worker    ":socket",
901*d9f75844SAndroid Build Coastguard Worker    ":socket_server",
902*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
903*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
904*d9f75844SAndroid Build Coastguard Worker  ]
905*d9f75844SAndroid Build Coastguard Worker}
906*d9f75844SAndroid Build Coastguard Worker
907*d9f75844SAndroid Build Coastguard Workerrtc_source_set("socket_server") {
908*d9f75844SAndroid Build Coastguard Worker  sources = [ "socket_server.h" ]
909*d9f75844SAndroid Build Coastguard Worker  deps = [
910*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
911*d9f75844SAndroid Build Coastguard Worker    ":socket_factory",
912*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
913*d9f75844SAndroid Build Coastguard Worker  ]
914*d9f75844SAndroid Build Coastguard Worker}
915*d9f75844SAndroid Build Coastguard Worker
916*d9f75844SAndroid Build Coastguard Workerrtc_library("threading") {
917*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
918*d9f75844SAndroid Build Coastguard Worker
919*d9f75844SAndroid Build Coastguard Worker  sources = [
920*d9f75844SAndroid Build Coastguard Worker    "async_resolver.cc",
921*d9f75844SAndroid Build Coastguard Worker    "async_resolver.h",
922*d9f75844SAndroid Build Coastguard Worker    "internal/default_socket_server.cc",
923*d9f75844SAndroid Build Coastguard Worker    "internal/default_socket_server.h",
924*d9f75844SAndroid Build Coastguard Worker    "network_monitor.cc",
925*d9f75844SAndroid Build Coastguard Worker    "network_monitor.h",
926*d9f75844SAndroid Build Coastguard Worker    "network_monitor_factory.cc",
927*d9f75844SAndroid Build Coastguard Worker    "network_monitor_factory.h",
928*d9f75844SAndroid Build Coastguard Worker    "physical_socket_server.cc",
929*d9f75844SAndroid Build Coastguard Worker    "physical_socket_server.h",
930*d9f75844SAndroid Build Coastguard Worker    "thread.cc",
931*d9f75844SAndroid Build Coastguard Worker    "thread.h",
932*d9f75844SAndroid Build Coastguard Worker  ]
933*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
934*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
935*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
936*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/cleanup",
937*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:any_invocable",
938*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
939*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
940*d9f75844SAndroid Build Coastguard Worker  ]
941*d9f75844SAndroid Build Coastguard Worker  deps = [
942*d9f75844SAndroid Build Coastguard Worker    ":async_resolver_interface",
943*d9f75844SAndroid Build Coastguard Worker    ":byte_order",
944*d9f75844SAndroid Build Coastguard Worker    ":checks",
945*d9f75844SAndroid Build Coastguard Worker    ":criticalsection",
946*d9f75844SAndroid Build Coastguard Worker    ":event_tracer",
947*d9f75844SAndroid Build Coastguard Worker    ":ip_address",
948*d9f75844SAndroid Build Coastguard Worker    ":logging",
949*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
950*d9f75844SAndroid Build Coastguard Worker    ":network_constants",
951*d9f75844SAndroid Build Coastguard Worker    ":null_socket_server",
952*d9f75844SAndroid Build Coastguard Worker    ":platform_thread",
953*d9f75844SAndroid Build Coastguard Worker    ":platform_thread_types",
954*d9f75844SAndroid Build Coastguard Worker    ":refcount",
955*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
956*d9f75844SAndroid Build Coastguard Worker    ":rtc_task_queue",
957*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
958*d9f75844SAndroid Build Coastguard Worker    ":socket_server",
959*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
960*d9f75844SAndroid Build Coastguard Worker    "../api:function_view",
961*d9f75844SAndroid Build Coastguard Worker    "../api:refcountedbase",
962*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
963*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
964*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
965*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue:pending_task_safety_flag",
966*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
967*d9f75844SAndroid Build Coastguard Worker    "../system_wrappers:field_trial",
968*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
969*d9f75844SAndroid Build Coastguard Worker    "system:no_unique_address",
970*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
971*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
972*d9f75844SAndroid Build Coastguard Worker  ]
973*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
974*d9f75844SAndroid Build Coastguard Worker    deps += [ ":ifaddrs_android" ]
975*d9f75844SAndroid Build Coastguard Worker  }
976*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
977*d9f75844SAndroid Build Coastguard Worker    deps += [ ":win32" ]
978*d9f75844SAndroid Build Coastguard Worker  }
979*d9f75844SAndroid Build Coastguard Worker  if (is_mac || is_ios) {
980*d9f75844SAndroid Build Coastguard Worker    deps += [ "system:cocoa_threading" ]
981*d9f75844SAndroid Build Coastguard Worker  }
982*d9f75844SAndroid Build Coastguard Worker}
983*d9f75844SAndroid Build Coastguard Worker
984*d9f75844SAndroid Build Coastguard Workerrtc_source_set("socket_factory") {
985*d9f75844SAndroid Build Coastguard Worker  sources = [ "socket_factory.h" ]
986*d9f75844SAndroid Build Coastguard Worker  deps = [ ":socket" ]
987*d9f75844SAndroid Build Coastguard Worker}
988*d9f75844SAndroid Build Coastguard Worker
989*d9f75844SAndroid Build Coastguard Workerrtc_library("async_socket") {
990*d9f75844SAndroid Build Coastguard Worker  sources = [
991*d9f75844SAndroid Build Coastguard Worker    "async_socket.cc",
992*d9f75844SAndroid Build Coastguard Worker    "async_socket.h",
993*d9f75844SAndroid Build Coastguard Worker  ]
994*d9f75844SAndroid Build Coastguard Worker  deps = [
995*d9f75844SAndroid Build Coastguard Worker    ":checks",
996*d9f75844SAndroid Build Coastguard Worker    ":socket",
997*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
998*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
999*d9f75844SAndroid Build Coastguard Worker  ]
1000*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
1001*d9f75844SAndroid Build Coastguard Worker}
1002*d9f75844SAndroid Build Coastguard Worker
1003*d9f75844SAndroid Build Coastguard Workerrtc_library("socket") {
1004*d9f75844SAndroid Build Coastguard Worker  sources = [
1005*d9f75844SAndroid Build Coastguard Worker    "socket.cc",
1006*d9f75844SAndroid Build Coastguard Worker    "socket.h",
1007*d9f75844SAndroid Build Coastguard Worker  ]
1008*d9f75844SAndroid Build Coastguard Worker  deps = [
1009*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
1010*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
1011*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
1012*d9f75844SAndroid Build Coastguard Worker  ]
1013*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
1014*d9f75844SAndroid Build Coastguard Worker    deps += [ ":win32" ]
1015*d9f75844SAndroid Build Coastguard Worker  }
1016*d9f75844SAndroid Build Coastguard Worker}
1017*d9f75844SAndroid Build Coastguard Worker
1018*d9f75844SAndroid Build Coastguard Workerrtc_source_set("network_constants") {
1019*d9f75844SAndroid Build Coastguard Worker  sources = [
1020*d9f75844SAndroid Build Coastguard Worker    "network_constants.cc",
1021*d9f75844SAndroid Build Coastguard Worker    "network_constants.h",
1022*d9f75844SAndroid Build Coastguard Worker  ]
1023*d9f75844SAndroid Build Coastguard Worker  deps = [ ":checks" ]
1024*d9f75844SAndroid Build Coastguard Worker}
1025*d9f75844SAndroid Build Coastguard Worker
1026*d9f75844SAndroid Build Coastguard Workerif (is_android) {
1027*d9f75844SAndroid Build Coastguard Worker  rtc_library("ifaddrs_android") {
1028*d9f75844SAndroid Build Coastguard Worker    sources = [
1029*d9f75844SAndroid Build Coastguard Worker      "ifaddrs_android.cc",
1030*d9f75844SAndroid Build Coastguard Worker      "ifaddrs_android.h",
1031*d9f75844SAndroid Build Coastguard Worker    ]
1032*d9f75844SAndroid Build Coastguard Worker    libs = [
1033*d9f75844SAndroid Build Coastguard Worker      "log",
1034*d9f75844SAndroid Build Coastguard Worker      "GLESv2",
1035*d9f75844SAndroid Build Coastguard Worker    ]
1036*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/cleanup" ]
1037*d9f75844SAndroid Build Coastguard Worker  }
1038*d9f75844SAndroid Build Coastguard Worker}
1039*d9f75844SAndroid Build Coastguard Worker
1040*d9f75844SAndroid Build Coastguard Workerif (is_win) {
1041*d9f75844SAndroid Build Coastguard Worker  rtc_library("win32") {
1042*d9f75844SAndroid Build Coastguard Worker    sources = [
1043*d9f75844SAndroid Build Coastguard Worker      "win32.cc",
1044*d9f75844SAndroid Build Coastguard Worker      "win32.h",
1045*d9f75844SAndroid Build Coastguard Worker      "win32_window.cc",
1046*d9f75844SAndroid Build Coastguard Worker      "win32_window.h",
1047*d9f75844SAndroid Build Coastguard Worker    ]
1048*d9f75844SAndroid Build Coastguard Worker
1049*d9f75844SAndroid Build Coastguard Worker    deps = [
1050*d9f75844SAndroid Build Coastguard Worker      ":byte_order",
1051*d9f75844SAndroid Build Coastguard Worker      ":checks",
1052*d9f75844SAndroid Build Coastguard Worker      ":logging",
1053*d9f75844SAndroid Build Coastguard Worker      ":macromagic",
1054*d9f75844SAndroid Build Coastguard Worker      ":stringutils",
1055*d9f75844SAndroid Build Coastguard Worker    ]
1056*d9f75844SAndroid Build Coastguard Worker
1057*d9f75844SAndroid Build Coastguard Worker    libs = [
1058*d9f75844SAndroid Build Coastguard Worker      "crypt32.lib",
1059*d9f75844SAndroid Build Coastguard Worker      "iphlpapi.lib",
1060*d9f75844SAndroid Build Coastguard Worker      "secur32.lib",
1061*d9f75844SAndroid Build Coastguard Worker    ]
1062*d9f75844SAndroid Build Coastguard Worker
1063*d9f75844SAndroid Build Coastguard Worker    defines = [ "_CRT_NONSTDC_NO_DEPRECATE" ]
1064*d9f75844SAndroid Build Coastguard Worker  }
1065*d9f75844SAndroid Build Coastguard Worker}
1066*d9f75844SAndroid Build Coastguard Worker
1067*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_base") {
1068*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
1069*d9f75844SAndroid Build Coastguard Worker  cflags = []
1070*d9f75844SAndroid Build Coastguard Worker  cflags_cc = []
1071*d9f75844SAndroid Build Coastguard Worker  libs = []
1072*d9f75844SAndroid Build Coastguard Worker  defines = []
1073*d9f75844SAndroid Build Coastguard Worker  deps = [
1074*d9f75844SAndroid Build Coastguard Worker    ":async_resolver_interface",
1075*d9f75844SAndroid Build Coastguard Worker    ":async_socket",
1076*d9f75844SAndroid Build Coastguard Worker    ":buffer",
1077*d9f75844SAndroid Build Coastguard Worker    ":byte_buffer",
1078*d9f75844SAndroid Build Coastguard Worker    ":byte_order",
1079*d9f75844SAndroid Build Coastguard Worker    ":callback_list",
1080*d9f75844SAndroid Build Coastguard Worker    ":checks",
1081*d9f75844SAndroid Build Coastguard Worker    ":copy_on_write_buffer",
1082*d9f75844SAndroid Build Coastguard Worker    ":ip_address",
1083*d9f75844SAndroid Build Coastguard Worker    ":logging",
1084*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
1085*d9f75844SAndroid Build Coastguard Worker    ":network_constants",
1086*d9f75844SAndroid Build Coastguard Worker    ":null_socket_server",
1087*d9f75844SAndroid Build Coastguard Worker    ":refcount",
1088*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
1089*d9f75844SAndroid Build Coastguard Worker    ":rtc_task_queue",
1090*d9f75844SAndroid Build Coastguard Worker    ":safe_conversions",
1091*d9f75844SAndroid Build Coastguard Worker    ":socket",
1092*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
1093*d9f75844SAndroid Build Coastguard Worker    ":socket_factory",
1094*d9f75844SAndroid Build Coastguard Worker    ":socket_server",
1095*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
1096*d9f75844SAndroid Build Coastguard Worker    ":threading",
1097*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
1098*d9f75844SAndroid Build Coastguard Worker    ":zero_memory",
1099*d9f75844SAndroid Build Coastguard Worker    "../api:array_view",
1100*d9f75844SAndroid Build Coastguard Worker    "../api:field_trials_view",
1101*d9f75844SAndroid Build Coastguard Worker    "../api:function_view",
1102*d9f75844SAndroid Build Coastguard Worker    "../api:make_ref_counted",
1103*d9f75844SAndroid Build Coastguard Worker    "../api:refcountedbase",
1104*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
1105*d9f75844SAndroid Build Coastguard Worker    "../api:sequence_checker",
1106*d9f75844SAndroid Build Coastguard Worker    "../api/numerics",
1107*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
1108*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue:pending_task_safety_flag",
1109*d9f75844SAndroid Build Coastguard Worker    "../api/transport:field_trial_based_config",
1110*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
1111*d9f75844SAndroid Build Coastguard Worker    "../rtc_base/experiments:field_trial_parser",
1112*d9f75844SAndroid Build Coastguard Worker    "../system_wrappers:field_trial",
1113*d9f75844SAndroid Build Coastguard Worker    "memory:always_valid_pointer",
1114*d9f75844SAndroid Build Coastguard Worker    "network:sent_packet",
1115*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
1116*d9f75844SAndroid Build Coastguard Worker    "system:file_wrapper",
1117*d9f75844SAndroid Build Coastguard Worker    "system:inline",
1118*d9f75844SAndroid Build Coastguard Worker    "system:no_unique_address",
1119*d9f75844SAndroid Build Coastguard Worker    "system:rtc_export",
1120*d9f75844SAndroid Build Coastguard Worker    "task_utils:repeating_task",
1121*d9f75844SAndroid Build Coastguard Worker    "third_party/base64",
1122*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
1123*d9f75844SAndroid Build Coastguard Worker  ]
1124*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
1125*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
1126*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
1127*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:flat_hash_map",
1128*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/functional:any_invocable",
1129*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
1130*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
1131*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
1132*d9f75844SAndroid Build Coastguard Worker  ]
1133*d9f75844SAndroid Build Coastguard Worker  public_configs = []
1134*d9f75844SAndroid Build Coastguard Worker
1135*d9f75844SAndroid Build Coastguard Worker  sources = [
1136*d9f75844SAndroid Build Coastguard Worker    "async_packet_socket.cc",
1137*d9f75844SAndroid Build Coastguard Worker    "async_packet_socket.h",
1138*d9f75844SAndroid Build Coastguard Worker    "async_tcp_socket.cc",
1139*d9f75844SAndroid Build Coastguard Worker    "async_tcp_socket.h",
1140*d9f75844SAndroid Build Coastguard Worker    "async_udp_socket.cc",
1141*d9f75844SAndroid Build Coastguard Worker    "async_udp_socket.h",
1142*d9f75844SAndroid Build Coastguard Worker    "crc32.cc",
1143*d9f75844SAndroid Build Coastguard Worker    "crc32.h",
1144*d9f75844SAndroid Build Coastguard Worker    "crypt_string.cc",
1145*d9f75844SAndroid Build Coastguard Worker    "crypt_string.h",
1146*d9f75844SAndroid Build Coastguard Worker    "data_rate_limiter.cc",
1147*d9f75844SAndroid Build Coastguard Worker    "data_rate_limiter.h",
1148*d9f75844SAndroid Build Coastguard Worker    "dscp.h",
1149*d9f75844SAndroid Build Coastguard Worker    "file_rotating_stream.cc",
1150*d9f75844SAndroid Build Coastguard Worker    "file_rotating_stream.h",
1151*d9f75844SAndroid Build Coastguard Worker    "helpers.cc",
1152*d9f75844SAndroid Build Coastguard Worker    "helpers.h",
1153*d9f75844SAndroid Build Coastguard Worker    "http_common.cc",
1154*d9f75844SAndroid Build Coastguard Worker    "http_common.h",
1155*d9f75844SAndroid Build Coastguard Worker    "mdns_responder_interface.h",
1156*d9f75844SAndroid Build Coastguard Worker    "message_digest.cc",
1157*d9f75844SAndroid Build Coastguard Worker    "message_digest.h",
1158*d9f75844SAndroid Build Coastguard Worker    "net_helper.cc",
1159*d9f75844SAndroid Build Coastguard Worker    "net_helper.h",
1160*d9f75844SAndroid Build Coastguard Worker    "network.cc",
1161*d9f75844SAndroid Build Coastguard Worker    "network.h",
1162*d9f75844SAndroid Build Coastguard Worker    "network_route.cc",
1163*d9f75844SAndroid Build Coastguard Worker    "network_route.h",
1164*d9f75844SAndroid Build Coastguard Worker    "openssl.h",
1165*d9f75844SAndroid Build Coastguard Worker    "openssl_adapter.cc",
1166*d9f75844SAndroid Build Coastguard Worker    "openssl_adapter.h",
1167*d9f75844SAndroid Build Coastguard Worker    "openssl_digest.cc",
1168*d9f75844SAndroid Build Coastguard Worker    "openssl_digest.h",
1169*d9f75844SAndroid Build Coastguard Worker    "openssl_key_pair.cc",
1170*d9f75844SAndroid Build Coastguard Worker    "openssl_key_pair.h",
1171*d9f75844SAndroid Build Coastguard Worker    "openssl_session_cache.cc",
1172*d9f75844SAndroid Build Coastguard Worker    "openssl_session_cache.h",
1173*d9f75844SAndroid Build Coastguard Worker    "openssl_stream_adapter.cc",
1174*d9f75844SAndroid Build Coastguard Worker    "openssl_stream_adapter.h",
1175*d9f75844SAndroid Build Coastguard Worker    "openssl_utility.cc",
1176*d9f75844SAndroid Build Coastguard Worker    "openssl_utility.h",
1177*d9f75844SAndroid Build Coastguard Worker    "proxy_info.cc",
1178*d9f75844SAndroid Build Coastguard Worker    "proxy_info.h",
1179*d9f75844SAndroid Build Coastguard Worker    "rtc_certificate.cc",
1180*d9f75844SAndroid Build Coastguard Worker    "rtc_certificate.h",
1181*d9f75844SAndroid Build Coastguard Worker    "rtc_certificate_generator.cc",
1182*d9f75844SAndroid Build Coastguard Worker    "rtc_certificate_generator.h",
1183*d9f75844SAndroid Build Coastguard Worker    "socket_adapters.cc",
1184*d9f75844SAndroid Build Coastguard Worker    "socket_adapters.h",
1185*d9f75844SAndroid Build Coastguard Worker    "socket_address_pair.cc",
1186*d9f75844SAndroid Build Coastguard Worker    "socket_address_pair.h",
1187*d9f75844SAndroid Build Coastguard Worker    "ssl_adapter.cc",
1188*d9f75844SAndroid Build Coastguard Worker    "ssl_adapter.h",
1189*d9f75844SAndroid Build Coastguard Worker    "ssl_certificate.cc",
1190*d9f75844SAndroid Build Coastguard Worker    "ssl_certificate.h",
1191*d9f75844SAndroid Build Coastguard Worker    "ssl_fingerprint.cc",
1192*d9f75844SAndroid Build Coastguard Worker    "ssl_fingerprint.h",
1193*d9f75844SAndroid Build Coastguard Worker    "ssl_identity.cc",
1194*d9f75844SAndroid Build Coastguard Worker    "ssl_identity.h",
1195*d9f75844SAndroid Build Coastguard Worker    "ssl_stream_adapter.cc",
1196*d9f75844SAndroid Build Coastguard Worker    "ssl_stream_adapter.h",
1197*d9f75844SAndroid Build Coastguard Worker    "stream.cc",
1198*d9f75844SAndroid Build Coastguard Worker    "stream.h",
1199*d9f75844SAndroid Build Coastguard Worker    "unique_id_generator.cc",
1200*d9f75844SAndroid Build Coastguard Worker    "unique_id_generator.h",
1201*d9f75844SAndroid Build Coastguard Worker  ]
1202*d9f75844SAndroid Build Coastguard Worker
1203*d9f75844SAndroid Build Coastguard Worker  # If we are building the SSL library ourselves, we know it's BoringSSL.
1204*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_ssl) {
1205*d9f75844SAndroid Build Coastguard Worker    sources += [
1206*d9f75844SAndroid Build Coastguard Worker      "boringssl_certificate.cc",
1207*d9f75844SAndroid Build Coastguard Worker      "boringssl_certificate.h",
1208*d9f75844SAndroid Build Coastguard Worker      "boringssl_identity.cc",
1209*d9f75844SAndroid Build Coastguard Worker      "boringssl_identity.h",
1210*d9f75844SAndroid Build Coastguard Worker    ]
1211*d9f75844SAndroid Build Coastguard Worker  } else {
1212*d9f75844SAndroid Build Coastguard Worker    sources += [
1213*d9f75844SAndroid Build Coastguard Worker      "openssl_certificate.cc",
1214*d9f75844SAndroid Build Coastguard Worker      "openssl_certificate.h",
1215*d9f75844SAndroid Build Coastguard Worker      "openssl_identity.cc",
1216*d9f75844SAndroid Build Coastguard Worker      "openssl_identity.h",
1217*d9f75844SAndroid Build Coastguard Worker    ]
1218*d9f75844SAndroid Build Coastguard Worker  }
1219*d9f75844SAndroid Build Coastguard Worker
1220*d9f75844SAndroid Build Coastguard Worker  if (build_with_chromium) {
1221*d9f75844SAndroid Build Coastguard Worker    include_dirs = [ "../../boringssl/src/include" ]
1222*d9f75844SAndroid Build Coastguard Worker  } else {
1223*d9f75844SAndroid Build Coastguard Worker    sources += [
1224*d9f75844SAndroid Build Coastguard Worker      "log_sinks.cc",
1225*d9f75844SAndroid Build Coastguard Worker      "log_sinks.h",
1226*d9f75844SAndroid Build Coastguard Worker      "rolling_accumulator.h",
1227*d9f75844SAndroid Build Coastguard Worker      "ssl_roots.h",
1228*d9f75844SAndroid Build Coastguard Worker    ]
1229*d9f75844SAndroid Build Coastguard Worker
1230*d9f75844SAndroid Build Coastguard Worker    deps += [ ":rtc_numerics" ]
1231*d9f75844SAndroid Build Coastguard Worker
1232*d9f75844SAndroid Build Coastguard Worker    if (is_win) {
1233*d9f75844SAndroid Build Coastguard Worker      sources += [ "win32_socket_init.h" ]
1234*d9f75844SAndroid Build Coastguard Worker    }
1235*d9f75844SAndroid Build Coastguard Worker  }  # !build_with_chromium
1236*d9f75844SAndroid Build Coastguard Worker
1237*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_ssl) {
1238*d9f75844SAndroid Build Coastguard Worker    deps += [ "//third_party/boringssl" ]
1239*d9f75844SAndroid Build Coastguard Worker  } else {
1240*d9f75844SAndroid Build Coastguard Worker    configs += [ ":external_ssl_library" ]
1241*d9f75844SAndroid Build Coastguard Worker  }
1242*d9f75844SAndroid Build Coastguard Worker
1243*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
1244*d9f75844SAndroid Build Coastguard Worker    deps += [ ":ifaddrs_android" ]
1245*d9f75844SAndroid Build Coastguard Worker  }
1246*d9f75844SAndroid Build Coastguard Worker
1247*d9f75844SAndroid Build Coastguard Worker  if (is_ios || is_mac) {
1248*d9f75844SAndroid Build Coastguard Worker    sources += [ "mac_ifaddrs_converter.cc" ]
1249*d9f75844SAndroid Build Coastguard Worker  }
1250*d9f75844SAndroid Build Coastguard Worker
1251*d9f75844SAndroid Build Coastguard Worker  if (is_linux || is_chromeos) {
1252*d9f75844SAndroid Build Coastguard Worker    libs += [
1253*d9f75844SAndroid Build Coastguard Worker      "dl",
1254*d9f75844SAndroid Build Coastguard Worker      "rt",
1255*d9f75844SAndroid Build Coastguard Worker    ]
1256*d9f75844SAndroid Build Coastguard Worker  }
1257*d9f75844SAndroid Build Coastguard Worker
1258*d9f75844SAndroid Build Coastguard Worker  if (is_ios) {
1259*d9f75844SAndroid Build Coastguard Worker    frameworks = [
1260*d9f75844SAndroid Build Coastguard Worker      "CFNetwork.framework",
1261*d9f75844SAndroid Build Coastguard Worker      "Foundation.framework",
1262*d9f75844SAndroid Build Coastguard Worker      "Security.framework",
1263*d9f75844SAndroid Build Coastguard Worker      "SystemConfiguration.framework",
1264*d9f75844SAndroid Build Coastguard Worker      "UIKit.framework",
1265*d9f75844SAndroid Build Coastguard Worker    ]
1266*d9f75844SAndroid Build Coastguard Worker  }
1267*d9f75844SAndroid Build Coastguard Worker
1268*d9f75844SAndroid Build Coastguard Worker  if (is_win) {
1269*d9f75844SAndroid Build Coastguard Worker    deps += [ ":win32" ]
1270*d9f75844SAndroid Build Coastguard Worker  }
1271*d9f75844SAndroid Build Coastguard Worker
1272*d9f75844SAndroid Build Coastguard Worker  if (is_posix || is_fuchsia) {
1273*d9f75844SAndroid Build Coastguard Worker    sources += [
1274*d9f75844SAndroid Build Coastguard Worker      "ifaddrs_converter.cc",
1275*d9f75844SAndroid Build Coastguard Worker      "ifaddrs_converter.h",
1276*d9f75844SAndroid Build Coastguard Worker    ]
1277*d9f75844SAndroid Build Coastguard Worker  }
1278*d9f75844SAndroid Build Coastguard Worker
1279*d9f75844SAndroid Build Coastguard Worker  if (is_nacl) {
1280*d9f75844SAndroid Build Coastguard Worker    public_deps +=  # no-presubmit-check TODO(webrtc:8603)
1281*d9f75844SAndroid Build Coastguard Worker        [ "//native_client_sdk/src/libraries/nacl_io" ]
1282*d9f75844SAndroid Build Coastguard Worker
1283*d9f75844SAndroid Build Coastguard Worker    defines += [ "timezone=_timezone" ]
1284*d9f75844SAndroid Build Coastguard Worker    sources -= [ "ifaddrs_converter.cc" ]
1285*d9f75844SAndroid Build Coastguard Worker  }
1286*d9f75844SAndroid Build Coastguard Worker}
1287*d9f75844SAndroid Build Coastguard Worker
1288*d9f75844SAndroid Build Coastguard Workerrtc_source_set("gtest_prod") {
1289*d9f75844SAndroid Build Coastguard Worker  sources = [ "gtest_prod_util.h" ]
1290*d9f75844SAndroid Build Coastguard Worker}
1291*d9f75844SAndroid Build Coastguard Worker
1292*d9f75844SAndroid Build Coastguard Workerrtc_library("gunit_helpers") {
1293*d9f75844SAndroid Build Coastguard Worker  testonly = true
1294*d9f75844SAndroid Build Coastguard Worker  sources = [
1295*d9f75844SAndroid Build Coastguard Worker    "gunit.cc",
1296*d9f75844SAndroid Build Coastguard Worker    "gunit.h",
1297*d9f75844SAndroid Build Coastguard Worker  ]
1298*d9f75844SAndroid Build Coastguard Worker  deps = [
1299*d9f75844SAndroid Build Coastguard Worker    ":logging",
1300*d9f75844SAndroid Build Coastguard Worker    ":rtc_base",
1301*d9f75844SAndroid Build Coastguard Worker    ":rtc_base_tests_utils",
1302*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
1303*d9f75844SAndroid Build Coastguard Worker    ":threading",
1304*d9f75844SAndroid Build Coastguard Worker    "../test:test_support",
1305*d9f75844SAndroid Build Coastguard Worker  ]
1306*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
1307*d9f75844SAndroid Build Coastguard Worker}
1308*d9f75844SAndroid Build Coastguard Worker
1309*d9f75844SAndroid Build Coastguard Workerrtc_library("testclient") {
1310*d9f75844SAndroid Build Coastguard Worker  testonly = true
1311*d9f75844SAndroid Build Coastguard Worker  sources = [
1312*d9f75844SAndroid Build Coastguard Worker    "test_client.cc",
1313*d9f75844SAndroid Build Coastguard Worker    "test_client.h",
1314*d9f75844SAndroid Build Coastguard Worker  ]
1315*d9f75844SAndroid Build Coastguard Worker  deps = [
1316*d9f75844SAndroid Build Coastguard Worker    ":gunit_helpers",
1317*d9f75844SAndroid Build Coastguard Worker    ":rtc_base",
1318*d9f75844SAndroid Build Coastguard Worker    ":rtc_base_tests_utils",
1319*d9f75844SAndroid Build Coastguard Worker    ":threading",
1320*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
1321*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
1322*d9f75844SAndroid Build Coastguard Worker  ]
1323*d9f75844SAndroid Build Coastguard Worker}
1324*d9f75844SAndroid Build Coastguard Worker
1325*d9f75844SAndroid Build Coastguard Workerrtc_library("callback_list_unittests") {
1326*d9f75844SAndroid Build Coastguard Worker  testonly = true
1327*d9f75844SAndroid Build Coastguard Worker
1328*d9f75844SAndroid Build Coastguard Worker  sources = [ "callback_list_unittest.cc" ]
1329*d9f75844SAndroid Build Coastguard Worker  deps = [
1330*d9f75844SAndroid Build Coastguard Worker    ":callback_list",
1331*d9f75844SAndroid Build Coastguard Worker    ":gunit_helpers",
1332*d9f75844SAndroid Build Coastguard Worker    ":rtc_base",
1333*d9f75844SAndroid Build Coastguard Worker    "../api:function_view",
1334*d9f75844SAndroid Build Coastguard Worker    "../test:test_support",
1335*d9f75844SAndroid Build Coastguard Worker  ]
1336*d9f75844SAndroid Build Coastguard Worker}
1337*d9f75844SAndroid Build Coastguard Worker
1338*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_base_tests_utils") {
1339*d9f75844SAndroid Build Coastguard Worker  testonly = true
1340*d9f75844SAndroid Build Coastguard Worker  sources = [
1341*d9f75844SAndroid Build Coastguard Worker    "cpu_time.cc",
1342*d9f75844SAndroid Build Coastguard Worker    "cpu_time.h",
1343*d9f75844SAndroid Build Coastguard Worker    "fake_clock.cc",
1344*d9f75844SAndroid Build Coastguard Worker    "fake_clock.h",
1345*d9f75844SAndroid Build Coastguard Worker    "fake_mdns_responder.h",
1346*d9f75844SAndroid Build Coastguard Worker    "fake_network.h",
1347*d9f75844SAndroid Build Coastguard Worker    "fake_ssl_identity.cc",
1348*d9f75844SAndroid Build Coastguard Worker    "fake_ssl_identity.h",
1349*d9f75844SAndroid Build Coastguard Worker    "firewall_socket_server.cc",
1350*d9f75844SAndroid Build Coastguard Worker    "firewall_socket_server.h",
1351*d9f75844SAndroid Build Coastguard Worker    "memory_stream.cc",
1352*d9f75844SAndroid Build Coastguard Worker    "memory_stream.h",
1353*d9f75844SAndroid Build Coastguard Worker    "memory_usage.cc",
1354*d9f75844SAndroid Build Coastguard Worker    "memory_usage.h",
1355*d9f75844SAndroid Build Coastguard Worker    "nat_server.cc",
1356*d9f75844SAndroid Build Coastguard Worker    "nat_server.h",
1357*d9f75844SAndroid Build Coastguard Worker    "nat_socket_factory.cc",
1358*d9f75844SAndroid Build Coastguard Worker    "nat_socket_factory.h",
1359*d9f75844SAndroid Build Coastguard Worker    "nat_types.cc",
1360*d9f75844SAndroid Build Coastguard Worker    "nat_types.h",
1361*d9f75844SAndroid Build Coastguard Worker    "proxy_server.cc",
1362*d9f75844SAndroid Build Coastguard Worker    "proxy_server.h",
1363*d9f75844SAndroid Build Coastguard Worker    "server_socket_adapters.cc",
1364*d9f75844SAndroid Build Coastguard Worker    "server_socket_adapters.h",
1365*d9f75844SAndroid Build Coastguard Worker    "sigslot_tester.h",
1366*d9f75844SAndroid Build Coastguard Worker    "socket_stream.cc",
1367*d9f75844SAndroid Build Coastguard Worker    "socket_stream.h",
1368*d9f75844SAndroid Build Coastguard Worker    "test_base64.h",
1369*d9f75844SAndroid Build Coastguard Worker    "test_certificate_verifier.h",
1370*d9f75844SAndroid Build Coastguard Worker    "test_echo_server.cc",
1371*d9f75844SAndroid Build Coastguard Worker    "test_echo_server.h",
1372*d9f75844SAndroid Build Coastguard Worker    "test_utils.cc",
1373*d9f75844SAndroid Build Coastguard Worker    "test_utils.h",
1374*d9f75844SAndroid Build Coastguard Worker    "virtual_socket_server.cc",
1375*d9f75844SAndroid Build Coastguard Worker    "virtual_socket_server.h",
1376*d9f75844SAndroid Build Coastguard Worker  ]
1377*d9f75844SAndroid Build Coastguard Worker  deps = [
1378*d9f75844SAndroid Build Coastguard Worker    ":async_socket",
1379*d9f75844SAndroid Build Coastguard Worker    ":byte_buffer",
1380*d9f75844SAndroid Build Coastguard Worker    ":checks",
1381*d9f75844SAndroid Build Coastguard Worker    ":ip_address",
1382*d9f75844SAndroid Build Coastguard Worker    ":logging",
1383*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
1384*d9f75844SAndroid Build Coastguard Worker    ":rtc_base",
1385*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
1386*d9f75844SAndroid Build Coastguard Worker    ":socket",
1387*d9f75844SAndroid Build Coastguard Worker    ":socket_address",
1388*d9f75844SAndroid Build Coastguard Worker    ":socket_factory",
1389*d9f75844SAndroid Build Coastguard Worker    ":socket_server",
1390*d9f75844SAndroid Build Coastguard Worker    ":stringutils",
1391*d9f75844SAndroid Build Coastguard Worker    ":threading",
1392*d9f75844SAndroid Build Coastguard Worker    ":timeutils",
1393*d9f75844SAndroid Build Coastguard Worker    "../api:make_ref_counted",
1394*d9f75844SAndroid Build Coastguard Worker    "../api:refcountedbase",
1395*d9f75844SAndroid Build Coastguard Worker    "../api:scoped_refptr",
1396*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
1397*d9f75844SAndroid Build Coastguard Worker    "../api/units:time_delta",
1398*d9f75844SAndroid Build Coastguard Worker    "../api/units:timestamp",
1399*d9f75844SAndroid Build Coastguard Worker    "../test:scoped_key_value_config",
1400*d9f75844SAndroid Build Coastguard Worker    "memory:always_valid_pointer",
1401*d9f75844SAndroid Build Coastguard Worker    "memory:fifo_buffer",
1402*d9f75844SAndroid Build Coastguard Worker    "synchronization:mutex",
1403*d9f75844SAndroid Build Coastguard Worker    "third_party/sigslot",
1404*d9f75844SAndroid Build Coastguard Worker  ]
1405*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
1406*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
1407*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
1408*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
1409*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
1410*d9f75844SAndroid Build Coastguard Worker  ]
1411*d9f75844SAndroid Build Coastguard Worker}
1412*d9f75844SAndroid Build Coastguard Worker
1413*d9f75844SAndroid Build Coastguard Workerrtc_library("task_queue_for_test") {
1414*d9f75844SAndroid Build Coastguard Worker  testonly = true
1415*d9f75844SAndroid Build Coastguard Worker
1416*d9f75844SAndroid Build Coastguard Worker  sources = [
1417*d9f75844SAndroid Build Coastguard Worker    "task_queue_for_test.cc",
1418*d9f75844SAndroid Build Coastguard Worker    "task_queue_for_test.h",
1419*d9f75844SAndroid Build Coastguard Worker  ]
1420*d9f75844SAndroid Build Coastguard Worker  deps = [
1421*d9f75844SAndroid Build Coastguard Worker    ":checks",
1422*d9f75844SAndroid Build Coastguard Worker    ":macromagic",
1423*d9f75844SAndroid Build Coastguard Worker    ":rtc_event",
1424*d9f75844SAndroid Build Coastguard Worker    ":rtc_task_queue",
1425*d9f75844SAndroid Build Coastguard Worker    "../api:function_view",
1426*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue",
1427*d9f75844SAndroid Build Coastguard Worker    "../api/task_queue:default_task_queue_factory",
1428*d9f75844SAndroid Build Coastguard Worker  ]
1429*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
1430*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/cleanup",
1431*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
1432*d9f75844SAndroid Build Coastguard Worker  ]
1433*d9f75844SAndroid Build Coastguard Worker}
1434*d9f75844SAndroid Build Coastguard Worker
1435*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
1436*d9f75844SAndroid Build Coastguard Worker  rtc_library("sigslot_unittest") {
1437*d9f75844SAndroid Build Coastguard Worker    testonly = true
1438*d9f75844SAndroid Build Coastguard Worker    sources = [ "sigslot_unittest.cc" ]
1439*d9f75844SAndroid Build Coastguard Worker    deps = [
1440*d9f75844SAndroid Build Coastguard Worker      ":gunit_helpers",
1441*d9f75844SAndroid Build Coastguard Worker      ":rtc_base",
1442*d9f75844SAndroid Build Coastguard Worker      ":rtc_base_tests_utils",
1443*d9f75844SAndroid Build Coastguard Worker      "../test:test_support",
1444*d9f75844SAndroid Build Coastguard Worker      "synchronization:mutex",
1445*d9f75844SAndroid Build Coastguard Worker      "third_party/sigslot",
1446*d9f75844SAndroid Build Coastguard Worker    ]
1447*d9f75844SAndroid Build Coastguard Worker  }
1448*d9f75844SAndroid Build Coastguard Worker
1449*d9f75844SAndroid Build Coastguard Worker  rtc_library("untyped_function_unittest") {
1450*d9f75844SAndroid Build Coastguard Worker    testonly = true
1451*d9f75844SAndroid Build Coastguard Worker    sources = [ "untyped_function_unittest.cc" ]
1452*d9f75844SAndroid Build Coastguard Worker    deps = [
1453*d9f75844SAndroid Build Coastguard Worker      ":untyped_function",
1454*d9f75844SAndroid Build Coastguard Worker      "../test:test_support",
1455*d9f75844SAndroid Build Coastguard Worker    ]
1456*d9f75844SAndroid Build Coastguard Worker  }
1457*d9f75844SAndroid Build Coastguard Worker
1458*d9f75844SAndroid Build Coastguard Worker  rtc_library("rtc_operations_chain_unittests") {
1459*d9f75844SAndroid Build Coastguard Worker    testonly = true
1460*d9f75844SAndroid Build Coastguard Worker
1461*d9f75844SAndroid Build Coastguard Worker    sources = [ "operations_chain_unittest.cc" ]
1462*d9f75844SAndroid Build Coastguard Worker    deps = [
1463*d9f75844SAndroid Build Coastguard Worker      ":gunit_helpers",
1464*d9f75844SAndroid Build Coastguard Worker      ":rtc_base",
1465*d9f75844SAndroid Build Coastguard Worker      ":rtc_event",
1466*d9f75844SAndroid Build Coastguard Worker      ":rtc_operations_chain",
1467*d9f75844SAndroid Build Coastguard Worker      ":threading",
1468*d9f75844SAndroid Build Coastguard Worker      "../test:test_support",
1469*d9f75844SAndroid Build Coastguard Worker    ]
1470*d9f75844SAndroid Build Coastguard Worker  }
1471*d9f75844SAndroid Build Coastguard Worker
1472*d9f75844SAndroid Build Coastguard Worker  if (!build_with_chromium) {
1473*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_base_nonparallel_tests") {
1474*d9f75844SAndroid Build Coastguard Worker      testonly = true
1475*d9f75844SAndroid Build Coastguard Worker
1476*d9f75844SAndroid Build Coastguard Worker      sources = [
1477*d9f75844SAndroid Build Coastguard Worker        "cpu_time_unittest.cc",
1478*d9f75844SAndroid Build Coastguard Worker        "file_rotating_stream_unittest.cc",
1479*d9f75844SAndroid Build Coastguard Worker        "null_socket_server_unittest.cc",
1480*d9f75844SAndroid Build Coastguard Worker        "physical_socket_server_unittest.cc",
1481*d9f75844SAndroid Build Coastguard Worker        "socket_address_unittest.cc",
1482*d9f75844SAndroid Build Coastguard Worker        "socket_unittest.cc",
1483*d9f75844SAndroid Build Coastguard Worker        "socket_unittest.h",
1484*d9f75844SAndroid Build Coastguard Worker      ]
1485*d9f75844SAndroid Build Coastguard Worker      deps = [
1486*d9f75844SAndroid Build Coastguard Worker        ":buffer",
1487*d9f75844SAndroid Build Coastguard Worker        ":checks",
1488*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1489*d9f75844SAndroid Build Coastguard Worker        ":ip_address",
1490*d9f75844SAndroid Build Coastguard Worker        ":logging",
1491*d9f75844SAndroid Build Coastguard Worker        ":macromagic",
1492*d9f75844SAndroid Build Coastguard Worker        ":net_helpers",
1493*d9f75844SAndroid Build Coastguard Worker        ":null_socket_server",
1494*d9f75844SAndroid Build Coastguard Worker        ":platform_thread",
1495*d9f75844SAndroid Build Coastguard Worker        ":rtc_base",
1496*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1497*d9f75844SAndroid Build Coastguard Worker        ":socket",
1498*d9f75844SAndroid Build Coastguard Worker        ":socket_address",
1499*d9f75844SAndroid Build Coastguard Worker        ":socket_server",
1500*d9f75844SAndroid Build Coastguard Worker        ":testclient",
1501*d9f75844SAndroid Build Coastguard Worker        ":threading",
1502*d9f75844SAndroid Build Coastguard Worker        ":timeutils",
1503*d9f75844SAndroid Build Coastguard Worker        "../api/units:time_delta",
1504*d9f75844SAndroid Build Coastguard Worker        "../system_wrappers",
1505*d9f75844SAndroid Build Coastguard Worker        "../test:field_trial",
1506*d9f75844SAndroid Build Coastguard Worker        "../test:fileutils",
1507*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1508*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1509*d9f75844SAndroid Build Coastguard Worker        "third_party/sigslot",
1510*d9f75844SAndroid Build Coastguard Worker        "//testing/gtest",
1511*d9f75844SAndroid Build Coastguard Worker      ]
1512*d9f75844SAndroid Build Coastguard Worker      absl_deps = [
1513*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/memory",
1514*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/strings",
1515*d9f75844SAndroid Build Coastguard Worker      ]
1516*d9f75844SAndroid Build Coastguard Worker    }
1517*d9f75844SAndroid Build Coastguard Worker
1518*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_base_approved_unittests") {
1519*d9f75844SAndroid Build Coastguard Worker      testonly = true
1520*d9f75844SAndroid Build Coastguard Worker      sources = [
1521*d9f75844SAndroid Build Coastguard Worker        "base64_unittest.cc",
1522*d9f75844SAndroid Build Coastguard Worker        "bit_buffer_unittest.cc",
1523*d9f75844SAndroid Build Coastguard Worker        "bitstream_reader_unittest.cc",
1524*d9f75844SAndroid Build Coastguard Worker        "bounded_inline_vector_unittest.cc",
1525*d9f75844SAndroid Build Coastguard Worker        "buffer_queue_unittest.cc",
1526*d9f75844SAndroid Build Coastguard Worker        "buffer_unittest.cc",
1527*d9f75844SAndroid Build Coastguard Worker        "byte_buffer_unittest.cc",
1528*d9f75844SAndroid Build Coastguard Worker        "byte_order_unittest.cc",
1529*d9f75844SAndroid Build Coastguard Worker        "checks_unittest.cc",
1530*d9f75844SAndroid Build Coastguard Worker        "copy_on_write_buffer_unittest.cc",
1531*d9f75844SAndroid Build Coastguard Worker        "deprecated/recursive_critical_section_unittest.cc",
1532*d9f75844SAndroid Build Coastguard Worker        "event_tracer_unittest.cc",
1533*d9f75844SAndroid Build Coastguard Worker        "event_unittest.cc",
1534*d9f75844SAndroid Build Coastguard Worker        "logging_unittest.cc",
1535*d9f75844SAndroid Build Coastguard Worker        "numerics/divide_round_unittest.cc",
1536*d9f75844SAndroid Build Coastguard Worker        "numerics/histogram_percentile_counter_unittest.cc",
1537*d9f75844SAndroid Build Coastguard Worker        "numerics/mod_ops_unittest.cc",
1538*d9f75844SAndroid Build Coastguard Worker        "numerics/moving_max_counter_unittest.cc",
1539*d9f75844SAndroid Build Coastguard Worker        "numerics/safe_compare_unittest.cc",
1540*d9f75844SAndroid Build Coastguard Worker        "numerics/safe_minmax_unittest.cc",
1541*d9f75844SAndroid Build Coastguard Worker        "numerics/sample_counter_unittest.cc",
1542*d9f75844SAndroid Build Coastguard Worker        "one_time_event_unittest.cc",
1543*d9f75844SAndroid Build Coastguard Worker        "platform_thread_unittest.cc",
1544*d9f75844SAndroid Build Coastguard Worker        "random_unittest.cc",
1545*d9f75844SAndroid Build Coastguard Worker        "rate_limiter_unittest.cc",
1546*d9f75844SAndroid Build Coastguard Worker        "rate_statistics_unittest.cc",
1547*d9f75844SAndroid Build Coastguard Worker        "rate_tracker_unittest.cc",
1548*d9f75844SAndroid Build Coastguard Worker        "ref_counted_object_unittest.cc",
1549*d9f75844SAndroid Build Coastguard Worker        "sanitizer_unittest.cc",
1550*d9f75844SAndroid Build Coastguard Worker        "string_encode_unittest.cc",
1551*d9f75844SAndroid Build Coastguard Worker        "string_to_number_unittest.cc",
1552*d9f75844SAndroid Build Coastguard Worker        "string_utils_unittest.cc",
1553*d9f75844SAndroid Build Coastguard Worker        "strings/string_builder_unittest.cc",
1554*d9f75844SAndroid Build Coastguard Worker        "strings/string_format_unittest.cc",
1555*d9f75844SAndroid Build Coastguard Worker        "strong_alias_unittest.cc",
1556*d9f75844SAndroid Build Coastguard Worker        "swap_queue_unittest.cc",
1557*d9f75844SAndroid Build Coastguard Worker        "thread_annotations_unittest.cc",
1558*d9f75844SAndroid Build Coastguard Worker        "time_utils_unittest.cc",
1559*d9f75844SAndroid Build Coastguard Worker        "timestamp_aligner_unittest.cc",
1560*d9f75844SAndroid Build Coastguard Worker        "virtual_socket_unittest.cc",
1561*d9f75844SAndroid Build Coastguard Worker        "zero_memory_unittest.cc",
1562*d9f75844SAndroid Build Coastguard Worker      ]
1563*d9f75844SAndroid Build Coastguard Worker      deps = [
1564*d9f75844SAndroid Build Coastguard Worker        ":bit_buffer",
1565*d9f75844SAndroid Build Coastguard Worker        ":bitstream_reader",
1566*d9f75844SAndroid Build Coastguard Worker        ":bounded_inline_vector",
1567*d9f75844SAndroid Build Coastguard Worker        ":buffer",
1568*d9f75844SAndroid Build Coastguard Worker        ":buffer_queue",
1569*d9f75844SAndroid Build Coastguard Worker        ":byte_buffer",
1570*d9f75844SAndroid Build Coastguard Worker        ":byte_order",
1571*d9f75844SAndroid Build Coastguard Worker        ":checks",
1572*d9f75844SAndroid Build Coastguard Worker        ":copy_on_write_buffer",
1573*d9f75844SAndroid Build Coastguard Worker        ":criticalsection",
1574*d9f75844SAndroid Build Coastguard Worker        ":divide_round",
1575*d9f75844SAndroid Build Coastguard Worker        ":event_tracer",
1576*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1577*d9f75844SAndroid Build Coastguard Worker        ":histogram_percentile_counter",
1578*d9f75844SAndroid Build Coastguard Worker        ":ip_address",
1579*d9f75844SAndroid Build Coastguard Worker        ":logging",
1580*d9f75844SAndroid Build Coastguard Worker        ":macromagic",
1581*d9f75844SAndroid Build Coastguard Worker        ":mod_ops",
1582*d9f75844SAndroid Build Coastguard Worker        ":moving_max_counter",
1583*d9f75844SAndroid Build Coastguard Worker        ":null_socket_server",
1584*d9f75844SAndroid Build Coastguard Worker        ":one_time_event",
1585*d9f75844SAndroid Build Coastguard Worker        ":platform_thread",
1586*d9f75844SAndroid Build Coastguard Worker        ":random",
1587*d9f75844SAndroid Build Coastguard Worker        ":rate_limiter",
1588*d9f75844SAndroid Build Coastguard Worker        ":rate_statistics",
1589*d9f75844SAndroid Build Coastguard Worker        ":rate_tracker",
1590*d9f75844SAndroid Build Coastguard Worker        ":refcount",
1591*d9f75844SAndroid Build Coastguard Worker        ":rtc_base",
1592*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1593*d9f75844SAndroid Build Coastguard Worker        ":rtc_event",
1594*d9f75844SAndroid Build Coastguard Worker        ":rtc_numerics",
1595*d9f75844SAndroid Build Coastguard Worker        ":rtc_task_queue",
1596*d9f75844SAndroid Build Coastguard Worker        ":safe_compare",
1597*d9f75844SAndroid Build Coastguard Worker        ":safe_minmax",
1598*d9f75844SAndroid Build Coastguard Worker        ":sample_counter",
1599*d9f75844SAndroid Build Coastguard Worker        ":sanitizer",
1600*d9f75844SAndroid Build Coastguard Worker        ":socket",
1601*d9f75844SAndroid Build Coastguard Worker        ":socket_address",
1602*d9f75844SAndroid Build Coastguard Worker        ":socket_server",
1603*d9f75844SAndroid Build Coastguard Worker        ":stringutils",
1604*d9f75844SAndroid Build Coastguard Worker        ":strong_alias",
1605*d9f75844SAndroid Build Coastguard Worker        ":swap_queue",
1606*d9f75844SAndroid Build Coastguard Worker        ":testclient",
1607*d9f75844SAndroid Build Coastguard Worker        ":threading",
1608*d9f75844SAndroid Build Coastguard Worker        ":timestamp_aligner",
1609*d9f75844SAndroid Build Coastguard Worker        ":timeutils",
1610*d9f75844SAndroid Build Coastguard Worker        ":zero_memory",
1611*d9f75844SAndroid Build Coastguard Worker        "../api:array_view",
1612*d9f75844SAndroid Build Coastguard Worker        "../api:make_ref_counted",
1613*d9f75844SAndroid Build Coastguard Worker        "../api:scoped_refptr",
1614*d9f75844SAndroid Build Coastguard Worker        "../api/numerics",
1615*d9f75844SAndroid Build Coastguard Worker        "../api/units:time_delta",
1616*d9f75844SAndroid Build Coastguard Worker        "../system_wrappers",
1617*d9f75844SAndroid Build Coastguard Worker        "../test:fileutils",
1618*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1619*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1620*d9f75844SAndroid Build Coastguard Worker        "containers:flat_map",
1621*d9f75844SAndroid Build Coastguard Worker        "containers:unittests",
1622*d9f75844SAndroid Build Coastguard Worker        "memory:unittests",
1623*d9f75844SAndroid Build Coastguard Worker        "synchronization:mutex",
1624*d9f75844SAndroid Build Coastguard Worker        "task_utils:repeating_task",
1625*d9f75844SAndroid Build Coastguard Worker        "third_party/base64",
1626*d9f75844SAndroid Build Coastguard Worker        "third_party/sigslot",
1627*d9f75844SAndroid Build Coastguard Worker      ]
1628*d9f75844SAndroid Build Coastguard Worker      absl_deps = [
1629*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/base:core_headers",
1630*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/memory",
1631*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/numeric:bits",
1632*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/strings",
1633*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/types:optional",
1634*d9f75844SAndroid Build Coastguard Worker      ]
1635*d9f75844SAndroid Build Coastguard Worker
1636*d9f75844SAndroid Build Coastguard Worker      if (is_win) {
1637*d9f75844SAndroid Build Coastguard Worker        deps += [ "win:windows_version_unittest" ]
1638*d9f75844SAndroid Build Coastguard Worker      }
1639*d9f75844SAndroid Build Coastguard Worker    }
1640*d9f75844SAndroid Build Coastguard Worker
1641*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_task_queue_unittests") {
1642*d9f75844SAndroid Build Coastguard Worker      testonly = true
1643*d9f75844SAndroid Build Coastguard Worker
1644*d9f75844SAndroid Build Coastguard Worker      sources = [ "task_queue_unittest.cc" ]
1645*d9f75844SAndroid Build Coastguard Worker      deps = [
1646*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1647*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1648*d9f75844SAndroid Build Coastguard Worker        ":rtc_event",
1649*d9f75844SAndroid Build Coastguard Worker        ":rtc_task_queue",
1650*d9f75844SAndroid Build Coastguard Worker        ":task_queue_for_test",
1651*d9f75844SAndroid Build Coastguard Worker        ":timeutils",
1652*d9f75844SAndroid Build Coastguard Worker        "../api/units:time_delta",
1653*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1654*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1655*d9f75844SAndroid Build Coastguard Worker      ]
1656*d9f75844SAndroid Build Coastguard Worker      absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
1657*d9f75844SAndroid Build Coastguard Worker    }
1658*d9f75844SAndroid Build Coastguard Worker
1659*d9f75844SAndroid Build Coastguard Worker    rtc_library("weak_ptr_unittests") {
1660*d9f75844SAndroid Build Coastguard Worker      testonly = true
1661*d9f75844SAndroid Build Coastguard Worker
1662*d9f75844SAndroid Build Coastguard Worker      sources = [ "weak_ptr_unittest.cc" ]
1663*d9f75844SAndroid Build Coastguard Worker      deps = [
1664*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1665*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1666*d9f75844SAndroid Build Coastguard Worker        ":rtc_event",
1667*d9f75844SAndroid Build Coastguard Worker        ":task_queue_for_test",
1668*d9f75844SAndroid Build Coastguard Worker        ":weak_ptr",
1669*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1670*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1671*d9f75844SAndroid Build Coastguard Worker      ]
1672*d9f75844SAndroid Build Coastguard Worker    }
1673*d9f75844SAndroid Build Coastguard Worker
1674*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_numerics_unittests") {
1675*d9f75844SAndroid Build Coastguard Worker      testonly = true
1676*d9f75844SAndroid Build Coastguard Worker
1677*d9f75844SAndroid Build Coastguard Worker      sources = [
1678*d9f75844SAndroid Build Coastguard Worker        "numerics/event_based_exponential_moving_average_unittest.cc",
1679*d9f75844SAndroid Build Coastguard Worker        "numerics/exp_filter_unittest.cc",
1680*d9f75844SAndroid Build Coastguard Worker        "numerics/moving_average_unittest.cc",
1681*d9f75844SAndroid Build Coastguard Worker        "numerics/moving_percentile_filter_unittest.cc",
1682*d9f75844SAndroid Build Coastguard Worker        "numerics/percentile_filter_unittest.cc",
1683*d9f75844SAndroid Build Coastguard Worker        "numerics/running_statistics_unittest.cc",
1684*d9f75844SAndroid Build Coastguard Worker        "numerics/sequence_number_util_unittest.cc",
1685*d9f75844SAndroid Build Coastguard Worker      ]
1686*d9f75844SAndroid Build Coastguard Worker      deps = [
1687*d9f75844SAndroid Build Coastguard Worker        ":rtc_numerics",
1688*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1689*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1690*d9f75844SAndroid Build Coastguard Worker      ]
1691*d9f75844SAndroid Build Coastguard Worker      absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
1692*d9f75844SAndroid Build Coastguard Worker    }
1693*d9f75844SAndroid Build Coastguard Worker
1694*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_json_unittests") {
1695*d9f75844SAndroid Build Coastguard Worker      testonly = true
1696*d9f75844SAndroid Build Coastguard Worker
1697*d9f75844SAndroid Build Coastguard Worker      sources = [ "strings/json_unittest.cc" ]
1698*d9f75844SAndroid Build Coastguard Worker      deps = [
1699*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1700*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1701*d9f75844SAndroid Build Coastguard Worker        ":rtc_json",
1702*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1703*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1704*d9f75844SAndroid Build Coastguard Worker      ]
1705*d9f75844SAndroid Build Coastguard Worker    }
1706*d9f75844SAndroid Build Coastguard Worker
1707*d9f75844SAndroid Build Coastguard Worker    rtc_library("rtc_base_unittests") {
1708*d9f75844SAndroid Build Coastguard Worker      testonly = true
1709*d9f75844SAndroid Build Coastguard Worker      defines = []
1710*d9f75844SAndroid Build Coastguard Worker
1711*d9f75844SAndroid Build Coastguard Worker      sources = [
1712*d9f75844SAndroid Build Coastguard Worker        "crc32_unittest.cc",
1713*d9f75844SAndroid Build Coastguard Worker        "data_rate_limiter_unittest.cc",
1714*d9f75844SAndroid Build Coastguard Worker        "fake_clock_unittest.cc",
1715*d9f75844SAndroid Build Coastguard Worker        "helpers_unittest.cc",
1716*d9f75844SAndroid Build Coastguard Worker        "ip_address_unittest.cc",
1717*d9f75844SAndroid Build Coastguard Worker        "memory_usage_unittest.cc",
1718*d9f75844SAndroid Build Coastguard Worker        "message_digest_unittest.cc",
1719*d9f75844SAndroid Build Coastguard Worker        "nat_unittest.cc",
1720*d9f75844SAndroid Build Coastguard Worker        "network_route_unittest.cc",
1721*d9f75844SAndroid Build Coastguard Worker        "network_unittest.cc",
1722*d9f75844SAndroid Build Coastguard Worker        "proxy_unittest.cc",
1723*d9f75844SAndroid Build Coastguard Worker        "rolling_accumulator_unittest.cc",
1724*d9f75844SAndroid Build Coastguard Worker        "rtc_certificate_generator_unittest.cc",
1725*d9f75844SAndroid Build Coastguard Worker        "rtc_certificate_unittest.cc",
1726*d9f75844SAndroid Build Coastguard Worker        "sigslot_tester_unittest.cc",
1727*d9f75844SAndroid Build Coastguard Worker        "test_client_unittest.cc",
1728*d9f75844SAndroid Build Coastguard Worker        "thread_unittest.cc",
1729*d9f75844SAndroid Build Coastguard Worker        "unique_id_generator_unittest.cc",
1730*d9f75844SAndroid Build Coastguard Worker      ]
1731*d9f75844SAndroid Build Coastguard Worker      deps = [
1732*d9f75844SAndroid Build Coastguard Worker        ":buffer",
1733*d9f75844SAndroid Build Coastguard Worker        ":buffer_queue",
1734*d9f75844SAndroid Build Coastguard Worker        ":checks",
1735*d9f75844SAndroid Build Coastguard Worker        ":gunit_helpers",
1736*d9f75844SAndroid Build Coastguard Worker        ":ip_address",
1737*d9f75844SAndroid Build Coastguard Worker        ":logging",
1738*d9f75844SAndroid Build Coastguard Worker        ":macromagic",
1739*d9f75844SAndroid Build Coastguard Worker        ":net_helpers",
1740*d9f75844SAndroid Build Coastguard Worker        ":null_socket_server",
1741*d9f75844SAndroid Build Coastguard Worker        ":refcount",
1742*d9f75844SAndroid Build Coastguard Worker        ":rtc_base",
1743*d9f75844SAndroid Build Coastguard Worker        ":rtc_base_tests_utils",
1744*d9f75844SAndroid Build Coastguard Worker        ":rtc_event",
1745*d9f75844SAndroid Build Coastguard Worker        ":safe_conversions",
1746*d9f75844SAndroid Build Coastguard Worker        ":socket",
1747*d9f75844SAndroid Build Coastguard Worker        ":socket_address",
1748*d9f75844SAndroid Build Coastguard Worker        ":socket_factory",
1749*d9f75844SAndroid Build Coastguard Worker        ":socket_server",
1750*d9f75844SAndroid Build Coastguard Worker        ":stringutils",
1751*d9f75844SAndroid Build Coastguard Worker        ":testclient",
1752*d9f75844SAndroid Build Coastguard Worker        ":threading",
1753*d9f75844SAndroid Build Coastguard Worker        ":timeutils",
1754*d9f75844SAndroid Build Coastguard Worker        "../api:array_view",
1755*d9f75844SAndroid Build Coastguard Worker        "../api:field_trials_view",
1756*d9f75844SAndroid Build Coastguard Worker        "../api:make_ref_counted",
1757*d9f75844SAndroid Build Coastguard Worker        "../api/task_queue",
1758*d9f75844SAndroid Build Coastguard Worker        "../api/task_queue:pending_task_safety_flag",
1759*d9f75844SAndroid Build Coastguard Worker        "../api/task_queue:task_queue_test",
1760*d9f75844SAndroid Build Coastguard Worker        "../api/units:time_delta",
1761*d9f75844SAndroid Build Coastguard Worker        "../test:field_trial",
1762*d9f75844SAndroid Build Coastguard Worker        "../test:fileutils",
1763*d9f75844SAndroid Build Coastguard Worker        "../test:rtc_expect_death",
1764*d9f75844SAndroid Build Coastguard Worker        "../test:scoped_key_value_config",
1765*d9f75844SAndroid Build Coastguard Worker        "../test:test_main",
1766*d9f75844SAndroid Build Coastguard Worker        "../test:test_support",
1767*d9f75844SAndroid Build Coastguard Worker        "memory:fifo_buffer",
1768*d9f75844SAndroid Build Coastguard Worker        "synchronization:mutex",
1769*d9f75844SAndroid Build Coastguard Worker        "third_party/sigslot",
1770*d9f75844SAndroid Build Coastguard Worker      ]
1771*d9f75844SAndroid Build Coastguard Worker      if (enable_google_benchmarks) {
1772*d9f75844SAndroid Build Coastguard Worker        deps += [ "synchronization:synchronization_unittests" ]
1773*d9f75844SAndroid Build Coastguard Worker      }
1774*d9f75844SAndroid Build Coastguard Worker      if (is_win) {
1775*d9f75844SAndroid Build Coastguard Worker        sources += [
1776*d9f75844SAndroid Build Coastguard Worker          "win32_unittest.cc",
1777*d9f75844SAndroid Build Coastguard Worker          "win32_window_unittest.cc",
1778*d9f75844SAndroid Build Coastguard Worker        ]
1779*d9f75844SAndroid Build Coastguard Worker        deps += [ ":win32" ]
1780*d9f75844SAndroid Build Coastguard Worker      }
1781*d9f75844SAndroid Build Coastguard Worker      if (is_posix || is_fuchsia) {
1782*d9f75844SAndroid Build Coastguard Worker        sources += [
1783*d9f75844SAndroid Build Coastguard Worker          "openssl_adapter_unittest.cc",
1784*d9f75844SAndroid Build Coastguard Worker          "openssl_session_cache_unittest.cc",
1785*d9f75844SAndroid Build Coastguard Worker          "openssl_utility_unittest.cc",
1786*d9f75844SAndroid Build Coastguard Worker          "ssl_adapter_unittest.cc",
1787*d9f75844SAndroid Build Coastguard Worker          "ssl_identity_unittest.cc",
1788*d9f75844SAndroid Build Coastguard Worker          "ssl_stream_adapter_unittest.cc",
1789*d9f75844SAndroid Build Coastguard Worker        ]
1790*d9f75844SAndroid Build Coastguard Worker      }
1791*d9f75844SAndroid Build Coastguard Worker      absl_deps = [
1792*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/algorithm:container",
1793*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/functional:any_invocable",
1794*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/memory",
1795*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/strings",
1796*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/types:optional",
1797*d9f75844SAndroid Build Coastguard Worker      ]
1798*d9f75844SAndroid Build Coastguard Worker
1799*d9f75844SAndroid Build Coastguard Worker      if (build_with_chromium) {
1800*d9f75844SAndroid Build Coastguard Worker        include_dirs = [ "../../boringssl/src/include" ]
1801*d9f75844SAndroid Build Coastguard Worker      }
1802*d9f75844SAndroid Build Coastguard Worker      if (rtc_build_ssl) {
1803*d9f75844SAndroid Build Coastguard Worker        deps += [ "//third_party/boringssl" ]
1804*d9f75844SAndroid Build Coastguard Worker      } else {
1805*d9f75844SAndroid Build Coastguard Worker        configs += [ ":external_ssl_library" ]
1806*d9f75844SAndroid Build Coastguard Worker      }
1807*d9f75844SAndroid Build Coastguard Worker    }
1808*d9f75844SAndroid Build Coastguard Worker  }
1809*d9f75844SAndroid Build Coastguard Worker}
1810*d9f75844SAndroid Build Coastguard Worker
1811*d9f75844SAndroid Build Coastguard Workerif (is_android) {
1812*d9f75844SAndroid Build Coastguard Worker  rtc_android_library("base_java") {
1813*d9f75844SAndroid Build Coastguard Worker    visibility = [ "*" ]
1814*d9f75844SAndroid Build Coastguard Worker    sources = [
1815*d9f75844SAndroid Build Coastguard Worker      "java/src/org/webrtc/ContextUtils.java",
1816*d9f75844SAndroid Build Coastguard Worker      "java/src/org/webrtc/Loggable.java",
1817*d9f75844SAndroid Build Coastguard Worker      "java/src/org/webrtc/Logging.java",
1818*d9f75844SAndroid Build Coastguard Worker      "java/src/org/webrtc/Size.java",
1819*d9f75844SAndroid Build Coastguard Worker      "java/src/org/webrtc/ThreadUtils.java",
1820*d9f75844SAndroid Build Coastguard Worker    ]
1821*d9f75844SAndroid Build Coastguard Worker    deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
1822*d9f75844SAndroid Build Coastguard Worker  }
1823*d9f75844SAndroid Build Coastguard Worker  java_cpp_enum("network_monitor_enums") {
1824*d9f75844SAndroid Build Coastguard Worker    sources = [ "network_monitor.h" ]
1825*d9f75844SAndroid Build Coastguard Worker    visibility = [ "*" ]
1826*d9f75844SAndroid Build Coastguard Worker  }
1827*d9f75844SAndroid Build Coastguard Worker}
1828