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