blob: f18c0f5239b616a049565f6eb66f35d1e5401c95 [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",
882 ]
883 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200884 "//testing/gtest",
885 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200886}
887
888if (rtc_include_tests) {
889 rtc_source_set("rtc_base_tests_main") {
890 testonly = true
891 sources = [
892 "unittest_main.cc",
893 ]
894 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
895 deps = [
896 ":rtc_base",
897 ":rtc_base_approved",
898 ":rtc_base_tests_utils",
899 "../test:field_trial",
900 "../test:test_support",
901 ]
902
903 public_deps = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200904 "//testing/gtest",
905 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200906 }
907
908 rtc_source_set("rtc_base_nonparallel_tests") {
909 testonly = true
910
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200911 sources = [
912 "cpu_time_unittest.cc",
913 "filerotatingstream_unittest.cc",
914 "nullsocketserver_unittest.cc",
915 "physicalsocketserver_unittest.cc",
916 "socket_unittest.cc",
917 "socket_unittest.h",
918 "socketaddress_unittest.cc",
919 ]
920 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100921 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200922 ":rtc_base",
923 ":rtc_base_tests_main",
924 ":rtc_base_tests_utils",
925 "../system_wrappers:system_wrappers",
926 "../test:test_support",
927 "//testing/gtest",
928 ]
929 if (is_win) {
930 sources += [ "win32socketserver_unittest.cc" ]
931 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200932 }
933
934 rtc_source_set("rtc_base_approved_unittests") {
935 testonly = true
936
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200937 sources = [
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200938 "atomicops_unittest.cc",
939 "base64_unittest.cc",
940 "basictypes_unittest.cc",
941 "bind_unittest.cc",
942 "bitbuffer_unittest.cc",
Alex Narestd0e196b2017-11-22 17:22:35 +0100943 "bitrateallocationstrategy_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200944 "buffer_unittest.cc",
945 "bufferqueue_unittest.cc",
946 "bytebuffer_unittest.cc",
947 "byteorder_unittest.cc",
948 "copyonwritebuffer_unittest.cc",
949 "criticalsection_unittest.cc",
950 "event_tracer_unittest.cc",
951 "event_unittest.cc",
952 "file_unittest.cc",
953 "function_view_unittest.cc",
954 "logging_unittest.cc",
955 "md5digest_unittest.cc",
Karl Wiberg65c39222017-11-22 12:25:14 +0100956 "numerics/histogram_percentile_counter_unittest.cc",
957 "numerics/mod_ops_unittest.cc",
958 "numerics/moving_max_counter_unittest.cc",
Karl Wiberge40468b2017-11-22 10:42:26 +0100959 "numerics/safe_compare_unittest.cc",
960 "numerics/safe_minmax_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200961 "onetimeevent_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200962 "pathutils_unittest.cc",
963 "platform_thread_unittest.cc",
964 "random_unittest.cc",
965 "rate_limiter_unittest.cc",
966 "rate_statistics_unittest.cc",
967 "ratetracker_unittest.cc",
968 "refcountedobject_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200969 "string_to_number_unittest.cc",
970 "stringencode_unittest.cc",
971 "stringize_macros_unittest.cc",
972 "stringutils_unittest.cc",
973 "swap_queue_unittest.cc",
974 "thread_annotations_unittest.cc",
975 "thread_checker_unittest.cc",
976 "timestampaligner_unittest.cc",
977 "timeutils_unittest.cc",
978 "virtualsocket_unittest.cc",
979 ]
980 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100981 ":checks",
982 ":rate_limiter",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200983 ":rtc_base",
984 ":rtc_base_approved",
985 ":rtc_base_tests_main",
986 ":rtc_base_tests_utils",
987 ":rtc_task_queue",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100988 ":safe_compare",
Patrik Höglund3e113432017-12-15 14:40:10 +0100989 ":stringutils",
kwiberg529662a2017-09-04 05:43:17 -0700990 "../api:array_view",
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200991 "../system_wrappers:system_wrappers",
992 "../test:test_support",
993 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200994 }
995
996 rtc_source_set("rtc_task_queue_unittests") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000997 visibility = [ "*" ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +0200998 testonly = true
999
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001000 sources = [
1001 "task_queue_unittest.cc",
1002 ]
1003 deps = [
mbonadei95c8f652017-08-27 23:40:10 -07001004 ":rtc_base_approved",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001005 ":rtc_base_tests_main",
1006 ":rtc_base_tests_utils",
1007 ":rtc_task_queue",
1008 "../test:test_support",
1009 ]
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001010 }
1011
1012 rtc_source_set("sequenced_task_checker_unittests") {
1013 testonly = true
1014
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001015 sources = [
1016 "sequenced_task_checker_unittest.cc",
1017 ]
1018 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001019 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001020 ":rtc_base_approved",
1021 ":rtc_base_tests_main",
1022 ":rtc_task_queue",
1023 ":sequenced_task_checker",
1024 "../test:test_support",
1025 ]
1026 }
1027
1028 rtc_source_set("weak_ptr_unittests") {
1029 testonly = true
1030
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001031 sources = [
1032 "weak_ptr_unittest.cc",
1033 ]
1034 deps = [
Tommi897e1362017-12-01 18:56:43 +01001035 ":rtc_base_approved_generic",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001036 ":rtc_base_tests_main",
1037 ":rtc_base_tests_utils",
1038 ":rtc_task_queue",
1039 ":weak_ptr",
1040 "../test:test_support",
1041 ]
1042 }
1043
1044 rtc_source_set("rtc_numerics_unittests") {
1045 testonly = true
1046
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001047 sources = [
1048 "numerics/exp_filter_unittest.cc",
Ilya Nikolaevskiyb9685752017-11-01 14:01:00 +01001049 "numerics/moving_median_filter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001050 "numerics/percentile_filter_unittest.cc",
Bjorn Tereliusa194e582017-10-25 13:07:09 +02001051 "numerics/sequence_number_util_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001052 ]
1053 deps = [
1054 ":rtc_base_approved",
1055 ":rtc_base_tests_main",
1056 ":rtc_numerics",
1057 "../test:test_support",
1058 ]
1059 }
1060
1061 config("rtc_base_unittests_config") {
1062 if (is_clang) {
1063 cflags = [ "-Wno-unused-const-variable" ]
1064 }
1065 }
1066 rtc_source_set("rtc_base_unittests") {
1067 testonly = true
1068
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001069 sources = [
1070 "callback_unittest.cc",
1071 "crc32_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001072 "helpers_unittest.cc",
1073 "httpbase_unittest.cc",
1074 "httpcommon_unittest.cc",
1075 "httpserver_unittest.cc",
1076 "ipaddress_unittest.cc",
1077 "memory_usage_unittest.cc",
1078 "messagedigest_unittest.cc",
1079 "messagequeue_unittest.cc",
1080 "nat_unittest.cc",
1081 "network_unittest.cc",
1082 "optionsfile_unittest.cc",
1083 "proxy_unittest.cc",
1084 "ptr_util_unittest.cc",
1085 "ratelimiter_unittest.cc",
1086 "rollingaccumulator_unittest.cc",
1087 "rtccertificate_unittest.cc",
1088 "rtccertificategenerator_unittest.cc",
1089 "sha1digest_unittest.cc",
deadbeef8290ddf2017-07-11 16:56:05 -07001090 "signalthread_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001091 "sigslot_unittest.cc",
1092 "sigslottester_unittest.cc",
1093 "stream_unittest.cc",
1094 "testclient_unittest.cc",
1095 "thread_unittest.cc",
Joachim Bauch58daf402017-12-21 22:00:34 +01001096 "zero_memory_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001097 ]
1098 if (is_win) {
1099 sources += [
1100 "win32_unittest.cc",
1101 "win32window_unittest.cc",
1102 ]
1103 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001104 if (is_posix) {
1105 sources += [
Diogo Real1dca9d52017-08-29 12:18:32 -07001106 "openssladapter_unittest.cc",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001107 "ssladapter_unittest.cc",
1108 "sslidentity_unittest.cc",
1109 "sslstreamadapter_unittest.cc",
1110 ]
1111 }
1112 deps = [
Patrik Höglunda8005cf2017-12-13 16:05:42 +01001113 ":checks",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001114 ":rtc_base_tests_main",
1115 ":rtc_base_tests_utils",
Patrik Höglund3e113432017-12-15 14:40:10 +01001116 ":stringutils",
Joachim Bauch58daf402017-12-21 22:00:34 +01001117 "../api:array_view",
kwiberg84f6a3f2017-09-05 08:43:13 -07001118 "../api:optional",
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001119 "../test:test_support",
1120 ]
1121 public_deps = [
1122 ":rtc_base",
1123 ]
1124 configs += [ ":rtc_base_unittests_config" ]
Diogo Real1dca9d52017-08-29 12:18:32 -07001125 if (build_with_chromium) {
1126 include_dirs = [ "../../boringssl/src/include" ]
1127 }
1128 if (rtc_build_ssl) {
1129 deps += [ "//third_party/boringssl" ]
1130 } else {
1131 configs += [ ":external_ssl_library" ]
1132 }
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001133 }
1134}
1135
Henrik Kjellander73e21802017-06-20 08:38:58 +02001136if (is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:33 +00001137 rtc_android_library("base_java") {
Henrik Kjellanderc0362762017-06-29 08:03:04 +02001138 java_files = [
1139 "java/src/org/webrtc/ContextUtils.java",
1140 "java/src/org/webrtc/Logging.java",
1141 "java/src/org/webrtc/Size.java",
1142 "java/src/org/webrtc/ThreadUtils.java",
1143 ]
Henrik Kjellander73e21802017-06-20 08:38:58 +02001144 }
1145}