blob: 117c98cb82bd2e46150a22c12b0c8b5ed56cee1d [file] [log] [blame]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
Henrik Kjellander73e21802017-06-20 08:38:58 +02002#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
Henrik Kjellanderc0362762017-06-29 08:03:04 +02009import("//build/config/crypto.gni")
10import("//build/config/ui.gni")
Henrik Kjellander73e21802017-06-20 08:38:58 +020011import("../webrtc.gni")
12
13if (is_android) {
14 import("//build/config/android/config.gni")
15 import("//build/config/android/rules.gni")
16}
Henrik Kjellanderc0362762017-06-29 08:03:04 +020017if (is_win) {
18 import("//build/config/clang/clang.gni")
19}
Henrik Kjellander73e21802017-06-20 08:38:58 +020020
Henrik Kjellanderc0362762017-06-29 08:03:04 +020021group("base") {
22 public_deps = [
23 ":rtc_base",
24 ":rtc_base_approved",
25 ":rtc_task_queue",
26 ":sequenced_task_checker",
27 ":weak_ptr",
28 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +020029 if (is_android) {
30 public_deps += [ ":base_java" ]
31 }
32}
33
Henrik Kjellanderc0362762017-06-29 08:03:04 +020034config("rtc_base_chromium_config") {
35 defines = [ "NO_MAIN_THREAD_WRAPPING" ]
36}
37
38config("rtc_base_all_dependent_config") {
39 if (is_ios) {
40 libs = [
41 "CFNetwork.framework",
Jiawei Ouc0216b82018-02-03 12:24:24 -080042 "Foundation.framework",
Henrik Kjellanderc0362762017-06-29 08:03:04 +020043 "Security.framework",
44 "SystemConfiguration.framework",
45 "UIKit.framework",
46 ]
47 }
48 if (is_mac) {
49 libs = [
50 "Cocoa.framework",
51 "Foundation.framework",
52 "IOKit.framework",
53 "Security.framework",
54 "SystemConfiguration.framework",
55 ]
56 }
57}
58
Dan Minor9cdd8762018-01-16 10:40:39 -050059if (!rtc_build_ssl) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +020060 config("external_ssl_library") {
61 assert(rtc_ssl_root != "",
62 "You must specify rtc_ssl_root when rtc_build_ssl==0.")
63 include_dirs = [ rtc_ssl_root ]
64 }
65}
66
67source_set("protobuf_utils") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000068 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +020069 sources = [
70 "protobuf_utils.h",
71 ]
72 if (rtc_enable_protobuf) {
73 public_deps = [
74 "//third_party/protobuf:protobuf_lite",
75 ]
76 }
77}
78
79source_set("compile_assert_c") {
80 sources = [
81 "compile_assert_c.h",
82 ]
83}
84
mbonadeibc378472017-09-11 03:43:34 -070085rtc_source_set("rtc_base_approved") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000086 visibility = [ "*" ]
mbonadeibc378472017-09-11 03:43:34 -070087 public_deps = [
88 ":rtc_base_approved_generic",
89 ]
90 if (is_mac && !build_with_chromium) {
91 public_deps += [ ":rtc_base_approved_objc" ]
92 }
93}
94
Patrik Höglunda8005cf2017-12-13 16:05:42 +010095rtc_source_set("checks") {
96 sources = [
97 "checks.cc",
98 "checks.h",
99 ]
100 deps = [
101 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100102 "..:typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100103 ]
104}
105
Patrik Höglund3e113432017-12-15 14:40:10 +0100106rtc_source_set("rate_limiter") {
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100107 sources = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100108 "rate_limiter.cc",
109 "rate_limiter.h",
110 ]
111 deps = [
112 ":rtc_base_approved",
113 "../system_wrappers",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100114 ]
115}
116
117rtc_source_set("sanitizer") {
118 sources = [
119 "sanitizer.h",
120 ]
121}
122
123rtc_source_set("safe_compare") {
124 sources = [
125 "numerics/safe_compare.h",
126 ]
127 deps = [
128 ":type_traits",
129 ]
130}
131
Patrik Höglund3e113432017-12-15 14:40:10 +0100132rtc_source_set("stringutils") {
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100133 sources = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100134 "stringutils.cc",
135 "stringutils.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100136 ]
137 deps = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100138 ":checks",
139 ]
140}
141
142rtc_source_set("type_traits") {
143 sources = [
144 "type_traits.h",
145 ]
146}
147
148rtc_source_set("deprecation") {
149 sources = [
150 "deprecation.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100151 ]
152}
153
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200154# The subset of rtc_base approved for use outside of libjingle.
mbonadeibc378472017-09-11 03:43:34 -0700155rtc_source_set("rtc_base_approved_generic") {
156 visibility = [
157 ":rtc_base_approved",
158 ":rtc_base_approved_objc",
Tommi897e1362017-12-01 18:56:43 +0100159 ":weak_ptr_unittests",
mbonadeibc378472017-09-11 03:43:34 -0700160 ]
161
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100162 cflags = []
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200163 defines = []
164 libs = []
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100165 deps = [
166 ":checks",
167 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100168 ":stringutils",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100169 ":type_traits",
Patrik Höglund3e113432017-12-15 14:40:10 +0100170 "../:typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100171 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200172
173 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200174 "arraysize.h",
175 "atomicops.h",
176 "base64.cc",
177 "base64.h",
178 "basictypes.h",
179 "bind.h",
180 "bitbuffer.cc",
181 "bitbuffer.h",
Alex Narest78609d52017-10-20 10:37:47 +0200182 "bitrateallocationstrategy.cc",
183 "bitrateallocationstrategy.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200184 "buffer.h",
185 "bufferqueue.cc",
186 "bufferqueue.h",
187 "bytebuffer.cc",
188 "bytebuffer.h",
189 "byteorder.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200190 "constructormagic.h",
191 "copyonwritebuffer.cc",
192 "copyonwritebuffer.h",
193 "criticalsection.cc",
194 "criticalsection.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200195 "event_tracer.cc",
196 "event_tracer.h",
197 "file.cc",
198 "file.h",
199 "flags.cc",
200 "flags.h",
201 "format_macros.h",
202 "function_view.h",
203 "ignore_wundef.h",
204 "location.cc",
205 "location.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100206 "numerics/histogram_percentile_counter.cc",
207 "numerics/histogram_percentile_counter.h",
208 "numerics/mod_ops.h",
209 "numerics/moving_max_counter.h",
Karl Wiberge40468b2017-11-22 10:42:26 +0100210 "numerics/safe_conversions.h",
211 "numerics/safe_conversions_impl.h",
212 "numerics/safe_minmax.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200213 "onetimeevent.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200214 "pathutils.cc",
215 "pathutils.h",
216 "platform_file.cc",
217 "platform_file.h",
218 "platform_thread.cc",
219 "platform_thread.h",
Tommi1f3f3c22018-02-17 11:46:14 +0100220 "platform_thread_types.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200221 "platform_thread_types.h",
222 "ptr_util.h",
223 "race_checker.cc",
224 "race_checker.h",
225 "random.cc",
226 "random.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200227 "rate_statistics.cc",
228 "rate_statistics.h",
229 "ratetracker.cc",
230 "ratetracker.h",
231 "refcount.h",
232 "refcountedobject.h",
Niels Möller9155e492017-10-23 11:22:30 +0200233 "refcounter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200234 "scoped_ref_ptr.h",
235 "string_to_number.cc",
236 "string_to_number.h",
237 "stringencode.cc",
238 "stringencode.h",
239 "stringize_macros.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200240 "swap_queue.h",
241 "template_util.h",
242 "thread_annotations.h",
243 "thread_checker.h",
244 "thread_checker_impl.cc",
245 "thread_checker_impl.h",
246 "timestampaligner.cc",
247 "timestampaligner.h",
248 "timeutils.cc",
249 "timeutils.h",
250 "trace_event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200251 ]
252
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100253 deps += [
254 "..:webrtc_common",
255 "../api:array_view",
256 "../api:optional",
257 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200258
259 if (is_android) {
260 libs += [ "log" ]
261 }
262
263 if (is_posix) {
264 sources += [ "file_posix.cc" ]
265 }
266
267 if (is_win) {
268 sources += [ "file_win.cc" ]
269 }
270
271 if (build_with_chromium) {
272 # Dependency on chromium's logging (in //base).
273 deps += [ "//base:base" ]
274 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100275 "../../webrtc_overrides/rtc_base/event.cc",
276 "../../webrtc_overrides/rtc_base/event.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200277 "../../webrtc_overrides/rtc_base/logging.cc",
278 "../../webrtc_overrides/rtc_base/logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200279 ]
280 } else {
281 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100282 "event.cc",
283 "event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200284 "logging.cc",
285 "logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200286 ]
287 }
288 if (is_component_build && is_win) {
289 # Copy the VS runtime DLLs into the isolate so that they don't have to be
290 # preinstalled on the target machine. The debug runtimes have a "d" at
291 # the end.
292 # This is a copy of https://codereview.chromium.org/1783973002.
293 # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
294 # so we don't have to copy their changes and risk breakages.
295 # See http://crbug.com/653569
296 if (is_debug) {
297 vcrt_suffix = "d"
298 } else {
299 vcrt_suffix = ""
300 }
301
302 # These runtime files are copied to the output directory by the
303 # vs_toolchain script that runs as part of toolchain configuration.
304 data = [
305 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
306 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
307 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
308
309 # Universal Windows 10 CRT files
310 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
311 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
312 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
313 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
314 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
315 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
316 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
317 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
318 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
319 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
320 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
321 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
322 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
323 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
324 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
325 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
326 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
327 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
328 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
329 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
330 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
331 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
332 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
333 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
334 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
335 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
336 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
337 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
338 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
339 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
340 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
341 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
342 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
343 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
344 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
345 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
346 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
347 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
348 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
349 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
350 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
351 ]
352 if (is_asan) {
353 if (current_cpu == "x64") {
354 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
355 } else {
356 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
357 }
358 }
359 }
360 if (is_nacl) {
361 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
362 }
363}
364
mbonadeibc378472017-09-11 03:43:34 -0700365if (is_mac && !build_with_chromium) {
366 config("rtc_base_approved_objc_all_dependent_config") {
367 visibility = [ ":rtc_base_approved_objc" ]
368 libs = [ "Foundation.framework" ] # needed for logging_mac.mm
369 }
370
371 rtc_source_set("rtc_base_approved_objc") {
372 visibility = [ ":rtc_base_approved" ]
373 all_dependent_configs = [ ":rtc_base_approved_objc_all_dependent_config" ]
374 sources = [
375 "logging_mac.mm",
376 ]
377 deps = [
378 ":rtc_base_approved_generic",
379 ]
380 }
381}
382
perkj650fdae2017-08-25 05:00:11 -0700383rtc_source_set("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000384 visibility = [ "*" ]
mbonadei95c8f652017-08-27 23:40:10 -0700385 deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200386 ":rtc_base_approved",
mbonadei95c8f652017-08-27 23:40:10 -0700387 ]
388 public_deps = [
perkj650fdae2017-08-25 05:00:11 -0700389 ":rtc_task_queue_api",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200390 ]
391
perkj650fdae2017-08-25 05:00:11 -0700392 if (rtc_link_task_queue_impl) {
mbonadei95c8f652017-08-27 23:40:10 -0700393 deps += [ ":rtc_task_queue_impl" ]
perkj650fdae2017-08-25 05:00:11 -0700394 }
395}
396
397# WebRTC targets must not directly depend on rtc_task_queue_api or
398# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
399# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
400# to the default implemenation in rtc_task_queue_impl or if an externally
401# provided implementation should be used. An external implementation should
402# depend on rtc_task_queue_api.
403rtc_source_set("rtc_task_queue_api") {
nisse75dd6d42017-09-19 08:28:00 -0700404 sources = [
405 "task_queue.h",
406 ]
perkj650fdae2017-08-25 05:00:11 -0700407 deps = [
408 ":rtc_base_approved",
409 ]
410}
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200411
perkj650fdae2017-08-25 05:00:11 -0700412rtc_source_set("rtc_task_queue_impl") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000413 visibility = [ "*" ]
perkj650fdae2017-08-25 05:00:11 -0700414 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100415 ":checks",
perkj650fdae2017-08-25 05:00:11 -0700416 ":rtc_base_approved",
417 ":rtc_task_queue_api",
418 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200419 if (rtc_build_libevent) {
420 deps += [ "//base/third_party/libevent" ]
421 }
422 if (rtc_enable_libevent) {
perkj650fdae2017-08-25 05:00:11 -0700423 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200424 "task_queue_libevent.cc",
425 "task_queue_posix.cc",
426 "task_queue_posix.h",
perkj650fdae2017-08-25 05:00:11 -0700427 ]
428 } else {
Niels Möller15c9cf72017-10-19 12:38:09 +0200429 if (is_mac || is_ios) {
Niels Möller17a04742017-09-27 10:53:21 +0200430 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200431 "task_queue_gcd.cc",
Henrik Boströma9a27712017-10-03 08:01:07 +0000432 "task_queue_posix.cc",
433 "task_queue_posix.h",
Niels Möller17a04742017-09-27 10:53:21 +0200434 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200435 }
436 if (is_win) {
437 sources = [
438 "task_queue_win.cc",
439 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200440 }
441 }
442}
443
444rtc_static_library("sequenced_task_checker") {
445 sources = [
446 "sequenced_task_checker.h",
447 "sequenced_task_checker_impl.cc",
448 "sequenced_task_checker_impl.h",
449 ]
450 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100451 ":checks",
mbonadei95c8f652017-08-27 23:40:10 -0700452 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200453 ":rtc_task_queue",
454 ]
455}
456
457rtc_static_library("weak_ptr") {
458 sources = [
459 "weak_ptr.cc",
460 "weak_ptr.h",
461 ]
462 deps = [
463 ":rtc_base_approved",
464 ":sequenced_task_checker",
465 ]
466}
467
468rtc_static_library("rtc_numerics") {
469 sources = [
470 "numerics/exp_filter.cc",
471 "numerics/exp_filter.h",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +0100472 "numerics/moving_median_filter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200473 "numerics/percentile_filter.h",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200474 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200475 ]
476 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100477 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200478 ":rtc_base_approved",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100479 ":safe_compare",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200480 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200481 ]
482}
483
484config("rtc_base_warnings_config") {
485 if (is_win && is_clang) {
486 cflags = [
487 # Disable warnings failing when compiling with Clang on Windows.
488 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
489 "-Wno-sign-compare",
490 "-Wno-missing-braces",
491 ]
492 }
493}
494
495rtc_source_set("rtc_json") {
496 defines = []
497 sources = [
498 "json.cc",
499 "json.h",
500 ]
Mirko Bonadeia0e29fc2018-01-26 16:50:02 +0100501 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200502 if (rtc_build_json) {
503 public_deps = [
504 "//third_party/jsoncpp",
505 ]
506 } else {
507 include_dirs = [ "$rtc_jsoncpp_root" ]
508
509 # When defined changes the include path for json.h to where it is
510 # expected to be when building json outside of the standalone build.
511 defines += [ "WEBRTC_EXTERNAL_JSON" ]
512 }
513}
514
mbonadei9c5e5112017-09-05 05:17:02 -0700515rtc_static_library("rtc_base") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000516 visibility = [ "*" ]
Dan Minor9c686132018-01-15 10:20:00 -0500517 public_deps = []
518 if (!build_with_mozilla) {
519 public_deps += [ ":rtc_base_generic" ]
520 }
mbonadei310e32b2017-09-07 07:36:28 -0700521 if (is_win) {
522 sources = [
523 "noop.cc",
524 ]
525 }
526 if (is_ios || is_mac) {
527 sources = [
528 "noop.mm",
529 ]
530 public_deps += [ ":rtc_base_objc" ]
531 }
532}
533
534if (is_ios || is_mac) {
535 rtc_source_set("rtc_base_objc") {
536 sources = [
537 "thread_darwin.mm",
538 ]
539 deps = [
540 ":rtc_base_generic",
541 ]
542 visibility = [ ":rtc_base" ]
543 }
544}
545
546rtc_static_library("rtc_base_generic") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200547 cflags = []
548 cflags_cc = []
549 libs = []
550 defines = []
551 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100552 ":checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100553 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200554 "..:webrtc_common",
Joachim Bauch58daf402017-12-21 22:00:34 +0100555 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -0700556 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200557 ]
558 public_deps = [
559 ":rtc_base_approved",
560 ]
561 public_configs = []
562
563 all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
564
565 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200566 "asyncinvoker-inl.h",
567 "asyncinvoker.cc",
568 "asyncinvoker.h",
569 "asyncpacketsocket.cc",
570 "asyncpacketsocket.h",
571 "asyncresolverinterface.cc",
572 "asyncresolverinterface.h",
573 "asyncsocket.cc",
574 "asyncsocket.h",
575 "asynctcpsocket.cc",
576 "asynctcpsocket.h",
577 "asyncudpsocket.cc",
578 "asyncudpsocket.h",
579 "crc32.cc",
580 "crc32.h",
581 "cryptstring.cc",
582 "cryptstring.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100583 "dscp.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200584 "filerotatingstream.cc",
585 "filerotatingstream.h",
586 "fileutils.cc",
587 "fileutils.h",
588 "gunit_prod.h",
589 "helpers.cc",
590 "helpers.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200591 "httpcommon-inl.h",
592 "httpcommon.cc",
593 "httpcommon.h",
594 "ipaddress.cc",
595 "ipaddress.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100596 "keep_ref_until_done.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200597 "messagedigest.cc",
598 "messagedigest.h",
599 "messagehandler.cc",
600 "messagehandler.h",
601 "messagequeue.cc",
602 "messagequeue.h",
Zhi Huang942bc2e2017-11-13 13:26:07 -0800603 "nethelper.cc",
604 "nethelper.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200605 "nethelpers.cc",
606 "nethelpers.h",
607 "network.cc",
608 "network.h",
Patrik Höglunde2d6a062017-10-05 14:53:33 +0200609 "network_constants.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200610 "networkmonitor.cc",
611 "networkmonitor.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100612 "networkroute.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200613 "nullsocketserver.cc",
614 "nullsocketserver.h",
615 "openssl.h",
616 "openssladapter.cc",
617 "openssladapter.h",
618 "openssldigest.cc",
619 "openssldigest.h",
620 "opensslidentity.cc",
621 "opensslidentity.h",
622 "opensslstreamadapter.cc",
623 "opensslstreamadapter.h",
624 "physicalsocketserver.cc",
625 "physicalsocketserver.h",
626 "proxyinfo.cc",
627 "proxyinfo.h",
628 "ratelimiter.cc",
629 "ratelimiter.h",
630 "rtccertificate.cc",
631 "rtccertificate.h",
632 "rtccertificategenerator.cc",
633 "rtccertificategenerator.h",
deadbeef8290ddf2017-07-11 16:56:05 -0700634 "signalthread.cc",
635 "signalthread.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200636 "sigslot.cc",
637 "sigslot.h",
Taylor Brandstettere68b6c92017-10-05 09:13:55 -0700638 "sigslotrepeater.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200639 "socket.h",
640 "socketadapters.cc",
641 "socketadapters.h",
642 "socketaddress.cc",
643 "socketaddress.h",
644 "socketaddresspair.cc",
645 "socketaddresspair.h",
646 "socketfactory.h",
647 "socketserver.h",
648 "socketstream.cc",
649 "socketstream.h",
650 "ssladapter.cc",
651 "ssladapter.h",
652 "sslfingerprint.cc",
653 "sslfingerprint.h",
654 "sslidentity.cc",
655 "sslidentity.h",
656 "sslstreamadapter.cc",
657 "sslstreamadapter.h",
658 "stream.cc",
659 "stream.h",
660 "thread.cc",
661 "thread.h",
Joachim Bauch58daf402017-12-21 22:00:34 +0100662 "zero_memory.cc",
663 "zero_memory.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200664 ]
665
mbonadei310e32b2017-09-07 07:36:28 -0700666 visibility = [
667 ":rtc_base",
668 ":rtc_base_objc",
669 ]
670
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200671 # TODO(henrike): issue 3307, make rtc_base build with the Chromium default
672 # compiler settings.
673 suppressed_configs += [ "//build/config/compiler:chromium_code" ]
674 configs += [ "//build/config/compiler:no_chromium_code" ]
675 if (!is_win) {
676 cflags += [ "-Wno-uninitialized" ]
677 }
678
679 if (build_with_chromium) {
680 if (is_win) {
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200681 sources += [ "../../webrtc_overrides/rtc_base/win32socketinit.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200682 }
683 include_dirs = [ "../../boringssl/src/include" ]
684 public_configs += [ ":rtc_base_chromium_config" ]
685 } else {
686 configs += [ ":rtc_base_warnings_config" ]
687 sources += [
688 "callback.h",
689 "logsinks.cc",
690 "logsinks.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100691 "numerics/mathutils.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200692 "optionsfile.cc",
693 "optionsfile.h",
694 "rollingaccumulator.h",
695 "sslroots.h",
696 "transformadapter.cc",
697 "transformadapter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200698 ]
699
700 if (is_win) {
701 sources += [
702 "win32socketinit.cc",
703 "win32socketinit.h",
704 "win32socketserver.cc",
705 "win32socketserver.h",
706 ]
707 }
708 } # !build_with_chromium
709
710 if (rtc_build_ssl) {
711 deps += [ "//third_party/boringssl" ]
Dan Minor9cdd8762018-01-16 10:40:39 -0500712 } else {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200713 configs += [ ":external_ssl_library" ]
714 }
715
716 if (is_android) {
717 sources += [
718 "ifaddrs-android.cc",
719 "ifaddrs-android.h",
720 ]
721
722 libs += [
723 "log",
724 "GLESv2",
725 ]
726 }
727
728 if (is_ios || is_mac) {
mbonadei310e32b2017-09-07 07:36:28 -0700729 sources += [ "macifaddrs_converter.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200730 }
731
Joachim Bauch75f18fc2017-12-20 21:25:47 +0100732 if (rtc_use_x11) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200733 libs += [
734 "dl",
735 "rt",
736 "Xext",
737 "X11",
738 "Xcomposite",
739 "Xrender",
740 ]
741 }
742
743 if (is_linux) {
744 libs += [
745 "dl",
746 "rt",
747 ]
748 }
749
750 if (is_mac) {
751 sources += [
752 "macutils.cc",
753 "macutils.h",
754 ]
755 libs += [
756 # For ProcessInformationCopyDictionary in unixfilesystem.cc.
757 "ApplicationServices.framework",
758 ]
759 }
760
761 if (is_win) {
762 sources += [
763 "win32.cc",
764 "win32.h",
765 "win32filesystem.cc",
766 "win32filesystem.h",
Zhi Huangd81aac42018-02-27 01:59:01 +0000767 "win32securityerrors.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200768 "win32window.cc",
769 "win32window.h",
770 ]
771
772 libs += [
773 "crypt32.lib",
774 "iphlpapi.lib",
775 "secur32.lib",
776 ]
777
778 cflags += [
779 # Suppress warnings about WIN32_LEAN_AND_MEAN.
780 "/wd4005",
781 "/wd4703",
782 ]
783
784 defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
785 }
786
787 if (is_posix) {
788 sources += [
789 "ifaddrs_converter.cc",
790 "ifaddrs_converter.h",
791 "unixfilesystem.cc",
792 "unixfilesystem.h",
793 ]
794 }
795
796 if (is_nacl) {
797 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
798 defines += [ "timezone=_timezone" ]
799 sources -= [ "ifaddrs_converter.cc" ]
800 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200801}
802
803rtc_source_set("gtest_prod") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000804 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200805 sources = [
806 "gtest_prod_util.h",
807 ]
808}
809
810config("rtc_base_tests_utils_exported_config") {
811 defines = [ "GTEST_RELATIVE_PATH" ]
812}
813
814config("rtc_base_tests_utils_warnings_config") {
815 if (is_win && is_clang) {
816 cflags = [
817 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
818 "-Wno-reorder",
819 "-Wno-sign-compare",
820 ]
821 }
822}
823
824rtc_source_set("rtc_base_tests_utils") {
825 testonly = true
826 sources = [
827 # Also use this as a convenient dumping ground for misc files that are
828 # included by multiple targets below.
829 "cpu_time.cc",
830 "cpu_time.h",
831 "fakeclock.cc",
832 "fakeclock.h",
833 "fakenetwork.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700834 "fakesslidentity.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200835 "fakesslidentity.h",
836 "firewallsocketserver.cc",
837 "firewallsocketserver.h",
Steve Antonad7bffc2018-01-22 10:21:56 -0800838 "gunit.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200839 "gunit.h",
Niels Möller3c8a5f22017-12-15 16:04:21 +0100840 "httpbase.cc",
841 "httpbase.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200842 "httpserver.cc",
843 "httpserver.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200844 "memory_usage.cc",
845 "memory_usage.h",
846 "natserver.cc",
847 "natserver.h",
848 "natsocketfactory.cc",
849 "natsocketfactory.h",
850 "nattypes.cc",
851 "nattypes.h",
852 "proxyserver.cc",
853 "proxyserver.h",
Patrik Höglund563934e2017-09-15 09:04:28 +0200854 "refcount.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200855 "sigslottester.h",
856 "sigslottester.h.pump",
857 "testbase64.h",
858 "testclient.cc",
859 "testclient.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700860 "testechoserver.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200861 "testechoserver.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700862 "testutils.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200863 "testutils.h",
864 "timedelta.h",
865 "virtualsocketserver.cc",
866 "virtualsocketserver.h",
867 ]
868 configs += [ ":rtc_base_tests_utils_warnings_config" ]
869 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
870 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100871 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200872 ":rtc_base",
Patrik Höglund3e113432017-12-15 14:40:10 +0100873 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200874 "../test:field_trial",
875 "../test:test_support",
Karl Wiberg80ba3332018-02-05 10:33:35 +0100876 "system:fallthrough",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200877 ]
878 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200879 "//testing/gtest",
880 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200881}
882
Tommida8781f2018-02-19 12:41:43 +0100883rtc_source_set("rtc_task_queue_for_test") {
884 visibility = [ "*" ]
885 testonly = true
886
887 sources = [
888 "task_queue_for_test.cc",
889 "task_queue_for_test.h",
890 ]
891 deps = [
892 ":checks",
893 ":rtc_base_approved",
894 ":rtc_task_queue",
895 ]
896}
897
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200898if (rtc_include_tests) {
899 rtc_source_set("rtc_base_tests_main") {
900 testonly = true
901 sources = [
902 "unittest_main.cc",
903 ]
904 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
905 deps = [
906 ":rtc_base",
907 ":rtc_base_approved",
908 ":rtc_base_tests_utils",
Bjorn Tereliusedab3012018-01-31 17:23:40 +0100909 "../system_wrappers:field_trial_default",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200910 "../test:field_trial",
911 "../test:test_support",
912 ]
913
914 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200915 "//testing/gtest",
916 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200917 }
918
919 rtc_source_set("rtc_base_nonparallel_tests") {
920 testonly = true
921
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200922 sources = [
923 "cpu_time_unittest.cc",
924 "filerotatingstream_unittest.cc",
925 "nullsocketserver_unittest.cc",
926 "physicalsocketserver_unittest.cc",
927 "socket_unittest.cc",
928 "socket_unittest.h",
929 "socketaddress_unittest.cc",
930 ]
931 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100932 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200933 ":rtc_base",
934 ":rtc_base_tests_main",
935 ":rtc_base_tests_utils",
936 "../system_wrappers:system_wrappers",
937 "../test:test_support",
938 "//testing/gtest",
939 ]
940 if (is_win) {
941 sources += [ "win32socketserver_unittest.cc" ]
942 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200943 }
944
945 rtc_source_set("rtc_base_approved_unittests") {
946 testonly = true
947
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200948 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200949 "atomicops_unittest.cc",
950 "base64_unittest.cc",
951 "basictypes_unittest.cc",
952 "bind_unittest.cc",
953 "bitbuffer_unittest.cc",
Alex Narestd0e196b2017-11-22 17:22:35 +0100954 "bitrateallocationstrategy_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200955 "buffer_unittest.cc",
956 "bufferqueue_unittest.cc",
957 "bytebuffer_unittest.cc",
958 "byteorder_unittest.cc",
959 "copyonwritebuffer_unittest.cc",
960 "criticalsection_unittest.cc",
961 "event_tracer_unittest.cc",
962 "event_unittest.cc",
963 "file_unittest.cc",
964 "function_view_unittest.cc",
965 "logging_unittest.cc",
Karl Wiberg65c39222017-11-22 12:25:14 +0100966 "numerics/histogram_percentile_counter_unittest.cc",
967 "numerics/mod_ops_unittest.cc",
968 "numerics/moving_max_counter_unittest.cc",
Karl Wiberge40468b2017-11-22 10:42:26 +0100969 "numerics/safe_compare_unittest.cc",
970 "numerics/safe_minmax_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200971 "onetimeevent_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200972 "pathutils_unittest.cc",
973 "platform_thread_unittest.cc",
974 "random_unittest.cc",
975 "rate_limiter_unittest.cc",
976 "rate_statistics_unittest.cc",
977 "ratetracker_unittest.cc",
978 "refcountedobject_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200979 "string_to_number_unittest.cc",
980 "stringencode_unittest.cc",
981 "stringize_macros_unittest.cc",
982 "stringutils_unittest.cc",
983 "swap_queue_unittest.cc",
984 "thread_annotations_unittest.cc",
985 "thread_checker_unittest.cc",
986 "timestampaligner_unittest.cc",
987 "timeutils_unittest.cc",
988 "virtualsocket_unittest.cc",
989 ]
990 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100991 ":checks",
992 ":rate_limiter",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200993 ":rtc_base",
994 ":rtc_base_approved",
995 ":rtc_base_tests_main",
996 ":rtc_base_tests_utils",
997 ":rtc_task_queue",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100998 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100999 ":stringutils",
kwiberg529662a2017-09-04 05:43:17 -07001000 "../api:array_view",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001001 "../system_wrappers:system_wrappers",
1002 "../test:test_support",
1003 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001004 }
1005
1006 rtc_source_set("rtc_task_queue_unittests") {
Per Kjellandera7f2d842018-01-10 15:54:53 +00001007 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001008 testonly = true
1009
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001010 sources = [
1011 "task_queue_unittest.cc",
1012 ]
1013 deps = [
mbonadei95c8f652017-08-27 23:40:10 -07001014 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001015 ":rtc_base_tests_main",
1016 ":rtc_base_tests_utils",
1017 ":rtc_task_queue",
Tommi68561562018-02-13 19:47:50 +01001018 ":rtc_task_queue_for_test",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001019 "../test:test_support",
1020 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001021 }
1022
1023 rtc_source_set("sequenced_task_checker_unittests") {
1024 testonly = true
1025
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001026 sources = [
1027 "sequenced_task_checker_unittest.cc",
1028 ]
1029 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001030 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001031 ":rtc_base_approved",
1032 ":rtc_base_tests_main",
1033 ":rtc_task_queue",
1034 ":sequenced_task_checker",
1035 "../test:test_support",
1036 ]
1037 }
1038
1039 rtc_source_set("weak_ptr_unittests") {
1040 testonly = true
1041
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001042 sources = [
1043 "weak_ptr_unittest.cc",
1044 ]
1045 deps = [
Tommi897e1362017-12-01 18:56:43 +01001046 ":rtc_base_approved_generic",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001047 ":rtc_base_tests_main",
1048 ":rtc_base_tests_utils",
1049 ":rtc_task_queue",
1050 ":weak_ptr",
1051 "../test:test_support",
1052 ]
1053 }
1054
1055 rtc_source_set("rtc_numerics_unittests") {
1056 testonly = true
1057
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001058 sources = [
1059 "numerics/exp_filter_unittest.cc",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +01001060 "numerics/moving_median_filter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001061 "numerics/percentile_filter_unittest.cc",
Bjorn Tereliusa194e582017-10-25 13:07:09 +02001062 "numerics/sequence_number_util_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001063 ]
1064 deps = [
1065 ":rtc_base_approved",
1066 ":rtc_base_tests_main",
1067 ":rtc_numerics",
1068 "../test:test_support",
1069 ]
1070 }
1071
1072 config("rtc_base_unittests_config") {
1073 if (is_clang) {
1074 cflags = [ "-Wno-unused-const-variable" ]
1075 }
1076 }
1077 rtc_source_set("rtc_base_unittests") {
1078 testonly = true
1079
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001080 sources = [
1081 "callback_unittest.cc",
1082 "crc32_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001083 "helpers_unittest.cc",
1084 "httpbase_unittest.cc",
1085 "httpcommon_unittest.cc",
1086 "httpserver_unittest.cc",
1087 "ipaddress_unittest.cc",
1088 "memory_usage_unittest.cc",
1089 "messagedigest_unittest.cc",
1090 "messagequeue_unittest.cc",
1091 "nat_unittest.cc",
1092 "network_unittest.cc",
1093 "optionsfile_unittest.cc",
1094 "proxy_unittest.cc",
1095 "ptr_util_unittest.cc",
1096 "ratelimiter_unittest.cc",
1097 "rollingaccumulator_unittest.cc",
1098 "rtccertificate_unittest.cc",
1099 "rtccertificategenerator_unittest.cc",
deadbeef8290ddf2017-07-11 16:56:05 -07001100 "signalthread_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001101 "sigslot_unittest.cc",
1102 "sigslottester_unittest.cc",
1103 "stream_unittest.cc",
1104 "testclient_unittest.cc",
1105 "thread_unittest.cc",
Joachim Bauch58daf402017-12-21 22:00:34 +01001106 "zero_memory_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001107 ]
1108 if (is_win) {
1109 sources += [
1110 "win32_unittest.cc",
1111 "win32window_unittest.cc",
1112 ]
1113 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001114 if (is_posix) {
1115 sources += [
Diogo Real1dca9d52017-08-29 12:18:32 -07001116 "openssladapter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001117 "ssladapter_unittest.cc",
1118 "sslidentity_unittest.cc",
1119 "sslstreamadapter_unittest.cc",
1120 ]
1121 }
1122 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001123 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001124 ":rtc_base_tests_main",
1125 ":rtc_base_tests_utils",
Patrik Höglund3e113432017-12-15 14:40:10 +01001126 ":stringutils",
Joachim Bauch58daf402017-12-21 22:00:34 +01001127 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -07001128 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001129 "../test:test_support",
1130 ]
1131 public_deps = [
1132 ":rtc_base",
1133 ]
1134 configs += [ ":rtc_base_unittests_config" ]
Diogo Real1dca9d52017-08-29 12:18:32 -07001135 if (build_with_chromium) {
1136 include_dirs = [ "../../boringssl/src/include" ]
1137 }
1138 if (rtc_build_ssl) {
1139 deps += [ "//third_party/boringssl" ]
1140 } else {
1141 configs += [ ":external_ssl_library" ]
1142 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001143 }
1144}
1145
Henrik Kjellander73e21802017-06-20 08:38:58 +02001146if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:33 +00001147 rtc_android_library("base_java") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001148 java_files = [
1149 "java/src/org/webrtc/ContextUtils.java",
1150 "java/src/org/webrtc/Logging.java",
1151 "java/src/org/webrtc/Size.java",
1152 "java/src/org/webrtc/ThreadUtils.java",
1153 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +02001154 }
1155}