blob: 6dccc484bef49c5bc62137f6b3493b121c5d63c0 [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",
220 "platform_thread_types.h",
221 "ptr_util.h",
222 "race_checker.cc",
223 "race_checker.h",
224 "random.cc",
225 "random.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200226 "rate_statistics.cc",
227 "rate_statistics.h",
228 "ratetracker.cc",
229 "ratetracker.h",
230 "refcount.h",
231 "refcountedobject.h",
Niels Möller9155e492017-10-23 11:22:30 +0200232 "refcounter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200233 "scoped_ref_ptr.h",
234 "string_to_number.cc",
235 "string_to_number.h",
236 "stringencode.cc",
237 "stringencode.h",
238 "stringize_macros.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200239 "swap_queue.h",
240 "template_util.h",
241 "thread_annotations.h",
242 "thread_checker.h",
243 "thread_checker_impl.cc",
244 "thread_checker_impl.h",
245 "timestampaligner.cc",
246 "timestampaligner.h",
247 "timeutils.cc",
248 "timeutils.h",
249 "trace_event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200250 ]
251
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100252 deps += [
253 "..:webrtc_common",
254 "../api:array_view",
255 "../api:optional",
256 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200257
258 if (is_android) {
259 libs += [ "log" ]
260 }
261
262 if (is_posix) {
263 sources += [ "file_posix.cc" ]
264 }
265
266 if (is_win) {
267 sources += [ "file_win.cc" ]
268 }
269
270 if (build_with_chromium) {
271 # Dependency on chromium's logging (in //base).
272 deps += [ "//base:base" ]
273 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100274 "../../webrtc_overrides/rtc_base/event.cc",
275 "../../webrtc_overrides/rtc_base/event.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200276 "../../webrtc_overrides/rtc_base/logging.cc",
277 "../../webrtc_overrides/rtc_base/logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200278 ]
279 } else {
280 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100281 "event.cc",
282 "event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200283 "logging.cc",
284 "logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200285 ]
286 }
287 if (is_component_build && is_win) {
288 # Copy the VS runtime DLLs into the isolate so that they don't have to be
289 # preinstalled on the target machine. The debug runtimes have a "d" at
290 # the end.
291 # This is a copy of https://codereview.chromium.org/1783973002.
292 # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
293 # so we don't have to copy their changes and risk breakages.
294 # See http://crbug.com/653569
295 if (is_debug) {
296 vcrt_suffix = "d"
297 } else {
298 vcrt_suffix = ""
299 }
300
301 # These runtime files are copied to the output directory by the
302 # vs_toolchain script that runs as part of toolchain configuration.
303 data = [
304 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
305 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
306 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
307
308 # Universal Windows 10 CRT files
309 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
310 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
311 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
312 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
313 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
314 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
315 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
316 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
317 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
318 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
319 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
320 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
321 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
322 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
323 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
324 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
325 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
326 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
327 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
328 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
329 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
330 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
331 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
332 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
333 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
334 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
335 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
336 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
337 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
338 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
339 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
340 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
341 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
342 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
343 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
344 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
345 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
346 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
347 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
348 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
349 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
350 ]
351 if (is_asan) {
352 if (current_cpu == "x64") {
353 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
354 } else {
355 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
356 }
357 }
358 }
359 if (is_nacl) {
360 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
361 }
362}
363
mbonadeibc378472017-09-11 03:43:34 -0700364if (is_mac && !build_with_chromium) {
365 config("rtc_base_approved_objc_all_dependent_config") {
366 visibility = [ ":rtc_base_approved_objc" ]
367 libs = [ "Foundation.framework" ] # needed for logging_mac.mm
368 }
369
370 rtc_source_set("rtc_base_approved_objc") {
371 visibility = [ ":rtc_base_approved" ]
372 all_dependent_configs = [ ":rtc_base_approved_objc_all_dependent_config" ]
373 sources = [
374 "logging_mac.mm",
375 ]
376 deps = [
377 ":rtc_base_approved_generic",
378 ]
379 }
380}
381
perkj650fdae2017-08-25 05:00:11 -0700382rtc_source_set("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000383 visibility = [ "*" ]
mbonadei95c8f652017-08-27 23:40:10 -0700384 deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200385 ":rtc_base_approved",
mbonadei95c8f652017-08-27 23:40:10 -0700386 ]
387 public_deps = [
perkj650fdae2017-08-25 05:00:11 -0700388 ":rtc_task_queue_api",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200389 ]
390
perkj650fdae2017-08-25 05:00:11 -0700391 if (rtc_link_task_queue_impl) {
mbonadei95c8f652017-08-27 23:40:10 -0700392 deps += [ ":rtc_task_queue_impl" ]
perkj650fdae2017-08-25 05:00:11 -0700393 }
394}
395
396# WebRTC targets must not directly depend on rtc_task_queue_api or
397# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
398# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
399# to the default implemenation in rtc_task_queue_impl or if an externally
400# provided implementation should be used. An external implementation should
401# depend on rtc_task_queue_api.
402rtc_source_set("rtc_task_queue_api") {
nisse75dd6d42017-09-19 08:28:00 -0700403 sources = [
404 "task_queue.h",
405 ]
perkj650fdae2017-08-25 05:00:11 -0700406 deps = [
407 ":rtc_base_approved",
408 ]
409}
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200410
perkj650fdae2017-08-25 05:00:11 -0700411rtc_source_set("rtc_task_queue_impl") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000412 visibility = [ "*" ]
perkj650fdae2017-08-25 05:00:11 -0700413 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100414 ":checks",
perkj650fdae2017-08-25 05:00:11 -0700415 ":rtc_base_approved",
416 ":rtc_task_queue_api",
417 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200418 if (rtc_build_libevent) {
419 deps += [ "//base/third_party/libevent" ]
420 }
421 if (rtc_enable_libevent) {
perkj650fdae2017-08-25 05:00:11 -0700422 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200423 "task_queue_libevent.cc",
424 "task_queue_posix.cc",
425 "task_queue_posix.h",
perkj650fdae2017-08-25 05:00:11 -0700426 ]
427 } else {
Niels Möller15c9cf72017-10-19 12:38:09 +0200428 if (is_mac || is_ios) {
Niels Möller17a04742017-09-27 10:53:21 +0200429 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200430 "task_queue_gcd.cc",
Henrik Boströma9a27712017-10-03 08:01:07 +0000431 "task_queue_posix.cc",
432 "task_queue_posix.h",
Niels Möller17a04742017-09-27 10:53:21 +0200433 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200434 }
435 if (is_win) {
436 sources = [
437 "task_queue_win.cc",
438 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200439 }
440 }
441}
442
443rtc_static_library("sequenced_task_checker") {
444 sources = [
445 "sequenced_task_checker.h",
446 "sequenced_task_checker_impl.cc",
447 "sequenced_task_checker_impl.h",
448 ]
449 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100450 ":checks",
mbonadei95c8f652017-08-27 23:40:10 -0700451 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200452 ":rtc_task_queue",
453 ]
454}
455
456rtc_static_library("weak_ptr") {
457 sources = [
458 "weak_ptr.cc",
459 "weak_ptr.h",
460 ]
461 deps = [
462 ":rtc_base_approved",
463 ":sequenced_task_checker",
464 ]
465}
466
467rtc_static_library("rtc_numerics") {
468 sources = [
469 "numerics/exp_filter.cc",
470 "numerics/exp_filter.h",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +0100471 "numerics/moving_median_filter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200472 "numerics/percentile_filter.h",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200473 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200474 ]
475 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100476 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200477 ":rtc_base_approved",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100478 ":safe_compare",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200479 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200480 ]
481}
482
483config("rtc_base_warnings_config") {
484 if (is_win && is_clang) {
485 cflags = [
486 # Disable warnings failing when compiling with Clang on Windows.
487 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
488 "-Wno-sign-compare",
489 "-Wno-missing-braces",
490 ]
491 }
492}
493
494rtc_source_set("rtc_json") {
495 defines = []
496 sources = [
497 "json.cc",
498 "json.h",
499 ]
Mirko Bonadeia0e29fc2018-01-26 16:50:02 +0100500 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200501 if (rtc_build_json) {
502 public_deps = [
503 "//third_party/jsoncpp",
504 ]
505 } else {
506 include_dirs = [ "$rtc_jsoncpp_root" ]
507
508 # When defined changes the include path for json.h to where it is
509 # expected to be when building json outside of the standalone build.
510 defines += [ "WEBRTC_EXTERNAL_JSON" ]
511 }
512}
513
mbonadei9c5e5112017-09-05 05:17:02 -0700514rtc_static_library("rtc_base") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000515 visibility = [ "*" ]
Dan Minor9c686132018-01-15 10:20:00 -0500516 public_deps = []
517 if (!build_with_mozilla) {
518 public_deps += [ ":rtc_base_generic" ]
519 }
mbonadei310e32b2017-09-07 07:36:28 -0700520 if (is_win) {
521 sources = [
522 "noop.cc",
523 ]
524 }
525 if (is_ios || is_mac) {
526 sources = [
527 "noop.mm",
528 ]
529 public_deps += [ ":rtc_base_objc" ]
530 }
531}
532
533if (is_ios || is_mac) {
534 rtc_source_set("rtc_base_objc") {
535 sources = [
536 "thread_darwin.mm",
537 ]
538 deps = [
539 ":rtc_base_generic",
540 ]
541 visibility = [ ":rtc_base" ]
542 }
543}
544
545rtc_static_library("rtc_base_generic") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200546 cflags = []
547 cflags_cc = []
548 libs = []
549 defines = []
550 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100551 ":checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100552 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200553 "..:webrtc_common",
Joachim Bauch58daf402017-12-21 22:00:34 +0100554 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -0700555 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200556 ]
557 public_deps = [
558 ":rtc_base_approved",
559 ]
560 public_configs = []
561
562 all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
563
564 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200565 "asyncinvoker-inl.h",
566 "asyncinvoker.cc",
567 "asyncinvoker.h",
568 "asyncpacketsocket.cc",
569 "asyncpacketsocket.h",
570 "asyncresolverinterface.cc",
571 "asyncresolverinterface.h",
572 "asyncsocket.cc",
573 "asyncsocket.h",
574 "asynctcpsocket.cc",
575 "asynctcpsocket.h",
576 "asyncudpsocket.cc",
577 "asyncudpsocket.h",
578 "crc32.cc",
579 "crc32.h",
580 "cryptstring.cc",
581 "cryptstring.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100582 "dscp.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200583 "filerotatingstream.cc",
584 "filerotatingstream.h",
585 "fileutils.cc",
586 "fileutils.h",
587 "gunit_prod.h",
588 "helpers.cc",
589 "helpers.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200590 "httpcommon-inl.h",
591 "httpcommon.cc",
592 "httpcommon.h",
593 "ipaddress.cc",
594 "ipaddress.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100595 "keep_ref_until_done.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200596 "messagedigest.cc",
597 "messagedigest.h",
598 "messagehandler.cc",
599 "messagehandler.h",
600 "messagequeue.cc",
601 "messagequeue.h",
Zhi Huang942bc2e2017-11-13 13:26:07 -0800602 "nethelper.cc",
603 "nethelper.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200604 "nethelpers.cc",
605 "nethelpers.h",
606 "network.cc",
607 "network.h",
Patrik Höglunde2d6a062017-10-05 14:53:33 +0200608 "network_constants.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200609 "networkmonitor.cc",
610 "networkmonitor.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100611 "networkroute.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200612 "nullsocketserver.cc",
613 "nullsocketserver.h",
614 "openssl.h",
615 "openssladapter.cc",
616 "openssladapter.h",
617 "openssldigest.cc",
618 "openssldigest.h",
619 "opensslidentity.cc",
620 "opensslidentity.h",
621 "opensslstreamadapter.cc",
622 "opensslstreamadapter.h",
623 "physicalsocketserver.cc",
624 "physicalsocketserver.h",
625 "proxyinfo.cc",
626 "proxyinfo.h",
627 "ratelimiter.cc",
628 "ratelimiter.h",
629 "rtccertificate.cc",
630 "rtccertificate.h",
631 "rtccertificategenerator.cc",
632 "rtccertificategenerator.h",
deadbeef8290ddf2017-07-11 16:56:05 -0700633 "signalthread.cc",
634 "signalthread.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200635 "sigslot.cc",
636 "sigslot.h",
Taylor Brandstettere68b6c92017-10-05 09:13:55 -0700637 "sigslotrepeater.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200638 "socket.h",
639 "socketadapters.cc",
640 "socketadapters.h",
641 "socketaddress.cc",
642 "socketaddress.h",
643 "socketaddresspair.cc",
644 "socketaddresspair.h",
645 "socketfactory.h",
646 "socketserver.h",
647 "socketstream.cc",
648 "socketstream.h",
649 "ssladapter.cc",
650 "ssladapter.h",
651 "sslfingerprint.cc",
652 "sslfingerprint.h",
653 "sslidentity.cc",
654 "sslidentity.h",
655 "sslstreamadapter.cc",
656 "sslstreamadapter.h",
657 "stream.cc",
658 "stream.h",
659 "thread.cc",
660 "thread.h",
Joachim Bauch58daf402017-12-21 22:00:34 +0100661 "zero_memory.cc",
662 "zero_memory.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200663 ]
664
mbonadei310e32b2017-09-07 07:36:28 -0700665 visibility = [
666 ":rtc_base",
667 ":rtc_base_objc",
668 ]
669
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200670 # TODO(henrike): issue 3307, make rtc_base build with the Chromium default
671 # compiler settings.
672 suppressed_configs += [ "//build/config/compiler:chromium_code" ]
673 configs += [ "//build/config/compiler:no_chromium_code" ]
674 if (!is_win) {
675 cflags += [ "-Wno-uninitialized" ]
676 }
677
678 if (build_with_chromium) {
679 if (is_win) {
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200680 sources += [ "../../webrtc_overrides/rtc_base/win32socketinit.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200681 }
682 include_dirs = [ "../../boringssl/src/include" ]
683 public_configs += [ ":rtc_base_chromium_config" ]
684 } else {
685 configs += [ ":rtc_base_warnings_config" ]
686 sources += [
687 "callback.h",
688 "logsinks.cc",
689 "logsinks.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100690 "numerics/mathutils.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200691 "optionsfile.cc",
692 "optionsfile.h",
693 "rollingaccumulator.h",
694 "sslroots.h",
695 "transformadapter.cc",
696 "transformadapter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200697 ]
698
699 if (is_win) {
700 sources += [
701 "win32socketinit.cc",
702 "win32socketinit.h",
703 "win32socketserver.cc",
704 "win32socketserver.h",
705 ]
706 }
707 } # !build_with_chromium
708
709 if (rtc_build_ssl) {
710 deps += [ "//third_party/boringssl" ]
Dan Minor9cdd8762018-01-16 10:40:39 -0500711 } else {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200712 configs += [ ":external_ssl_library" ]
713 }
714
715 if (is_android) {
716 sources += [
717 "ifaddrs-android.cc",
718 "ifaddrs-android.h",
719 ]
720
721 libs += [
722 "log",
723 "GLESv2",
724 ]
725 }
726
727 if (is_ios || is_mac) {
mbonadei310e32b2017-09-07 07:36:28 -0700728 sources += [ "macifaddrs_converter.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200729 }
730
Joachim Bauch75f18fc2017-12-20 21:25:47 +0100731 if (rtc_use_x11) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200732 libs += [
733 "dl",
734 "rt",
735 "Xext",
736 "X11",
737 "Xcomposite",
738 "Xrender",
739 ]
740 }
741
742 if (is_linux) {
743 libs += [
744 "dl",
745 "rt",
746 ]
747 }
748
749 if (is_mac) {
750 sources += [
751 "macutils.cc",
752 "macutils.h",
753 ]
754 libs += [
755 # For ProcessInformationCopyDictionary in unixfilesystem.cc.
756 "ApplicationServices.framework",
757 ]
758 }
759
760 if (is_win) {
761 sources += [
762 "win32.cc",
763 "win32.h",
764 "win32filesystem.cc",
765 "win32filesystem.h",
766 "win32securityerrors.cc",
767 "win32window.cc",
768 "win32window.h",
769 ]
770
771 libs += [
772 "crypt32.lib",
773 "iphlpapi.lib",
774 "secur32.lib",
775 ]
776
777 cflags += [
778 # Suppress warnings about WIN32_LEAN_AND_MEAN.
779 "/wd4005",
780 "/wd4703",
781 ]
782
783 defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
784 }
785
786 if (is_posix) {
787 sources += [
788 "ifaddrs_converter.cc",
789 "ifaddrs_converter.h",
790 "unixfilesystem.cc",
791 "unixfilesystem.h",
792 ]
793 }
794
795 if (is_nacl) {
796 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
797 defines += [ "timezone=_timezone" ]
798 sources -= [ "ifaddrs_converter.cc" ]
799 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200800}
801
802rtc_source_set("gtest_prod") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000803 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200804 sources = [
805 "gtest_prod_util.h",
806 ]
807}
808
809config("rtc_base_tests_utils_exported_config") {
810 defines = [ "GTEST_RELATIVE_PATH" ]
811}
812
813config("rtc_base_tests_utils_warnings_config") {
814 if (is_win && is_clang) {
815 cflags = [
816 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
817 "-Wno-reorder",
818 "-Wno-sign-compare",
819 ]
820 }
821}
822
823rtc_source_set("rtc_base_tests_utils") {
824 testonly = true
825 sources = [
826 # Also use this as a convenient dumping ground for misc files that are
827 # included by multiple targets below.
828 "cpu_time.cc",
829 "cpu_time.h",
830 "fakeclock.cc",
831 "fakeclock.h",
832 "fakenetwork.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700833 "fakesslidentity.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200834 "fakesslidentity.h",
835 "firewallsocketserver.cc",
836 "firewallsocketserver.h",
Steve Antonad7bffc2018-01-22 10:21:56 -0800837 "gunit.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200838 "gunit.h",
Niels Möller3c8a5f22017-12-15 16:04:21 +0100839 "httpbase.cc",
840 "httpbase.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200841 "httpserver.cc",
842 "httpserver.h",
843 "md5.cc",
844 "md5.h",
845 "md5digest.cc",
846 "md5digest.h",
847 "memory_usage.cc",
848 "memory_usage.h",
849 "natserver.cc",
850 "natserver.h",
851 "natsocketfactory.cc",
852 "natsocketfactory.h",
853 "nattypes.cc",
854 "nattypes.h",
855 "proxyserver.cc",
856 "proxyserver.h",
Patrik Höglund563934e2017-09-15 09:04:28 +0200857 "refcount.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200858 "sha1.cc",
859 "sha1.h",
860 "sha1digest.cc",
861 "sha1digest.h",
862 "sigslottester.h",
863 "sigslottester.h.pump",
864 "testbase64.h",
865 "testclient.cc",
866 "testclient.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700867 "testechoserver.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200868 "testechoserver.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700869 "testutils.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200870 "testutils.h",
871 "timedelta.h",
872 "virtualsocketserver.cc",
873 "virtualsocketserver.h",
874 ]
875 configs += [ ":rtc_base_tests_utils_warnings_config" ]
876 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
877 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100878 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200879 ":rtc_base",
Patrik Höglund3e113432017-12-15 14:40:10 +0100880 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200881 "../test:field_trial",
882 "../test:test_support",
Karl Wiberg80ba3332018-02-05 10:33:35 +0100883 "system:fallthrough",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200884 ]
885 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200886 "//testing/gtest",
887 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200888}
889
890if (rtc_include_tests) {
891 rtc_source_set("rtc_base_tests_main") {
892 testonly = true
893 sources = [
894 "unittest_main.cc",
895 ]
896 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
897 deps = [
898 ":rtc_base",
899 ":rtc_base_approved",
900 ":rtc_base_tests_utils",
Bjorn Tereliusedab3012018-01-31 17:23:40 +0100901 "../system_wrappers:field_trial_default",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200902 "../test:field_trial",
903 "../test:test_support",
904 ]
905
906 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200907 "//testing/gtest",
908 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200909 }
910
911 rtc_source_set("rtc_base_nonparallel_tests") {
912 testonly = true
913
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200914 sources = [
915 "cpu_time_unittest.cc",
916 "filerotatingstream_unittest.cc",
917 "nullsocketserver_unittest.cc",
918 "physicalsocketserver_unittest.cc",
919 "socket_unittest.cc",
920 "socket_unittest.h",
921 "socketaddress_unittest.cc",
922 ]
923 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100924 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200925 ":rtc_base",
926 ":rtc_base_tests_main",
927 ":rtc_base_tests_utils",
928 "../system_wrappers:system_wrappers",
929 "../test:test_support",
930 "//testing/gtest",
931 ]
932 if (is_win) {
933 sources += [ "win32socketserver_unittest.cc" ]
934 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200935 }
936
937 rtc_source_set("rtc_base_approved_unittests") {
938 testonly = true
939
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200940 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200941 "atomicops_unittest.cc",
942 "base64_unittest.cc",
943 "basictypes_unittest.cc",
944 "bind_unittest.cc",
945 "bitbuffer_unittest.cc",
Alex Narestd0e196b2017-11-22 17:22:35 +0100946 "bitrateallocationstrategy_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200947 "buffer_unittest.cc",
948 "bufferqueue_unittest.cc",
949 "bytebuffer_unittest.cc",
950 "byteorder_unittest.cc",
951 "copyonwritebuffer_unittest.cc",
952 "criticalsection_unittest.cc",
953 "event_tracer_unittest.cc",
954 "event_unittest.cc",
955 "file_unittest.cc",
956 "function_view_unittest.cc",
957 "logging_unittest.cc",
958 "md5digest_unittest.cc",
Karl Wiberg65c39222017-11-22 12:25:14 +0100959 "numerics/histogram_percentile_counter_unittest.cc",
960 "numerics/mod_ops_unittest.cc",
961 "numerics/moving_max_counter_unittest.cc",
Karl Wiberge40468b2017-11-22 10:42:26 +0100962 "numerics/safe_compare_unittest.cc",
963 "numerics/safe_minmax_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200964 "onetimeevent_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200965 "pathutils_unittest.cc",
966 "platform_thread_unittest.cc",
967 "random_unittest.cc",
968 "rate_limiter_unittest.cc",
969 "rate_statistics_unittest.cc",
970 "ratetracker_unittest.cc",
971 "refcountedobject_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200972 "string_to_number_unittest.cc",
973 "stringencode_unittest.cc",
974 "stringize_macros_unittest.cc",
975 "stringutils_unittest.cc",
976 "swap_queue_unittest.cc",
977 "thread_annotations_unittest.cc",
978 "thread_checker_unittest.cc",
979 "timestampaligner_unittest.cc",
980 "timeutils_unittest.cc",
981 "virtualsocket_unittest.cc",
982 ]
983 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100984 ":checks",
985 ":rate_limiter",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200986 ":rtc_base",
987 ":rtc_base_approved",
988 ":rtc_base_tests_main",
989 ":rtc_base_tests_utils",
990 ":rtc_task_queue",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100991 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100992 ":stringutils",
kwiberg529662a2017-09-04 05:43:17 -0700993 "../api:array_view",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200994 "../system_wrappers:system_wrappers",
995 "../test:test_support",
996 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200997 }
998
Tommi68561562018-02-13 19:47:50 +0100999 rtc_source_set("rtc_task_queue_for_test") {
1000 visibility = [ "*" ]
1001 testonly = true
1002
1003 sources = [
1004 "task_queue_for_test.cc",
1005 "task_queue_for_test.h",
1006 ]
1007 deps = [
1008 ":checks",
1009 ":rtc_base_approved",
1010 ":rtc_task_queue",
1011 ]
1012 }
1013
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001014 rtc_source_set("rtc_task_queue_unittests") {
Per Kjellandera7f2d842018-01-10 15:54:53 +00001015 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001016 testonly = true
1017
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001018 sources = [
1019 "task_queue_unittest.cc",
1020 ]
1021 deps = [
mbonadei95c8f652017-08-27 23:40:10 -07001022 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001023 ":rtc_base_tests_main",
1024 ":rtc_base_tests_utils",
1025 ":rtc_task_queue",
Tommi68561562018-02-13 19:47:50 +01001026 ":rtc_task_queue_for_test",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001027 "../test:test_support",
1028 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001029 }
1030
1031 rtc_source_set("sequenced_task_checker_unittests") {
1032 testonly = true
1033
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001034 sources = [
1035 "sequenced_task_checker_unittest.cc",
1036 ]
1037 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001038 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001039 ":rtc_base_approved",
1040 ":rtc_base_tests_main",
1041 ":rtc_task_queue",
1042 ":sequenced_task_checker",
1043 "../test:test_support",
1044 ]
1045 }
1046
1047 rtc_source_set("weak_ptr_unittests") {
1048 testonly = true
1049
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001050 sources = [
1051 "weak_ptr_unittest.cc",
1052 ]
1053 deps = [
Tommi897e1362017-12-01 18:56:43 +01001054 ":rtc_base_approved_generic",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001055 ":rtc_base_tests_main",
1056 ":rtc_base_tests_utils",
1057 ":rtc_task_queue",
1058 ":weak_ptr",
1059 "../test:test_support",
1060 ]
1061 }
1062
1063 rtc_source_set("rtc_numerics_unittests") {
1064 testonly = true
1065
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001066 sources = [
1067 "numerics/exp_filter_unittest.cc",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +01001068 "numerics/moving_median_filter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001069 "numerics/percentile_filter_unittest.cc",
Bjorn Tereliusa194e582017-10-25 13:07:09 +02001070 "numerics/sequence_number_util_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001071 ]
1072 deps = [
1073 ":rtc_base_approved",
1074 ":rtc_base_tests_main",
1075 ":rtc_numerics",
1076 "../test:test_support",
1077 ]
1078 }
1079
1080 config("rtc_base_unittests_config") {
1081 if (is_clang) {
1082 cflags = [ "-Wno-unused-const-variable" ]
1083 }
1084 }
1085 rtc_source_set("rtc_base_unittests") {
1086 testonly = true
1087
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001088 sources = [
1089 "callback_unittest.cc",
1090 "crc32_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001091 "helpers_unittest.cc",
1092 "httpbase_unittest.cc",
1093 "httpcommon_unittest.cc",
1094 "httpserver_unittest.cc",
1095 "ipaddress_unittest.cc",
1096 "memory_usage_unittest.cc",
1097 "messagedigest_unittest.cc",
1098 "messagequeue_unittest.cc",
1099 "nat_unittest.cc",
1100 "network_unittest.cc",
1101 "optionsfile_unittest.cc",
1102 "proxy_unittest.cc",
1103 "ptr_util_unittest.cc",
1104 "ratelimiter_unittest.cc",
1105 "rollingaccumulator_unittest.cc",
1106 "rtccertificate_unittest.cc",
1107 "rtccertificategenerator_unittest.cc",
1108 "sha1digest_unittest.cc",
deadbeef8290ddf2017-07-11 16:56:05 -07001109 "signalthread_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001110 "sigslot_unittest.cc",
1111 "sigslottester_unittest.cc",
1112 "stream_unittest.cc",
1113 "testclient_unittest.cc",
1114 "thread_unittest.cc",
Joachim Bauch58daf402017-12-21 22:00:34 +01001115 "zero_memory_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001116 ]
1117 if (is_win) {
1118 sources += [
1119 "win32_unittest.cc",
1120 "win32window_unittest.cc",
1121 ]
1122 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001123 if (is_posix) {
1124 sources += [
Diogo Real1dca9d52017-08-29 12:18:32 -07001125 "openssladapter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001126 "ssladapter_unittest.cc",
1127 "sslidentity_unittest.cc",
1128 "sslstreamadapter_unittest.cc",
1129 ]
1130 }
1131 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001132 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001133 ":rtc_base_tests_main",
1134 ":rtc_base_tests_utils",
Patrik Höglund3e113432017-12-15 14:40:10 +01001135 ":stringutils",
Joachim Bauch58daf402017-12-21 22:00:34 +01001136 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -07001137 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001138 "../test:test_support",
1139 ]
1140 public_deps = [
1141 ":rtc_base",
1142 ]
1143 configs += [ ":rtc_base_unittests_config" ]
Diogo Real1dca9d52017-08-29 12:18:32 -07001144 if (build_with_chromium) {
1145 include_dirs = [ "../../boringssl/src/include" ]
1146 }
1147 if (rtc_build_ssl) {
1148 deps += [ "//third_party/boringssl" ]
1149 } else {
1150 configs += [ ":external_ssl_library" ]
1151 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001152 }
1153}
1154
Henrik Kjellander73e21802017-06-20 08:38:58 +02001155if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:33 +00001156 rtc_android_library("base_java") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001157 java_files = [
1158 "java/src/org/webrtc/ContextUtils.java",
1159 "java/src/org/webrtc/Logging.java",
1160 "java/src/org/webrtc/Size.java",
1161 "java/src/org/webrtc/ThreadUtils.java",
1162 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +02001163 }
1164}