blob: 4d5b9d62a9d4585593aafa4fc769fe2710abd745 [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",
42 "Security.framework",
43 "SystemConfiguration.framework",
44 "UIKit.framework",
45 ]
46 }
47 if (is_mac) {
48 libs = [
49 "Cocoa.framework",
50 "Foundation.framework",
51 "IOKit.framework",
52 "Security.framework",
53 "SystemConfiguration.framework",
54 ]
55 }
56}
57
Dan Minor9cdd8762018-01-16 10:40:39 -050058if (!rtc_build_ssl) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +020059 config("external_ssl_library") {
60 assert(rtc_ssl_root != "",
61 "You must specify rtc_ssl_root when rtc_build_ssl==0.")
62 include_dirs = [ rtc_ssl_root ]
63 }
64}
65
66source_set("protobuf_utils") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000067 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +020068 sources = [
69 "protobuf_utils.h",
70 ]
71 if (rtc_enable_protobuf) {
72 public_deps = [
73 "//third_party/protobuf:protobuf_lite",
74 ]
75 }
76}
77
78source_set("compile_assert_c") {
79 sources = [
80 "compile_assert_c.h",
81 ]
82}
83
mbonadeibc378472017-09-11 03:43:34 -070084rtc_source_set("rtc_base_approved") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000085 visibility = [ "*" ]
mbonadeibc378472017-09-11 03:43:34 -070086 public_deps = [
87 ":rtc_base_approved_generic",
88 ]
89 if (is_mac && !build_with_chromium) {
90 public_deps += [ ":rtc_base_approved_objc" ]
91 }
92}
93
Patrik Höglunda8005cf2017-12-13 16:05:42 +010094rtc_source_set("checks") {
95 sources = [
96 "checks.cc",
97 "checks.h",
98 ]
99 deps = [
100 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100101 "..:typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100102 ]
103}
104
Patrik Höglund3e113432017-12-15 14:40:10 +0100105rtc_source_set("rate_limiter") {
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100106 sources = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100107 "rate_limiter.cc",
108 "rate_limiter.h",
109 ]
110 deps = [
111 ":rtc_base_approved",
112 "../system_wrappers",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100113 ]
114}
115
116rtc_source_set("sanitizer") {
117 sources = [
118 "sanitizer.h",
119 ]
120}
121
122rtc_source_set("safe_compare") {
123 sources = [
124 "numerics/safe_compare.h",
125 ]
126 deps = [
127 ":type_traits",
128 ]
129}
130
Patrik Höglund3e113432017-12-15 14:40:10 +0100131rtc_source_set("stringutils") {
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100132 sources = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100133 "stringutils.cc",
134 "stringutils.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100135 ]
136 deps = [
Patrik Höglund3e113432017-12-15 14:40:10 +0100137 ":checks",
138 ]
139}
140
141rtc_source_set("type_traits") {
142 sources = [
143 "type_traits.h",
144 ]
145}
146
147rtc_source_set("deprecation") {
148 sources = [
149 "deprecation.h",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100150 ]
151}
152
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200153# The subset of rtc_base approved for use outside of libjingle.
mbonadeibc378472017-09-11 03:43:34 -0700154rtc_source_set("rtc_base_approved_generic") {
155 visibility = [
156 ":rtc_base_approved",
157 ":rtc_base_approved_objc",
Tommi897e1362017-12-01 18:56:43 +0100158 ":weak_ptr_unittests",
mbonadeibc378472017-09-11 03:43:34 -0700159 ]
160
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100161 cflags = []
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200162 defines = []
163 libs = []
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100164 deps = [
165 ":checks",
166 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100167 ":stringutils",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100168 ":type_traits",
Patrik Höglund3e113432017-12-15 14:40:10 +0100169 "../:typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100170 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200171
172 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200173 "arraysize.h",
174 "atomicops.h",
175 "base64.cc",
176 "base64.h",
177 "basictypes.h",
178 "bind.h",
179 "bitbuffer.cc",
180 "bitbuffer.h",
Alex Narest78609d52017-10-20 10:37:47 +0200181 "bitrateallocationstrategy.cc",
182 "bitrateallocationstrategy.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200183 "buffer.h",
184 "bufferqueue.cc",
185 "bufferqueue.h",
186 "bytebuffer.cc",
187 "bytebuffer.h",
188 "byteorder.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200189 "constructormagic.h",
190 "copyonwritebuffer.cc",
191 "copyonwritebuffer.h",
192 "criticalsection.cc",
193 "criticalsection.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200194 "event_tracer.cc",
195 "event_tracer.h",
196 "file.cc",
197 "file.h",
198 "flags.cc",
199 "flags.h",
200 "format_macros.h",
201 "function_view.h",
202 "ignore_wundef.h",
203 "location.cc",
204 "location.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100205 "numerics/histogram_percentile_counter.cc",
206 "numerics/histogram_percentile_counter.h",
207 "numerics/mod_ops.h",
208 "numerics/moving_max_counter.h",
Karl Wiberge40468b2017-11-22 10:42:26 +0100209 "numerics/safe_conversions.h",
210 "numerics/safe_conversions_impl.h",
211 "numerics/safe_minmax.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200212 "onetimeevent.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200213 "pathutils.cc",
214 "pathutils.h",
215 "platform_file.cc",
216 "platform_file.h",
217 "platform_thread.cc",
218 "platform_thread.h",
219 "platform_thread_types.h",
220 "ptr_util.h",
221 "race_checker.cc",
222 "race_checker.h",
223 "random.cc",
224 "random.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200225 "rate_statistics.cc",
226 "rate_statistics.h",
227 "ratetracker.cc",
228 "ratetracker.h",
229 "refcount.h",
230 "refcountedobject.h",
Niels Möller9155e492017-10-23 11:22:30 +0200231 "refcounter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200232 "scoped_ref_ptr.h",
233 "string_to_number.cc",
234 "string_to_number.h",
235 "stringencode.cc",
236 "stringencode.h",
237 "stringize_macros.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200238 "swap_queue.h",
239 "template_util.h",
240 "thread_annotations.h",
241 "thread_checker.h",
242 "thread_checker_impl.cc",
243 "thread_checker_impl.h",
244 "timestampaligner.cc",
245 "timestampaligner.h",
246 "timeutils.cc",
247 "timeutils.h",
248 "trace_event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200249 ]
250
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100251 deps += [
252 "..:webrtc_common",
253 "../api:array_view",
254 "../api:optional",
255 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200256
257 if (is_android) {
258 libs += [ "log" ]
259 }
260
261 if (is_posix) {
262 sources += [ "file_posix.cc" ]
263 }
264
265 if (is_win) {
266 sources += [ "file_win.cc" ]
267 }
268
269 if (build_with_chromium) {
270 # Dependency on chromium's logging (in //base).
271 deps += [ "//base:base" ]
272 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100273 "../../webrtc_overrides/rtc_base/event.cc",
274 "../../webrtc_overrides/rtc_base/event.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200275 "../../webrtc_overrides/rtc_base/logging.cc",
276 "../../webrtc_overrides/rtc_base/logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200277 ]
278 } else {
279 sources += [
Tommi06483ca2017-11-26 18:22:52 +0100280 "event.cc",
281 "event.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200282 "logging.cc",
283 "logging.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200284 ]
285 }
286 if (is_component_build && is_win) {
287 # Copy the VS runtime DLLs into the isolate so that they don't have to be
288 # preinstalled on the target machine. The debug runtimes have a "d" at
289 # the end.
290 # This is a copy of https://codereview.chromium.org/1783973002.
291 # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
292 # so we don't have to copy their changes and risk breakages.
293 # See http://crbug.com/653569
294 if (is_debug) {
295 vcrt_suffix = "d"
296 } else {
297 vcrt_suffix = ""
298 }
299
300 # These runtime files are copied to the output directory by the
301 # vs_toolchain script that runs as part of toolchain configuration.
302 data = [
303 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
304 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
305 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
306
307 # Universal Windows 10 CRT files
308 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
309 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
310 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
311 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
312 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
313 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
314 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
315 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
316 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
317 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
318 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
319 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
320 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
321 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
322 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
323 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
324 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
325 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
326 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
327 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
328 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
329 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
330 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
331 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
332 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
333 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
334 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
335 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
336 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
337 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
338 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
339 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
340 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
341 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
342 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
343 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
344 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
345 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
346 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
347 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
348 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
349 ]
350 if (is_asan) {
351 if (current_cpu == "x64") {
352 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
353 } else {
354 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
355 }
356 }
357 }
358 if (is_nacl) {
359 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
360 }
361}
362
mbonadeibc378472017-09-11 03:43:34 -0700363if (is_mac && !build_with_chromium) {
364 config("rtc_base_approved_objc_all_dependent_config") {
365 visibility = [ ":rtc_base_approved_objc" ]
366 libs = [ "Foundation.framework" ] # needed for logging_mac.mm
367 }
368
369 rtc_source_set("rtc_base_approved_objc") {
370 visibility = [ ":rtc_base_approved" ]
371 all_dependent_configs = [ ":rtc_base_approved_objc_all_dependent_config" ]
372 sources = [
373 "logging_mac.mm",
374 ]
375 deps = [
376 ":rtc_base_approved_generic",
377 ]
378 }
379}
380
perkj650fdae2017-08-25 05:00:11 -0700381rtc_source_set("rtc_task_queue") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000382 visibility = [ "*" ]
mbonadei95c8f652017-08-27 23:40:10 -0700383 deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200384 ":rtc_base_approved",
mbonadei95c8f652017-08-27 23:40:10 -0700385 ]
386 public_deps = [
perkj650fdae2017-08-25 05:00:11 -0700387 ":rtc_task_queue_api",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200388 ]
389
perkj650fdae2017-08-25 05:00:11 -0700390 if (rtc_link_task_queue_impl) {
mbonadei95c8f652017-08-27 23:40:10 -0700391 deps += [ ":rtc_task_queue_impl" ]
perkj650fdae2017-08-25 05:00:11 -0700392 }
393}
394
395# WebRTC targets must not directly depend on rtc_task_queue_api or
396# rtc_task_queue_impl. Instead, depend on rtc_task_queue.
397# The build flag |rtc_link_task_queue_impl| decides if WebRTC targets will link
398# to the default implemenation in rtc_task_queue_impl or if an externally
399# provided implementation should be used. An external implementation should
400# depend on rtc_task_queue_api.
401rtc_source_set("rtc_task_queue_api") {
nisse75dd6d42017-09-19 08:28:00 -0700402 sources = [
403 "task_queue.h",
404 ]
perkj650fdae2017-08-25 05:00:11 -0700405 deps = [
406 ":rtc_base_approved",
407 ]
408}
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200409
perkj650fdae2017-08-25 05:00:11 -0700410rtc_source_set("rtc_task_queue_impl") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000411 visibility = [ "*" ]
perkj650fdae2017-08-25 05:00:11 -0700412 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100413 ":checks",
perkj650fdae2017-08-25 05:00:11 -0700414 ":rtc_base_approved",
415 ":rtc_task_queue_api",
416 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200417 if (rtc_build_libevent) {
418 deps += [ "//base/third_party/libevent" ]
419 }
420 if (rtc_enable_libevent) {
perkj650fdae2017-08-25 05:00:11 -0700421 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200422 "task_queue_libevent.cc",
423 "task_queue_posix.cc",
424 "task_queue_posix.h",
perkj650fdae2017-08-25 05:00:11 -0700425 ]
426 } else {
Niels Möller15c9cf72017-10-19 12:38:09 +0200427 if (is_mac || is_ios) {
Niels Möller17a04742017-09-27 10:53:21 +0200428 sources = [
Niels Möller15c9cf72017-10-19 12:38:09 +0200429 "task_queue_gcd.cc",
Henrik Boströma9a27712017-10-03 08:01:07 +0000430 "task_queue_posix.cc",
431 "task_queue_posix.h",
Niels Möller17a04742017-09-27 10:53:21 +0200432 ]
Niels Möller15c9cf72017-10-19 12:38:09 +0200433 }
434 if (is_win) {
435 sources = [
436 "task_queue_win.cc",
437 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200438 }
439 }
440}
441
442rtc_static_library("sequenced_task_checker") {
443 sources = [
444 "sequenced_task_checker.h",
445 "sequenced_task_checker_impl.cc",
446 "sequenced_task_checker_impl.h",
447 ]
448 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100449 ":checks",
mbonadei95c8f652017-08-27 23:40:10 -0700450 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200451 ":rtc_task_queue",
452 ]
453}
454
455rtc_static_library("weak_ptr") {
456 sources = [
457 "weak_ptr.cc",
458 "weak_ptr.h",
459 ]
460 deps = [
461 ":rtc_base_approved",
462 ":sequenced_task_checker",
463 ]
464}
465
466rtc_static_library("rtc_numerics") {
467 sources = [
468 "numerics/exp_filter.cc",
469 "numerics/exp_filter.h",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +0100470 "numerics/moving_median_filter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200471 "numerics/percentile_filter.h",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200472 "numerics/sequence_number_util.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200473 ]
474 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100475 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200476 ":rtc_base_approved",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100477 ":safe_compare",
Bjorn Tereliusa194e582017-10-25 13:07:09 +0200478 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200479 ]
480}
481
482config("rtc_base_warnings_config") {
483 if (is_win && is_clang) {
484 cflags = [
485 # Disable warnings failing when compiling with Clang on Windows.
486 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
487 "-Wno-sign-compare",
488 "-Wno-missing-braces",
489 ]
490 }
491}
492
493rtc_source_set("rtc_json") {
494 defines = []
495 sources = [
496 "json.cc",
497 "json.h",
498 ]
Mirko Bonadeia0e29fc2018-01-26 16:50:02 +0100499 all_dependent_configs = [ "//third_party/jsoncpp:jsoncpp_config" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200500 if (rtc_build_json) {
501 public_deps = [
502 "//third_party/jsoncpp",
503 ]
504 } else {
505 include_dirs = [ "$rtc_jsoncpp_root" ]
506
507 # When defined changes the include path for json.h to where it is
508 # expected to be when building json outside of the standalone build.
509 defines += [ "WEBRTC_EXTERNAL_JSON" ]
510 }
511}
512
mbonadei9c5e5112017-09-05 05:17:02 -0700513rtc_static_library("rtc_base") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000514 visibility = [ "*" ]
Dan Minor9c686132018-01-15 10:20:00 -0500515 public_deps = []
516 if (!build_with_mozilla) {
517 public_deps += [ ":rtc_base_generic" ]
518 }
mbonadei310e32b2017-09-07 07:36:28 -0700519 if (is_win) {
520 sources = [
521 "noop.cc",
522 ]
523 }
524 if (is_ios || is_mac) {
525 sources = [
526 "noop.mm",
527 ]
528 public_deps += [ ":rtc_base_objc" ]
529 }
530}
531
532if (is_ios || is_mac) {
533 rtc_source_set("rtc_base_objc") {
534 sources = [
535 "thread_darwin.mm",
536 ]
537 deps = [
538 ":rtc_base_generic",
539 ]
540 visibility = [ ":rtc_base" ]
541 }
542}
543
544rtc_static_library("rtc_base_generic") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200545 cflags = []
546 cflags_cc = []
547 libs = []
548 defines = []
549 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100550 ":checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100551 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200552 "..:webrtc_common",
Joachim Bauch58daf402017-12-21 22:00:34 +0100553 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -0700554 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200555 ]
556 public_deps = [
557 ":rtc_base_approved",
558 ]
559 public_configs = []
560
561 all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
562
563 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200564 "asyncinvoker-inl.h",
565 "asyncinvoker.cc",
566 "asyncinvoker.h",
567 "asyncpacketsocket.cc",
568 "asyncpacketsocket.h",
569 "asyncresolverinterface.cc",
570 "asyncresolverinterface.h",
571 "asyncsocket.cc",
572 "asyncsocket.h",
573 "asynctcpsocket.cc",
574 "asynctcpsocket.h",
575 "asyncudpsocket.cc",
576 "asyncudpsocket.h",
577 "crc32.cc",
578 "crc32.h",
579 "cryptstring.cc",
580 "cryptstring.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100581 "dscp.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200582 "filerotatingstream.cc",
583 "filerotatingstream.h",
584 "fileutils.cc",
585 "fileutils.h",
586 "gunit_prod.h",
587 "helpers.cc",
588 "helpers.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200589 "httpcommon-inl.h",
590 "httpcommon.cc",
591 "httpcommon.h",
592 "ipaddress.cc",
593 "ipaddress.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100594 "keep_ref_until_done.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200595 "messagedigest.cc",
596 "messagedigest.h",
597 "messagehandler.cc",
598 "messagehandler.h",
599 "messagequeue.cc",
600 "messagequeue.h",
Zhi Huang942bc2e2017-11-13 13:26:07 -0800601 "nethelper.cc",
602 "nethelper.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200603 "nethelpers.cc",
604 "nethelpers.h",
605 "network.cc",
606 "network.h",
Patrik Höglunde2d6a062017-10-05 14:53:33 +0200607 "network_constants.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200608 "networkmonitor.cc",
609 "networkmonitor.h",
Patrik Höglund76df0df2017-12-19 11:50:21 +0100610 "networkroute.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200611 "nullsocketserver.cc",
612 "nullsocketserver.h",
613 "openssl.h",
614 "openssladapter.cc",
615 "openssladapter.h",
616 "openssldigest.cc",
617 "openssldigest.h",
618 "opensslidentity.cc",
619 "opensslidentity.h",
620 "opensslstreamadapter.cc",
621 "opensslstreamadapter.h",
622 "physicalsocketserver.cc",
623 "physicalsocketserver.h",
624 "proxyinfo.cc",
625 "proxyinfo.h",
626 "ratelimiter.cc",
627 "ratelimiter.h",
628 "rtccertificate.cc",
629 "rtccertificate.h",
630 "rtccertificategenerator.cc",
631 "rtccertificategenerator.h",
deadbeef8290ddf2017-07-11 16:56:05 -0700632 "signalthread.cc",
633 "signalthread.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200634 "sigslot.cc",
635 "sigslot.h",
Taylor Brandstettere68b6c92017-10-05 09:13:55 -0700636 "sigslotrepeater.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200637 "socket.h",
638 "socketadapters.cc",
639 "socketadapters.h",
640 "socketaddress.cc",
641 "socketaddress.h",
642 "socketaddresspair.cc",
643 "socketaddresspair.h",
644 "socketfactory.h",
645 "socketserver.h",
646 "socketstream.cc",
647 "socketstream.h",
648 "ssladapter.cc",
649 "ssladapter.h",
650 "sslfingerprint.cc",
651 "sslfingerprint.h",
652 "sslidentity.cc",
653 "sslidentity.h",
654 "sslstreamadapter.cc",
655 "sslstreamadapter.h",
656 "stream.cc",
657 "stream.h",
658 "thread.cc",
659 "thread.h",
Joachim Bauch58daf402017-12-21 22:00:34 +0100660 "zero_memory.cc",
661 "zero_memory.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200662 ]
663
mbonadei310e32b2017-09-07 07:36:28 -0700664 visibility = [
665 ":rtc_base",
666 ":rtc_base_objc",
667 ]
668
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200669 # TODO(henrike): issue 3307, make rtc_base build with the Chromium default
670 # compiler settings.
671 suppressed_configs += [ "//build/config/compiler:chromium_code" ]
672 configs += [ "//build/config/compiler:no_chromium_code" ]
673 if (!is_win) {
674 cflags += [ "-Wno-uninitialized" ]
675 }
676
677 if (build_with_chromium) {
678 if (is_win) {
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200679 sources += [ "../../webrtc_overrides/rtc_base/win32socketinit.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200680 }
681 include_dirs = [ "../../boringssl/src/include" ]
682 public_configs += [ ":rtc_base_chromium_config" ]
683 } else {
684 configs += [ ":rtc_base_warnings_config" ]
685 sources += [
686 "callback.h",
687 "logsinks.cc",
688 "logsinks.h",
Karl Wiberg65c39222017-11-22 12:25:14 +0100689 "numerics/mathutils.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200690 "optionsfile.cc",
691 "optionsfile.h",
692 "rollingaccumulator.h",
693 "sslroots.h",
694 "transformadapter.cc",
695 "transformadapter.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200696 ]
697
698 if (is_win) {
699 sources += [
700 "win32socketinit.cc",
701 "win32socketinit.h",
702 "win32socketserver.cc",
703 "win32socketserver.h",
704 ]
705 }
706 } # !build_with_chromium
707
708 if (rtc_build_ssl) {
709 deps += [ "//third_party/boringssl" ]
Dan Minor9cdd8762018-01-16 10:40:39 -0500710 } else {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200711 configs += [ ":external_ssl_library" ]
712 }
713
714 if (is_android) {
715 sources += [
716 "ifaddrs-android.cc",
717 "ifaddrs-android.h",
718 ]
719
720 libs += [
721 "log",
722 "GLESv2",
723 ]
724 }
725
726 if (is_ios || is_mac) {
mbonadei310e32b2017-09-07 07:36:28 -0700727 sources += [ "macifaddrs_converter.cc" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200728 }
729
Joachim Bauch75f18fc2017-12-20 21:25:47 +0100730 if (rtc_use_x11) {
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200731 libs += [
732 "dl",
733 "rt",
734 "Xext",
735 "X11",
736 "Xcomposite",
737 "Xrender",
738 ]
739 }
740
741 if (is_linux) {
742 libs += [
743 "dl",
744 "rt",
745 ]
746 }
747
748 if (is_mac) {
749 sources += [
750 "macutils.cc",
751 "macutils.h",
752 ]
753 libs += [
754 # For ProcessInformationCopyDictionary in unixfilesystem.cc.
755 "ApplicationServices.framework",
756 ]
757 }
758
759 if (is_win) {
760 sources += [
761 "win32.cc",
762 "win32.h",
763 "win32filesystem.cc",
764 "win32filesystem.h",
765 "win32securityerrors.cc",
766 "win32window.cc",
767 "win32window.h",
768 ]
769
770 libs += [
771 "crypt32.lib",
772 "iphlpapi.lib",
773 "secur32.lib",
774 ]
775
776 cflags += [
777 # Suppress warnings about WIN32_LEAN_AND_MEAN.
778 "/wd4005",
779 "/wd4703",
780 ]
781
782 defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
783 }
784
785 if (is_posix) {
786 sources += [
787 "ifaddrs_converter.cc",
788 "ifaddrs_converter.h",
789 "unixfilesystem.cc",
790 "unixfilesystem.h",
791 ]
792 }
793
794 if (is_nacl) {
795 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
796 defines += [ "timezone=_timezone" ]
797 sources -= [ "ifaddrs_converter.cc" ]
798 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200799}
800
801rtc_source_set("gtest_prod") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000802 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200803 sources = [
804 "gtest_prod_util.h",
805 ]
806}
807
808config("rtc_base_tests_utils_exported_config") {
809 defines = [ "GTEST_RELATIVE_PATH" ]
810}
811
812config("rtc_base_tests_utils_warnings_config") {
813 if (is_win && is_clang) {
814 cflags = [
815 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
816 "-Wno-reorder",
817 "-Wno-sign-compare",
818 ]
819 }
820}
821
822rtc_source_set("rtc_base_tests_utils") {
823 testonly = true
824 sources = [
825 # Also use this as a convenient dumping ground for misc files that are
826 # included by multiple targets below.
827 "cpu_time.cc",
828 "cpu_time.h",
829 "fakeclock.cc",
830 "fakeclock.h",
831 "fakenetwork.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700832 "fakesslidentity.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200833 "fakesslidentity.h",
834 "firewallsocketserver.cc",
835 "firewallsocketserver.h",
Steve Antonad7bffc2018-01-22 10:21:56 -0800836 "gunit.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200837 "gunit.h",
Niels Möller3c8a5f22017-12-15 16:04:21 +0100838 "httpbase.cc",
839 "httpbase.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200840 "httpserver.cc",
841 "httpserver.h",
842 "md5.cc",
843 "md5.h",
844 "md5digest.cc",
845 "md5digest.h",
846 "memory_usage.cc",
847 "memory_usage.h",
848 "natserver.cc",
849 "natserver.h",
850 "natsocketfactory.cc",
851 "natsocketfactory.h",
852 "nattypes.cc",
853 "nattypes.h",
854 "proxyserver.cc",
855 "proxyserver.h",
Patrik Höglund563934e2017-09-15 09:04:28 +0200856 "refcount.h",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200857 "sha1.cc",
858 "sha1.h",
859 "sha1digest.cc",
860 "sha1digest.h",
861 "sigslottester.h",
862 "sigslottester.h.pump",
863 "testbase64.h",
864 "testclient.cc",
865 "testclient.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700866 "testechoserver.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200867 "testechoserver.h",
Steve Anton9de3aac2017-10-24 10:08:26 -0700868 "testutils.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200869 "testutils.h",
870 "timedelta.h",
871 "virtualsocketserver.cc",
872 "virtualsocketserver.h",
873 ]
874 configs += [ ":rtc_base_tests_utils_warnings_config" ]
875 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
876 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100877 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200878 ":rtc_base",
Patrik Höglund3e113432017-12-15 14:40:10 +0100879 ":stringutils",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200880 "../test:field_trial",
881 "../test:test_support",
Karl Wiberg80ba3332018-02-05 10:33:35 +0100882 "system:fallthrough",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200883 ]
884 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200885 "//testing/gtest",
886 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200887}
888
889if (rtc_include_tests) {
890 rtc_source_set("rtc_base_tests_main") {
891 testonly = true
892 sources = [
893 "unittest_main.cc",
894 ]
895 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
896 deps = [
897 ":rtc_base",
898 ":rtc_base_approved",
899 ":rtc_base_tests_utils",
Bjorn Tereliusedab3012018-01-31 17:23:40 +0100900 "../system_wrappers:field_trial_default",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200901 "../test:field_trial",
902 "../test:test_support",
903 ]
904
905 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200906 "//testing/gtest",
907 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200908 }
909
910 rtc_source_set("rtc_base_nonparallel_tests") {
911 testonly = true
912
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200913 sources = [
914 "cpu_time_unittest.cc",
915 "filerotatingstream_unittest.cc",
916 "nullsocketserver_unittest.cc",
917 "physicalsocketserver_unittest.cc",
918 "socket_unittest.cc",
919 "socket_unittest.h",
920 "socketaddress_unittest.cc",
921 ]
922 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100923 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200924 ":rtc_base",
925 ":rtc_base_tests_main",
926 ":rtc_base_tests_utils",
927 "../system_wrappers:system_wrappers",
928 "../test:test_support",
929 "//testing/gtest",
930 ]
931 if (is_win) {
932 sources += [ "win32socketserver_unittest.cc" ]
933 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200934 }
935
936 rtc_source_set("rtc_base_approved_unittests") {
937 testonly = true
938
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200939 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200940 "atomicops_unittest.cc",
941 "base64_unittest.cc",
942 "basictypes_unittest.cc",
943 "bind_unittest.cc",
944 "bitbuffer_unittest.cc",
Alex Narestd0e196b2017-11-22 17:22:35 +0100945 "bitrateallocationstrategy_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200946 "buffer_unittest.cc",
947 "bufferqueue_unittest.cc",
948 "bytebuffer_unittest.cc",
949 "byteorder_unittest.cc",
950 "copyonwritebuffer_unittest.cc",
951 "criticalsection_unittest.cc",
952 "event_tracer_unittest.cc",
953 "event_unittest.cc",
954 "file_unittest.cc",
955 "function_view_unittest.cc",
956 "logging_unittest.cc",
957 "md5digest_unittest.cc",
Karl Wiberg65c39222017-11-22 12:25:14 +0100958 "numerics/histogram_percentile_counter_unittest.cc",
959 "numerics/mod_ops_unittest.cc",
960 "numerics/moving_max_counter_unittest.cc",
Karl Wiberge40468b2017-11-22 10:42:26 +0100961 "numerics/safe_compare_unittest.cc",
962 "numerics/safe_minmax_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200963 "onetimeevent_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200964 "pathutils_unittest.cc",
965 "platform_thread_unittest.cc",
966 "random_unittest.cc",
967 "rate_limiter_unittest.cc",
968 "rate_statistics_unittest.cc",
969 "ratetracker_unittest.cc",
970 "refcountedobject_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200971 "string_to_number_unittest.cc",
972 "stringencode_unittest.cc",
973 "stringize_macros_unittest.cc",
974 "stringutils_unittest.cc",
975 "swap_queue_unittest.cc",
976 "thread_annotations_unittest.cc",
977 "thread_checker_unittest.cc",
978 "timestampaligner_unittest.cc",
979 "timeutils_unittest.cc",
980 "virtualsocket_unittest.cc",
981 ]
982 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100983 ":checks",
984 ":rate_limiter",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200985 ":rtc_base",
986 ":rtc_base_approved",
987 ":rtc_base_tests_main",
988 ":rtc_base_tests_utils",
989 ":rtc_task_queue",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100990 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100991 ":stringutils",
kwiberg529662a2017-09-04 05:43:17 -0700992 "../api:array_view",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200993 "../system_wrappers:system_wrappers",
994 "../test:test_support",
995 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200996 }
997
998 rtc_source_set("rtc_task_queue_unittests") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000999 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001000 testonly = true
1001
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001002 sources = [
1003 "task_queue_unittest.cc",
1004 ]
1005 deps = [
mbonadei95c8f652017-08-27 23:40:10 -07001006 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001007 ":rtc_base_tests_main",
1008 ":rtc_base_tests_utils",
1009 ":rtc_task_queue",
1010 "../test:test_support",
1011 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001012 }
1013
1014 rtc_source_set("sequenced_task_checker_unittests") {
1015 testonly = true
1016
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001017 sources = [
1018 "sequenced_task_checker_unittest.cc",
1019 ]
1020 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001021 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001022 ":rtc_base_approved",
1023 ":rtc_base_tests_main",
1024 ":rtc_task_queue",
1025 ":sequenced_task_checker",
1026 "../test:test_support",
1027 ]
1028 }
1029
1030 rtc_source_set("weak_ptr_unittests") {
1031 testonly = true
1032
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001033 sources = [
1034 "weak_ptr_unittest.cc",
1035 ]
1036 deps = [
Tommi897e1362017-12-01 18:56:43 +01001037 ":rtc_base_approved_generic",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001038 ":rtc_base_tests_main",
1039 ":rtc_base_tests_utils",
1040 ":rtc_task_queue",
1041 ":weak_ptr",
1042 "../test:test_support",
1043 ]
1044 }
1045
1046 rtc_source_set("rtc_numerics_unittests") {
1047 testonly = true
1048
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001049 sources = [
1050 "numerics/exp_filter_unittest.cc",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +01001051 "numerics/moving_median_filter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001052 "numerics/percentile_filter_unittest.cc",
Bjorn Tereliusa194e582017-10-25 13:07:09 +02001053 "numerics/sequence_number_util_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001054 ]
1055 deps = [
1056 ":rtc_base_approved",
1057 ":rtc_base_tests_main",
1058 ":rtc_numerics",
1059 "../test:test_support",
1060 ]
1061 }
1062
1063 config("rtc_base_unittests_config") {
1064 if (is_clang) {
1065 cflags = [ "-Wno-unused-const-variable" ]
1066 }
1067 }
1068 rtc_source_set("rtc_base_unittests") {
1069 testonly = true
1070
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001071 sources = [
1072 "callback_unittest.cc",
1073 "crc32_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001074 "helpers_unittest.cc",
1075 "httpbase_unittest.cc",
1076 "httpcommon_unittest.cc",
1077 "httpserver_unittest.cc",
1078 "ipaddress_unittest.cc",
1079 "memory_usage_unittest.cc",
1080 "messagedigest_unittest.cc",
1081 "messagequeue_unittest.cc",
1082 "nat_unittest.cc",
1083 "network_unittest.cc",
1084 "optionsfile_unittest.cc",
1085 "proxy_unittest.cc",
1086 "ptr_util_unittest.cc",
1087 "ratelimiter_unittest.cc",
1088 "rollingaccumulator_unittest.cc",
1089 "rtccertificate_unittest.cc",
1090 "rtccertificategenerator_unittest.cc",
1091 "sha1digest_unittest.cc",
deadbeef8290ddf2017-07-11 16:56:05 -07001092 "signalthread_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001093 "sigslot_unittest.cc",
1094 "sigslottester_unittest.cc",
1095 "stream_unittest.cc",
1096 "testclient_unittest.cc",
1097 "thread_unittest.cc",
Joachim Bauch58daf402017-12-21 22:00:34 +01001098 "zero_memory_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001099 ]
1100 if (is_win) {
1101 sources += [
1102 "win32_unittest.cc",
1103 "win32window_unittest.cc",
1104 ]
1105 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001106 if (is_posix) {
1107 sources += [
Diogo Real1dca9d52017-08-29 12:18:32 -07001108 "openssladapter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001109 "ssladapter_unittest.cc",
1110 "sslidentity_unittest.cc",
1111 "sslstreamadapter_unittest.cc",
1112 ]
1113 }
1114 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001115 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001116 ":rtc_base_tests_main",
1117 ":rtc_base_tests_utils",
Patrik Höglund3e113432017-12-15 14:40:10 +01001118 ":stringutils",
Joachim Bauch58daf402017-12-21 22:00:34 +01001119 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -07001120 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001121 "../test:test_support",
1122 ]
1123 public_deps = [
1124 ":rtc_base",
1125 ]
1126 configs += [ ":rtc_base_unittests_config" ]
Diogo Real1dca9d52017-08-29 12:18:32 -07001127 if (build_with_chromium) {
1128 include_dirs = [ "../../boringssl/src/include" ]
1129 }
1130 if (rtc_build_ssl) {
1131 deps += [ "//third_party/boringssl" ]
1132 } else {
1133 configs += [ ":external_ssl_library" ]
1134 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001135 }
1136}
1137
Henrik Kjellander73e21802017-06-20 08:38:58 +02001138if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:33 +00001139 rtc_android_library("base_java") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001140 java_files = [
1141 "java/src/org/webrtc/ContextUtils.java",
1142 "java/src/org/webrtc/Logging.java",
1143 "java/src/org/webrtc/Size.java",
1144 "java/src/org/webrtc/ThreadUtils.java",
1145 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +02001146 }
1147}