blob: 827cbb4b636ee353bd3bd05fd0daf2a6f7e315a2 [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 = [
Tommifef05002018-02-27 13:51:08 +0100134 "strings/string_builder.h",
Patrik Höglund3e113432017-12-15 14:40:10 +0100135 "stringutils.cc",
136 "stringutils.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100137 ]
138 deps = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100139 ":checks",
140 ]
141}
142
143rtc_source_set("type_traits") {
144 sources = [
145 "type_traits.h",
146 ]
147}
148
149rtc_source_set("deprecation") {
150 sources = [
151 "deprecation.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100152 ]
153}
154
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200155# The subset of rtc_base approved for use outside of libjingle.
mbonadeibc378472017-09-11 03:43:34 -0700156rtc_source_set("rtc_base_approved_generic") {
157 visibility = [
158 ":rtc_base_approved",
159 ":rtc_base_approved_objc",
Tommi897e1362017-12-01 18:56:43 +0100160 ":weak_ptr_unittests",
mbonadeibc378472017-09-11 03:43:34 -0700161 ]
162
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100163 cflags = []
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200164 defines = []
165 libs = []
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100166 deps = [
167 ":checks",
168 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100169 ":stringutils",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100170 ":type_traits",
Patrik Höglund3e113432017-12-15 14:40:10 +0100171 "../:typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100172 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200173
174 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200175 "arraysize.h",
176 "atomicops.h",
177 "base64.cc",
178 "base64.h",
179 "basictypes.h",
180 "bind.h",
181 "bitbuffer.cc",
182 "bitbuffer.h",
Alex Narest78609d52017-10-20 10:37:47 +0200183 "bitrateallocationstrategy.cc",
184 "bitrateallocationstrategy.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200185 "buffer.h",
186 "bufferqueue.cc",
187 "bufferqueue.h",
188 "bytebuffer.cc",
189 "bytebuffer.h",
190 "byteorder.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200191 "constructormagic.h",
192 "copyonwritebuffer.cc",
193 "copyonwritebuffer.h",
194 "criticalsection.cc",
195 "criticalsection.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200196 "event_tracer.cc",
197 "event_tracer.h",
198 "file.cc",
199 "file.h",
200 "flags.cc",
201 "flags.h",
202 "format_macros.h",
203 "function_view.h",
204 "ignore_wundef.h",
205 "location.cc",
206 "location.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100207 "numerics/histogram_percentile_counter.cc",
208 "numerics/histogram_percentile_counter.h",
209 "numerics/mod_ops.h",
210 "numerics/moving_max_counter.h",
Karl Wiberge40468b2017-11-22 10:42:26 +0100211 "numerics/safe_conversions.h",
212 "numerics/safe_conversions_impl.h",
213 "numerics/safe_minmax.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200214 "onetimeevent.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200215 "pathutils.cc",
216 "pathutils.h",
217 "platform_file.cc",
218 "platform_file.h",
219 "platform_thread.cc",
220 "platform_thread.h",
Tommi1f3f3c22018-02-17 11:46:14 +0100221 "platform_thread_types.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200222 "platform_thread_types.h",
223 "ptr_util.h",
224 "race_checker.cc",
225 "race_checker.h",
226 "random.cc",
227 "random.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200228 "rate_statistics.cc",
229 "rate_statistics.h",
230 "ratetracker.cc",
231 "ratetracker.h",
232 "refcount.h",
233 "refcountedobject.h",
Niels Möller9155e492017-10-23 11:22:30 +0200234 "refcounter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200235 "scoped_ref_ptr.h",
236 "string_to_number.cc",
237 "string_to_number.h",
238 "stringencode.cc",
239 "stringencode.h",
240 "stringize_macros.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200241 "swap_queue.h",
242 "template_util.h",
243 "thread_annotations.h",
244 "thread_checker.h",
245 "thread_checker_impl.cc",
246 "thread_checker_impl.h",
247 "timestampaligner.cc",
248 "timestampaligner.h",
249 "timeutils.cc",
250 "timeutils.h",
251 "trace_event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200252 ]
253
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100254 deps += [
255 "..:webrtc_common",
256 "../api:array_view",
257 "../api:optional",
258 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200259
260 if (is_android) {
261 libs += [ "log" ]
262 }
263
264 if (is_posix) {
265 sources += [ "file_posix.cc" ]
266 }
267
268 if (is_win) {
269 sources += [ "file_win.cc" ]
270 }
271
272 if (build_with_chromium) {
273 # Dependency on chromium's logging (in //base).
274 deps += [ "//base:base" ]
275 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100276 "../../webrtc_overrides/rtc_base/event.cc",
277 "../../webrtc_overrides/rtc_base/event.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200278 "../../webrtc_overrides/rtc_base/logging.cc",
279 "../../webrtc_overrides/rtc_base/logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200280 ]
281 } else {
282 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100283 "event.cc",
284 "event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200285 "logging.cc",
286 "logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200287 ]
288 }
289 if (is_component_build && is_win) {
290 # Copy the VS runtime DLLs into the isolate so that they don't have to be
291 # preinstalled on the target machine. The debug runtimes have a "d" at
292 # the end.
293 # This is a copy of https://codereview.chromium.org/1783973002.
294 # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
295 # so we don't have to copy their changes and risk breakages.
296 # See http://crbug.com/653569
297 if (is_debug) {
298 vcrt_suffix = "d"
299 } else {
300 vcrt_suffix = ""
301 }
302
303 # These runtime files are copied to the output directory by the
304 # vs_toolchain script that runs as part of toolchain configuration.
305 data = [
306 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
307 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
308 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
309
310 # Universal Windows 10 CRT files
311 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
312 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
313 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
314 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
315 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
316 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
317 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
318 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
319 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
320 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
321 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
322 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
323 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
324 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
325 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
326 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
327 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
328 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
329 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
330 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
331 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
332 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
333 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
334 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
335 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
336 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
337 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
338 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
339 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
340 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
341 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
342 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
343 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
344 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
345 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
346 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
347 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
348 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
349 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
350 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
351 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
352 ]
353 if (is_asan) {
354 if (current_cpu == "x64") {
355 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
356 } else {
357 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
358 }
359 }
360 }
361 if (is_nacl) {
362 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
363 }
364}
365
mbonadeibc378472017-09-11 03:43:34 -0700366if (is_mac && !build_with_chromium) {
367 config("rtc_base_approved_objc_all_dependent_config") {
368 visibility = [ ":rtc_base_approved_objc" ]
369 libs = [ "Foundation.framework" ] # needed for logging_mac.mm
370 }
371
372 rtc_source_set("rtc_base_approved_objc") {
373 visibility = [ ":rtc_base_approved" ]
374 all_dependent_configs = [ ":rtc_base_approved_objc_all_dependent_config" ]
375 sources = [
376 "logging_mac.mm",
377 ]
378 deps = [
379 ":rtc_base_approved_generic",
380 ]
381 }
382}
383
perkj650fdae2017-08-25 05:00:11 -0700384rtc_source_set("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000385 visibility = [ "*" ]
mbonadei95c8f652017-08-27 23:40:10 -0700386 deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200387 ":rtc_base_approved",
mbonadei95c8f652017-08-27 23:40:10 -0700388 ]
389 public_deps = [
perkj650fdae2017-08-25 05:00:11 -0700390 ":rtc_task_queue_api",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200391 ]
392
perkj650fdae2017-08-25 05:00:11 -0700393 if (rtc_link_task_queue_impl) {
mbonadei95c8f652017-08-27 23:40:10 -0700394 deps += [ ":rtc_task_queue_impl" ]
perkj650fdae2017-08-25 05:00:11 -0700395 }
396}
397
398# WebRTC targets must not directly depend on rtc_task_queue_api or
399# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
400# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
401# to the default implemenation in rtc_task_queue_impl or if an externally
402# provided implementation should be used. An external implementation should
403# depend on rtc_task_queue_api.
404rtc_source_set("rtc_task_queue_api") {
nisse75dd6d42017-09-19 08:28:00 -0700405 sources = [
406 "task_queue.h",
407 ]
perkj650fdae2017-08-25 05:00:11 -0700408 deps = [
409 ":rtc_base_approved",
410 ]
411}
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200412
perkj650fdae2017-08-25 05:00:11 -0700413rtc_source_set("rtc_task_queue_impl") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000414 visibility = [ "*" ]
perkj650fdae2017-08-25 05:00:11 -0700415 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100416 ":checks",
perkj650fdae2017-08-25 05:00:11 -0700417 ":rtc_base_approved",
418 ":rtc_task_queue_api",
419 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200420 if (rtc_build_libevent) {
421 deps += [ "//base/third_party/libevent" ]
422 }
423 if (rtc_enable_libevent) {
perkj650fdae2017-08-25 05:00:11 -0700424 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200425 "task_queue_libevent.cc",
426 "task_queue_posix.cc",
427 "task_queue_posix.h",
perkj650fdae2017-08-25 05:00:11 -0700428 ]
429 } else {
Niels Möller15c9cf72017-10-19 12:38:09 +0200430 if (is_mac || is_ios) {
Niels Möller17a04742017-09-27 10:53:21 +0200431 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200432 "task_queue_gcd.cc",
Henrik Boströma9a27712017-10-03 08:01:07 +0000433 "task_queue_posix.cc",
434 "task_queue_posix.h",
Niels Möller17a04742017-09-27 10:53:21 +0200435 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200436 }
437 if (is_win) {
438 sources = [
439 "task_queue_win.cc",
440 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200441 }
442 }
443}
444
445rtc_static_library("sequenced_task_checker") {
446 sources = [
447 "sequenced_task_checker.h",
448 "sequenced_task_checker_impl.cc",
449 "sequenced_task_checker_impl.h",
450 ]
451 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100452 ":checks",
mbonadei95c8f652017-08-27 23:40:10 -0700453 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200454 ":rtc_task_queue",
455 ]
456}
457
458rtc_static_library("weak_ptr") {
459 sources = [
460 "weak_ptr.cc",
461 "weak_ptr.h",
462 ]
463 deps = [
464 ":rtc_base_approved",
465 ":sequenced_task_checker",
466 ]
467}
468
469rtc_static_library("rtc_numerics") {
470 sources = [
471 "numerics/exp_filter.cc",
472 "numerics/exp_filter.h",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +0100473 "numerics/moving_median_filter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200474 "numerics/percentile_filter.h",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200475 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200476 ]
477 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100478 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200479 ":rtc_base_approved",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100480 ":safe_compare",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200481 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200482 ]
483}
484
485config("rtc_base_warnings_config") {
486 if (is_win && is_clang) {
487 cflags = [
488 # Disable warnings failing when compiling with Clang on Windows.
489 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
490 "-Wno-sign-compare",
491 "-Wno-missing-braces",
492 ]
493 }
494}
495
496rtc_source_set("rtc_json") {
497 defines = []
498 sources = [
499 "json.cc",
500 "json.h",
501 ]
Mirko Bonadeia0e29fc2018-01-26 16:50:02 +0100502 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200503 if (rtc_build_json) {
504 public_deps = [
505 "//third_party/jsoncpp",
506 ]
507 } else {
508 include_dirs = [ "$rtc_jsoncpp_root" ]
509
510 # When defined changes the include path for json.h to where it is
511 # expected to be when building json outside of the standalone build.
512 defines += [ "WEBRTC_EXTERNAL_JSON" ]
513 }
514}
515
mbonadei9c5e5112017-09-05 05:17:02 -0700516rtc_static_library("rtc_base") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000517 visibility = [ "*" ]
Dan Minor9c686132018-01-15 10:20:00 -0500518 public_deps = []
519 if (!build_with_mozilla) {
520 public_deps += [ ":rtc_base_generic" ]
521 }
mbonadei310e32b2017-09-07 07:36:28 -0700522 if (is_win) {
523 sources = [
524 "noop.cc",
525 ]
526 }
527 if (is_ios || is_mac) {
528 sources = [
529 "noop.mm",
530 ]
531 public_deps += [ ":rtc_base_objc" ]
532 }
533}
534
535if (is_ios || is_mac) {
536 rtc_source_set("rtc_base_objc") {
537 sources = [
538 "thread_darwin.mm",
539 ]
540 deps = [
541 ":rtc_base_generic",
542 ]
543 visibility = [ ":rtc_base" ]
544 }
545}
546
547rtc_static_library("rtc_base_generic") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200548 cflags = []
549 cflags_cc = []
550 libs = []
551 defines = []
552 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100553 ":checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100554 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200555 "..:webrtc_common",
Joachim Bauch58daf402017-12-21 22:00:34 +0100556 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -0700557 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200558 ]
559 public_deps = [
560 ":rtc_base_approved",
561 ]
562 public_configs = []
563
564 all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
565
566 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200567 "asyncinvoker-inl.h",
568 "asyncinvoker.cc",
569 "asyncinvoker.h",
570 "asyncpacketsocket.cc",
571 "asyncpacketsocket.h",
572 "asyncresolverinterface.cc",
573 "asyncresolverinterface.h",
574 "asyncsocket.cc",
575 "asyncsocket.h",
576 "asynctcpsocket.cc",
577 "asynctcpsocket.h",
578 "asyncudpsocket.cc",
579 "asyncudpsocket.h",
580 "crc32.cc",
581 "crc32.h",
582 "cryptstring.cc",
583 "cryptstring.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100584 "dscp.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200585 "filerotatingstream.cc",
586 "filerotatingstream.h",
587 "fileutils.cc",
588 "fileutils.h",
589 "gunit_prod.h",
590 "helpers.cc",
591 "helpers.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200592 "httpcommon-inl.h",
593 "httpcommon.cc",
594 "httpcommon.h",
595 "ipaddress.cc",
596 "ipaddress.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100597 "keep_ref_until_done.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200598 "messagedigest.cc",
599 "messagedigest.h",
600 "messagehandler.cc",
601 "messagehandler.h",
602 "messagequeue.cc",
603 "messagequeue.h",
Zhi Huang942bc2e2017-11-13 13:26:07 -0800604 "nethelper.cc",
605 "nethelper.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200606 "nethelpers.cc",
607 "nethelpers.h",
608 "network.cc",
609 "network.h",
Patrik Höglunde2d6a062017-10-05 14:53:33 +0200610 "network_constants.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200611 "networkmonitor.cc",
612 "networkmonitor.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100613 "networkroute.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200614 "nullsocketserver.cc",
615 "nullsocketserver.h",
616 "openssl.h",
617 "openssladapter.cc",
618 "openssladapter.h",
619 "openssldigest.cc",
620 "openssldigest.h",
621 "opensslidentity.cc",
622 "opensslidentity.h",
623 "opensslstreamadapter.cc",
624 "opensslstreamadapter.h",
625 "physicalsocketserver.cc",
626 "physicalsocketserver.h",
627 "proxyinfo.cc",
628 "proxyinfo.h",
629 "ratelimiter.cc",
630 "ratelimiter.h",
631 "rtccertificate.cc",
632 "rtccertificate.h",
633 "rtccertificategenerator.cc",
634 "rtccertificategenerator.h",
deadbeef8290ddf2017-07-11 16:56:05 -0700635 "signalthread.cc",
636 "signalthread.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200637 "sigslot.cc",
638 "sigslot.h",
Taylor Brandstettere68b6c92017-10-05 09:13:55 -0700639 "sigslotrepeater.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200640 "socket.h",
641 "socketadapters.cc",
642 "socketadapters.h",
643 "socketaddress.cc",
644 "socketaddress.h",
645 "socketaddresspair.cc",
646 "socketaddresspair.h",
647 "socketfactory.h",
648 "socketserver.h",
649 "socketstream.cc",
650 "socketstream.h",
651 "ssladapter.cc",
652 "ssladapter.h",
653 "sslfingerprint.cc",
654 "sslfingerprint.h",
655 "sslidentity.cc",
656 "sslidentity.h",
657 "sslstreamadapter.cc",
658 "sslstreamadapter.h",
659 "stream.cc",
660 "stream.h",
661 "thread.cc",
662 "thread.h",
Joachim Bauch58daf402017-12-21 22:00:34 +0100663 "zero_memory.cc",
664 "zero_memory.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200665 ]
666
mbonadei310e32b2017-09-07 07:36:28 -0700667 visibility = [
668 ":rtc_base",
669 ":rtc_base_objc",
670 ]
671
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200672 # TODO(henrike): issue 3307, make rtc_base build with the Chromium default
673 # compiler settings.
674 suppressed_configs += [ "//build/config/compiler:chromium_code" ]
675 configs += [ "//build/config/compiler:no_chromium_code" ]
676 if (!is_win) {
677 cflags += [ "-Wno-uninitialized" ]
678 }
679
680 if (build_with_chromium) {
681 if (is_win) {
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200682 sources += [ "../../webrtc_overrides/rtc_base/win32socketinit.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200683 }
684 include_dirs = [ "../../boringssl/src/include" ]
685 public_configs += [ ":rtc_base_chromium_config" ]
686 } else {
687 configs += [ ":rtc_base_warnings_config" ]
688 sources += [
689 "callback.h",
690 "logsinks.cc",
691 "logsinks.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100692 "numerics/mathutils.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200693 "optionsfile.cc",
694 "optionsfile.h",
695 "rollingaccumulator.h",
696 "sslroots.h",
697 "transformadapter.cc",
698 "transformadapter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200699 ]
700
701 if (is_win) {
702 sources += [
703 "win32socketinit.cc",
704 "win32socketinit.h",
705 "win32socketserver.cc",
706 "win32socketserver.h",
707 ]
708 }
709 } # !build_with_chromium
710
711 if (rtc_build_ssl) {
712 deps += [ "//third_party/boringssl" ]
Dan Minor9cdd8762018-01-16 10:40:39 -0500713 } else {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200714 configs += [ ":external_ssl_library" ]
715 }
716
717 if (is_android) {
718 sources += [
719 "ifaddrs-android.cc",
720 "ifaddrs-android.h",
721 ]
722
723 libs += [
724 "log",
725 "GLESv2",
726 ]
727 }
728
729 if (is_ios || is_mac) {
mbonadei310e32b2017-09-07 07:36:28 -0700730 sources += [ "macifaddrs_converter.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200731 }
732
Joachim Bauch75f18fc2017-12-20 21:25:47 +0100733 if (rtc_use_x11) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200734 libs += [
735 "dl",
736 "rt",
737 "Xext",
738 "X11",
739 "Xcomposite",
740 "Xrender",
741 ]
742 }
743
744 if (is_linux) {
745 libs += [
746 "dl",
747 "rt",
748 ]
749 }
750
751 if (is_mac) {
752 sources += [
753 "macutils.cc",
754 "macutils.h",
755 ]
756 libs += [
757 # For ProcessInformationCopyDictionary in unixfilesystem.cc.
758 "ApplicationServices.framework",
759 ]
760 }
761
762 if (is_win) {
763 sources += [
764 "win32.cc",
765 "win32.h",
766 "win32filesystem.cc",
767 "win32filesystem.h",
Zhi Huangd81aac42018-02-27 01:59:01 +0000768 "win32securityerrors.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200769 "win32window.cc",
770 "win32window.h",
771 ]
772
773 libs += [
774 "crypt32.lib",
775 "iphlpapi.lib",
776 "secur32.lib",
777 ]
778
779 cflags += [
780 # Suppress warnings about WIN32_LEAN_AND_MEAN.
781 "/wd4005",
782 "/wd4703",
783 ]
784
785 defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
786 }
787
788 if (is_posix) {
789 sources += [
790 "ifaddrs_converter.cc",
791 "ifaddrs_converter.h",
792 "unixfilesystem.cc",
793 "unixfilesystem.h",
794 ]
795 }
796
797 if (is_nacl) {
798 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
799 defines += [ "timezone=_timezone" ]
800 sources -= [ "ifaddrs_converter.cc" ]
801 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200802}
803
804rtc_source_set("gtest_prod") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000805 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200806 sources = [
807 "gtest_prod_util.h",
808 ]
809}
810
811config("rtc_base_tests_utils_exported_config") {
812 defines = [ "GTEST_RELATIVE_PATH" ]
813}
814
815config("rtc_base_tests_utils_warnings_config") {
816 if (is_win && is_clang) {
817 cflags = [
818 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
819 "-Wno-reorder",
820 "-Wno-sign-compare",
821 ]
822 }
823}
824
825rtc_source_set("rtc_base_tests_utils") {
826 testonly = true
827 sources = [
828 # Also use this as a convenient dumping ground for misc files that are
829 # included by multiple targets below.
830 "cpu_time.cc",
831 "cpu_time.h",
832 "fakeclock.cc",
833 "fakeclock.h",
834 "fakenetwork.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700835 "fakesslidentity.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200836 "fakesslidentity.h",
837 "firewallsocketserver.cc",
838 "firewallsocketserver.h",
Steve Antonad7bffc2018-01-22 10:21:56 -0800839 "gunit.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200840 "gunit.h",
Niels Möller3c8a5f22017-12-15 16:04:21 +0100841 "httpbase.cc",
842 "httpbase.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200843 "httpserver.cc",
844 "httpserver.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200845 "memory_usage.cc",
846 "memory_usage.h",
847 "natserver.cc",
848 "natserver.h",
849 "natsocketfactory.cc",
850 "natsocketfactory.h",
851 "nattypes.cc",
852 "nattypes.h",
853 "proxyserver.cc",
854 "proxyserver.h",
Patrik Höglund563934e2017-09-15 09:04:28 +0200855 "refcount.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200856 "sigslottester.h",
857 "sigslottester.h.pump",
858 "testbase64.h",
859 "testclient.cc",
860 "testclient.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700861 "testechoserver.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200862 "testechoserver.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700863 "testutils.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200864 "testutils.h",
865 "timedelta.h",
866 "virtualsocketserver.cc",
867 "virtualsocketserver.h",
868 ]
869 configs += [ ":rtc_base_tests_utils_warnings_config" ]
870 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
871 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100872 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200873 ":rtc_base",
Patrik Höglund3e113432017-12-15 14:40:10 +0100874 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200875 "../test:field_trial",
876 "../test:test_support",
Karl Wiberg80ba3332018-02-05 10:33:35 +0100877 "system:fallthrough",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200878 ]
879 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200880 "//testing/gtest",
881 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200882}
883
Tommida8781f2018-02-19 12:41:43 +0100884rtc_source_set("rtc_task_queue_for_test") {
885 visibility = [ "*" ]
886 testonly = true
887
888 sources = [
889 "task_queue_for_test.cc",
890 "task_queue_for_test.h",
891 ]
892 deps = [
893 ":checks",
894 ":rtc_base_approved",
895 ":rtc_task_queue",
896 ]
897}
898
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200899if (rtc_include_tests) {
900 rtc_source_set("rtc_base_tests_main") {
901 testonly = true
902 sources = [
903 "unittest_main.cc",
904 ]
905 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
906 deps = [
907 ":rtc_base",
908 ":rtc_base_approved",
909 ":rtc_base_tests_utils",
Bjorn Tereliusedab3012018-01-31 17:23:40 +0100910 "../system_wrappers:field_trial_default",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200911 "../test:field_trial",
912 "../test:test_support",
913 ]
914
915 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200916 "//testing/gtest",
917 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200918 }
919
920 rtc_source_set("rtc_base_nonparallel_tests") {
921 testonly = true
922
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200923 sources = [
924 "cpu_time_unittest.cc",
925 "filerotatingstream_unittest.cc",
926 "nullsocketserver_unittest.cc",
927 "physicalsocketserver_unittest.cc",
928 "socket_unittest.cc",
929 "socket_unittest.h",
930 "socketaddress_unittest.cc",
931 ]
932 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100933 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200934 ":rtc_base",
935 ":rtc_base_tests_main",
936 ":rtc_base_tests_utils",
937 "../system_wrappers:system_wrappers",
938 "../test:test_support",
939 "//testing/gtest",
940 ]
941 if (is_win) {
942 sources += [ "win32socketserver_unittest.cc" ]
943 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200944 }
945
946 rtc_source_set("rtc_base_approved_unittests") {
947 testonly = true
948
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200949 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200950 "atomicops_unittest.cc",
951 "base64_unittest.cc",
952 "basictypes_unittest.cc",
953 "bind_unittest.cc",
954 "bitbuffer_unittest.cc",
Alex Narestd0e196b2017-11-22 17:22:35 +0100955 "bitrateallocationstrategy_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200956 "buffer_unittest.cc",
957 "bufferqueue_unittest.cc",
958 "bytebuffer_unittest.cc",
959 "byteorder_unittest.cc",
960 "copyonwritebuffer_unittest.cc",
961 "criticalsection_unittest.cc",
962 "event_tracer_unittest.cc",
963 "event_unittest.cc",
964 "file_unittest.cc",
965 "function_view_unittest.cc",
966 "logging_unittest.cc",
Karl Wiberg65c39222017-11-22 12:25:14 +0100967 "numerics/histogram_percentile_counter_unittest.cc",
968 "numerics/mod_ops_unittest.cc",
969 "numerics/moving_max_counter_unittest.cc",
Karl Wiberge40468b2017-11-22 10:42:26 +0100970 "numerics/safe_compare_unittest.cc",
971 "numerics/safe_minmax_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200972 "onetimeevent_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200973 "pathutils_unittest.cc",
974 "platform_thread_unittest.cc",
975 "random_unittest.cc",
976 "rate_limiter_unittest.cc",
977 "rate_statistics_unittest.cc",
978 "ratetracker_unittest.cc",
979 "refcountedobject_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200980 "string_to_number_unittest.cc",
981 "stringencode_unittest.cc",
982 "stringize_macros_unittest.cc",
Tommifef05002018-02-27 13:51:08 +0100983 "strings/string_builder_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200984 "stringutils_unittest.cc",
985 "swap_queue_unittest.cc",
986 "thread_annotations_unittest.cc",
987 "thread_checker_unittest.cc",
988 "timestampaligner_unittest.cc",
989 "timeutils_unittest.cc",
990 "virtualsocket_unittest.cc",
991 ]
992 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100993 ":checks",
994 ":rate_limiter",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200995 ":rtc_base",
996 ":rtc_base_approved",
997 ":rtc_base_tests_main",
998 ":rtc_base_tests_utils",
999 ":rtc_task_queue",
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001000 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +01001001 ":stringutils",
kwiberg529662a2017-09-04 05:43:17 -07001002 "../api:array_view",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001003 "../system_wrappers:system_wrappers",
1004 "../test:test_support",
1005 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001006 }
1007
1008 rtc_source_set("rtc_task_queue_unittests") {
Per Kjellandera7f2d842018-01-10 15:54:53 +00001009 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001010 testonly = true
1011
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001012 sources = [
1013 "task_queue_unittest.cc",
1014 ]
1015 deps = [
mbonadei95c8f652017-08-27 23:40:10 -07001016 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001017 ":rtc_base_tests_main",
1018 ":rtc_base_tests_utils",
1019 ":rtc_task_queue",
Tommi68561562018-02-13 19:47:50 +01001020 ":rtc_task_queue_for_test",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001021 "../test:test_support",
1022 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001023 }
1024
1025 rtc_source_set("sequenced_task_checker_unittests") {
1026 testonly = true
1027
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001028 sources = [
1029 "sequenced_task_checker_unittest.cc",
1030 ]
1031 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001032 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001033 ":rtc_base_approved",
1034 ":rtc_base_tests_main",
1035 ":rtc_task_queue",
1036 ":sequenced_task_checker",
1037 "../test:test_support",
1038 ]
1039 }
1040
1041 rtc_source_set("weak_ptr_unittests") {
1042 testonly = true
1043
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001044 sources = [
1045 "weak_ptr_unittest.cc",
1046 ]
1047 deps = [
Tommi897e1362017-12-01 18:56:43 +01001048 ":rtc_base_approved_generic",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001049 ":rtc_base_tests_main",
1050 ":rtc_base_tests_utils",
1051 ":rtc_task_queue",
1052 ":weak_ptr",
1053 "../test:test_support",
1054 ]
1055 }
1056
1057 rtc_source_set("rtc_numerics_unittests") {
1058 testonly = true
1059
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001060 sources = [
1061 "numerics/exp_filter_unittest.cc",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +01001062 "numerics/moving_median_filter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001063 "numerics/percentile_filter_unittest.cc",
Bjorn Tereliusa194e582017-10-25 13:07:09 +02001064 "numerics/sequence_number_util_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001065 ]
1066 deps = [
1067 ":rtc_base_approved",
1068 ":rtc_base_tests_main",
1069 ":rtc_numerics",
1070 "../test:test_support",
1071 ]
1072 }
1073
1074 config("rtc_base_unittests_config") {
1075 if (is_clang) {
1076 cflags = [ "-Wno-unused-const-variable" ]
1077 }
1078 }
1079 rtc_source_set("rtc_base_unittests") {
1080 testonly = true
1081
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001082 sources = [
1083 "callback_unittest.cc",
1084 "crc32_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001085 "helpers_unittest.cc",
1086 "httpbase_unittest.cc",
1087 "httpcommon_unittest.cc",
1088 "httpserver_unittest.cc",
1089 "ipaddress_unittest.cc",
1090 "memory_usage_unittest.cc",
1091 "messagedigest_unittest.cc",
1092 "messagequeue_unittest.cc",
1093 "nat_unittest.cc",
1094 "network_unittest.cc",
1095 "optionsfile_unittest.cc",
1096 "proxy_unittest.cc",
1097 "ptr_util_unittest.cc",
1098 "ratelimiter_unittest.cc",
1099 "rollingaccumulator_unittest.cc",
1100 "rtccertificate_unittest.cc",
1101 "rtccertificategenerator_unittest.cc",
deadbeef8290ddf2017-07-11 16:56:05 -07001102 "signalthread_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001103 "sigslot_unittest.cc",
1104 "sigslottester_unittest.cc",
1105 "stream_unittest.cc",
1106 "testclient_unittest.cc",
1107 "thread_unittest.cc",
Joachim Bauch58daf402017-12-21 22:00:34 +01001108 "zero_memory_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001109 ]
1110 if (is_win) {
1111 sources += [
1112 "win32_unittest.cc",
1113 "win32window_unittest.cc",
1114 ]
1115 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001116 if (is_posix) {
1117 sources += [
Diogo Real1dca9d52017-08-29 12:18:32 -07001118 "openssladapter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001119 "ssladapter_unittest.cc",
1120 "sslidentity_unittest.cc",
1121 "sslstreamadapter_unittest.cc",
1122 ]
1123 }
1124 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001125 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001126 ":rtc_base_tests_main",
1127 ":rtc_base_tests_utils",
Patrik Höglund3e113432017-12-15 14:40:10 +01001128 ":stringutils",
Joachim Bauch58daf402017-12-21 22:00:34 +01001129 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -07001130 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001131 "../test:test_support",
1132 ]
1133 public_deps = [
1134 ":rtc_base",
1135 ]
1136 configs += [ ":rtc_base_unittests_config" ]
Diogo Real1dca9d52017-08-29 12:18:32 -07001137 if (build_with_chromium) {
1138 include_dirs = [ "../../boringssl/src/include" ]
1139 }
1140 if (rtc_build_ssl) {
1141 deps += [ "//third_party/boringssl" ]
1142 } else {
1143 configs += [ ":external_ssl_library" ]
1144 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001145 }
1146}
1147
Henrik Kjellander73e21802017-06-20 08:38:58 +02001148if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:33 +00001149 rtc_android_library("base_java") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001150 java_files = [
1151 "java/src/org/webrtc/ContextUtils.java",
1152 "java/src/org/webrtc/Logging.java",
1153 "java/src/org/webrtc/Size.java",
1154 "java/src/org/webrtc/ThreadUtils.java",
1155 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +02001156 }
1157}