blob: 26c0c2cfd143465f7b7eebd105de781031c080eb [file] [log] [blame]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +00001# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
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
9import("//build/config/crypto.gni")
henrike@webrtc.orgfb1eb432014-08-15 14:44:13 +000010import("//build/config/ui.gni")
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000011import("../build/webrtc.gni")
12
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +020013if (is_android) {
14 import("//build/config/android/config.gni")
15 import("//build/config/android/rules.gni")
16}
ehmaldonado2334b702016-10-07 02:47:38 -070017if (is_win) {
ehmaldonado5c639892016-10-17 12:28:44 -070018 import("//build/config/clang/clang.gni")
ehmaldonado2334b702016-10-07 02:47:38 -070019}
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +020020
kjellander6ceab082016-10-28 05:44:03 -070021group("base") {
22 public_deps = [
23 ":rtc_base",
24 ":rtc_base_approved",
25 ":rtc_task_queue",
26 ]
27 if (is_android) {
28 public_deps += [ ":base_java" ]
29 }
30}
31
kjellander84ba8b62016-04-24 23:03:07 -070032config("rtc_base_approved_all_dependent_config") {
33 if (is_mac && !build_with_chromium) {
34 libs = [ "Foundation.framework" ] # needed for logging_mac.mm
35 }
36}
37
kjellander@webrtc.orgc429b822015-01-21 20:22:33 +000038config("rtc_base_config") {
kjellandera101e562016-10-27 02:34:31 -070039 defines = [ "FEATURE_ENABLE_SSL" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000040}
41
kjellander@webrtc.orgc429b822015-01-21 20:22:33 +000042config("rtc_base_chromium_config") {
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020043 defines = [ "NO_MAIN_THREAD_WRAPPING" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000044}
45
46config("openssl_config") {
47 defines = [
48 "SSL_USE_OPENSSL",
49 "HAVE_OPENSSL_SSL_H",
50 ]
51}
52
kjellanderb1f14062016-04-25 00:01:36 -070053config("rtc_base_all_dependent_config") {
54 if (is_ios) {
55 libs = [
56 "CFNetwork.framework",
Zeke Chin2d3b7e22015-07-14 12:55:44 -070057
kjellanderb1f14062016-04-25 00:01:36 -070058 #"Foundation.framework", # Already in //build/config:default_libs.
59 "Security.framework",
60 "SystemConfiguration.framework",
kjellander3bcedd32016-06-08 01:14:15 -070061 "UIKit.framework",
kjellanderb1f14062016-04-25 00:01:36 -070062 ]
63 }
64 if (is_mac) {
65 libs = [
66 "Cocoa.framework",
67 "Foundation.framework",
68 "IOKit.framework",
69 "Security.framework",
70 "SystemConfiguration.framework",
71 ]
kjellanderb1f14062016-04-25 00:01:36 -070072 }
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000073}
74
kjellander@webrtc.org4a251992014-08-18 17:56:28 +000075if (is_linux && !build_with_chromium) {
76 # Provides the same functionality as the //crypto:platform target, which
77 # WebRTC cannot use as we don't sync src/crypto from Chromium.
78 group("linux_system_ssl") {
svaldez7f7a8192016-04-18 11:13:11 -070079 deps = [
80 "//third_party/boringssl",
81 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +000082 }
83}
84
kjellanderec5c9062016-08-19 01:07:30 -070085if (!rtc_build_ssl) {
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +000086 config("external_ssl_library") {
kjellander@webrtc.org6d08ca62014-09-07 17:36:10 +000087 assert(rtc_ssl_root != "",
88 "You must specify rtc_ssl_root when rtc_build_ssl==0.")
89 include_dirs = [ rtc_ssl_root ]
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +000090 }
91}
kjellander@webrtc.org4a251992014-08-18 17:56:28 +000092
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000093# The subset of rtc_base approved for use outside of libjingle.
ehmaldonado38a21322016-09-02 04:10:34 -070094rtc_static_library("rtc_base_approved") {
tommic06b1332016-05-14 11:31:40 -070095 defines = []
aleloi16f55a12016-08-23 08:08:23 -070096 libs = []
Peter Boström11e02292015-11-25 21:36:14 +010097 deps = []
kjellander84ba8b62016-04-24 23:03:07 -070098 all_dependent_configs = [ ":rtc_base_approved_all_dependent_config" ]
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +000099
100 sources = [
Karl Wiberge2a83ee2015-10-26 19:51:29 +0100101 "array_view.h",
maxmorinec623742016-09-15 05:11:55 -0700102 "arraysize.h",
Peter Boströmff019b02015-04-30 14:16:07 +0200103 "atomicops.h",
philipela9a1ac22016-10-28 14:23:14 +0200104 "base64.cc",
105 "base64.h",
ehmaldonadoda8dcfb2017-01-04 07:11:23 -0800106 "basictypes.h",
Tommicc4fdde2016-04-22 19:34:59 +0200107 "bind.h",
Noah Richards915590e2015-04-22 15:43:08 -0700108 "bitbuffer.cc",
109 "bitbuffer.h",
Karl Wiberg94784372015-04-20 14:03:07 +0200110 "buffer.h",
Joachim Bauch6f2ef742015-05-21 17:52:01 +0200111 "bufferqueue.cc",
112 "bufferqueue.h",
Noah Richards915590e2015-04-22 15:43:08 -0700113 "bytebuffer.cc",
114 "bytebuffer.h",
115 "byteorder.h",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000116 "checks.cc",
117 "checks.h",
Peter Boströmfd5dae32015-11-26 12:54:24 +0100118 "constructormagic.h",
tommiebfbab52016-03-19 11:36:18 -0700119 "copyonwritebuffer.cc",
120 "copyonwritebuffer.h",
Tommi494f2092015-04-27 17:39:23 +0200121 "criticalsection.cc",
122 "criticalsection.h",
kwiberg45fd9fe2015-12-16 01:09:16 -0800123 "deprecation.h",
tommi@webrtc.org4c0fd962015-02-09 10:23:27 +0000124 "event.cc",
125 "event.h",
tommi@webrtc.org7c64ed22015-03-17 14:25:37 +0000126 "event_tracer.cc",
127 "event_tracer.h",
Viktor Palmkvist4ec6a0c2016-09-02 13:38:32 +0200128 "file.cc",
129 "file.h",
zijiehedd87d582016-12-06 15:04:02 -0800130 "flags.cc",
131 "flags.h",
ivoc48052312016-08-25 04:43:45 -0700132 "format_macros.h",
kwiberg24c7c122016-09-28 11:57:10 -0700133 "function_view.h",
kwiberg77eab702016-09-28 17:42:01 -0700134 "ignore_wundef.h",
Taylor Brandstetter5d97a9a2016-06-10 14:17:27 -0700135 "location.cc",
136 "location.h",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000137 "md5.cc",
138 "md5.h",
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000139 "md5digest.cc",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000140 "md5digest.h",
kjellandera8a7ef62016-04-05 08:13:31 -0700141 "mod_ops.h",
skvlad98bb6642016-04-07 15:36:45 -0700142 "onetimeevent.h",
kwiberg2b11fd22016-09-09 03:35:24 -0700143 "optional.cc",
Karl Wibergbe579832015-11-10 22:34:18 +0100144 "optional.h",
zijiehedd87d582016-12-06 15:04:02 -0800145 "pathutils.cc",
146 "pathutils.h",
xians@webrtc.orge46bc772014-10-10 08:36:56 +0000147 "platform_file.cc",
148 "platform_file.h",
Tommibebc6902015-05-18 09:51:42 +0200149 "platform_thread.cc",
150 "platform_thread.h",
pbos12411ef2015-11-23 14:47:56 -0800151 "platform_thread_types.h",
Peter Boström02bafc62016-07-01 12:45:15 +0200152 "race_checker.cc",
153 "race_checker.h",
terelius84e78f92015-12-10 01:50:55 -0800154 "random.cc",
155 "random.h",
sprangcd349d92016-07-13 09:11:28 -0700156 "rate_limiter.cc",
157 "rate_limiter.h",
tkchinf75d0082016-02-23 22:49:42 -0800158 "rate_statistics.cc",
159 "rate_statistics.h",
kjellandera8a7ef62016-04-05 08:13:31 -0700160 "ratetracker.cc",
161 "ratetracker.h",
tommi04af8392016-02-14 08:11:10 -0800162 "refcount.h",
perkj0489e492016-10-20 00:24:01 -0700163 "refcountedobject.h",
kwiberg8a44e1d2016-11-01 12:04:26 -0700164 "safe_compare.h",
Tommid44c0772016-03-11 17:12:32 -0800165 "safe_conversions.h",
166 "safe_conversions_impl.h",
kwibergac554ee2016-09-02 00:39:33 -0700167 "sanitizer.h",
tommi04af8392016-02-14 08:11:10 -0800168 "scoped_ref_ptr.h",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000169 "stringencode.cc",
170 "stringencode.h",
171 "stringutils.cc",
172 "stringutils.h",
terelius85fa7d52016-03-24 01:51:52 -0700173 "swap_queue.h",
skvladffb865f2016-12-16 16:48:28 -0800174 "systeminfo.cc",
175 "systeminfo.h",
kwiberg@webrtc.orgaf9d56f2015-01-13 20:32:04 +0000176 "template_util.h",
pbos@webrtc.org38344ed2014-09-24 06:05:00 +0000177 "thread_annotations.h",
tommi@webrtc.org04cd4662015-01-26 15:27:29 +0000178 "thread_checker.h",
179 "thread_checker_impl.cc",
180 "thread_checker_impl.h",
nisse191b3592016-06-22 08:36:53 -0700181 "timestampaligner.cc",
182 "timestampaligner.h",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000183 "timeutils.cc",
184 "timeutils.h",
tommi@webrtc.org7c64ed22015-03-17 14:25:37 +0000185 "trace_event.h",
kwibergd3134032016-09-05 07:46:20 -0700186 "type_traits.h",
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000187 ]
Noah Richards915590e2015-04-22 15:43:08 -0700188
aleloi16f55a12016-08-23 08:08:23 -0700189 if (is_android) {
190 libs += [ "log" ]
191 }
192
Viktor Palmkvist4ec6a0c2016-09-02 13:38:32 +0200193 if (is_posix) {
194 sources += [ "file_posix.cc" ]
195 }
196
197 if (is_win) {
198 sources += [ "file_win.cc" ]
199 }
200
Peter Boström11e02292015-11-25 21:36:14 +0100201 if (build_with_chromium) {
202 # Dependency on chromium's logging (in //base).
203 deps += [ "//base:base" ]
204 sources += [
205 "../../webrtc_overrides/webrtc/base/logging.cc",
206 "../../webrtc_overrides/webrtc/base/logging.h",
207 ]
Peter Boström11e02292015-11-25 21:36:14 +0100208 } else {
Noah Richards915590e2015-04-22 15:43:08 -0700209 sources += [
Tommi23edcff2015-05-25 10:45:43 +0200210 "logging.cc",
211 "logging.h",
Tommi09ca02e2016-04-24 17:32:48 +0200212 "logging_mac.mm",
Noah Richards915590e2015-04-22 15:43:08 -0700213 ]
214 }
ehmaldonado2334b702016-10-07 02:47:38 -0700215 if (is_component_build && is_win) {
216 # Copy the VS runtime DLLs into the isolate so that they don't have to be
217 # preinstalled on the target machine. The debug runtimes have a "d" at
218 # the end.
219 # This is a copy of https://codereview.chromium.org/1783973002.
220 # TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
221 # so we don't have to copy their changes and risk breakages.
222 # See http://crbug.com/653569
223 if (is_debug) {
224 vcrt_suffix = "d"
225 } else {
226 vcrt_suffix = ""
227 }
228
229 # These runtime files are copied to the output directory by the
230 # vs_toolchain script that runs as part of toolchain configuration.
ehmaldonado809f9772016-11-03 11:26:34 -0700231 data = [
232 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
233 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
234 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
ehmaldonado2334b702016-10-07 02:47:38 -0700235
ehmaldonado809f9772016-11-03 11:26:34 -0700236 # Universal Windows 10 CRT files
237 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
238 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
239 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
240 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
241 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
242 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
243 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
244 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
245 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
246 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
247 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
248 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
249 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
250 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
251 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
252 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
253 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
254 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
255 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
256 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
257 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
258 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
259 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
260 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
261 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
262 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
263 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
264 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
265 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
266 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
267 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
268 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
269 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
270 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
271 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
272 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
273 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
274 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
275 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
276 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
277 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
278 ]
ehmaldonado2334b702016-10-07 02:47:38 -0700279 if (is_asan) {
280 if (current_cpu == "x64") {
281 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
282 } else {
283 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
284 }
285 }
286 }
tommi09c60da2016-05-24 11:40:35 -0700287}
288
Per33b9c8f2016-07-15 08:25:42 +0200289config("enable_libevent_config") {
290 defines = [ "WEBRTC_BUILD_LIBEVENT" ]
291}
292
ehmaldonado38a21322016-09-02 04:10:34 -0700293rtc_static_library("rtc_task_queue") {
kjellanderbac04122016-06-02 02:18:48 -0700294 public_deps = [
295 ":rtc_base_approved",
296 ]
tommi09c60da2016-05-24 11:40:35 -0700297
298 sources = [
perkj9c16fe82016-07-12 15:04:07 -0700299 "sequenced_task_checker.h",
300 "sequenced_task_checker_impl.cc",
301 "sequenced_task_checker_impl.h",
perkj8ff860a2016-10-03 00:30:04 -0700302 "weak_ptr.cc",
303 "weak_ptr.h",
tommi09c60da2016-05-24 11:40:35 -0700304 ]
tommic06b1332016-05-14 11:31:40 -0700305
perkj84bd5c72016-08-30 23:01:06 -0700306 if (build_with_chromium) {
phoglundff274392016-05-17 03:44:28 -0700307 sources += [
perkj84bd5c72016-08-30 23:01:06 -0700308 "../../webrtc_overrides/webrtc/base/task_queue.cc",
309 "../../webrtc_overrides/webrtc/base/task_queue.h",
phoglundff274392016-05-17 03:44:28 -0700310 ]
311 } else {
perkj84bd5c72016-08-30 23:01:06 -0700312 sources += [
313 "task_queue.h",
314 "task_queue_posix.h",
315 ]
316 if (rtc_build_libevent) {
317 deps = [
318 "//base/third_party/libevent",
phoglundff274392016-05-17 03:44:28 -0700319 ]
320 }
perkj84bd5c72016-08-30 23:01:06 -0700321
322 if (rtc_enable_libevent) {
323 sources += [
324 "task_queue_libevent.cc",
325 "task_queue_posix.cc",
326 ]
327 all_dependent_configs = [ ":enable_libevent_config" ]
328 } else {
329 if (is_mac || is_ios) {
330 sources += [
331 "task_queue_gcd.cc",
332 "task_queue_posix.cc",
333 ]
334 }
335 if (is_win) {
336 sources += [ "task_queue_win.cc" ]
337 }
phoglundff274392016-05-17 03:44:28 -0700338 }
tommic06b1332016-05-14 11:31:40 -0700339 }
andrew@webrtc.org6ae5a6d2014-09-16 01:03:29 +0000340}
341
minyue69b627d2016-11-24 11:01:09 -0800342rtc_static_library("rtc_analytics") {
343 sources = [
344 "analytics/exp_filter.cc",
345 "analytics/exp_filter.h",
tereliuscb861e02016-11-30 06:51:57 -0800346 "analytics/percentile_filter.h",
347 ]
348 deps = [
349 ":rtc_base_approved",
minyue69b627d2016-11-24 11:01:09 -0800350 ]
351}
352
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700353config("rtc_base_warnings_config") {
354 if (is_win && is_clang) {
355 cflags = [
356 # Disable warnings failing when compiling with Clang on Windows.
357 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
358 "-Wno-sign-compare",
359 "-Wno-missing-braces",
360 ]
361 }
362}
363
ehmaldonado38a21322016-09-02 04:10:34 -0700364rtc_static_library("rtc_base") {
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000365 cflags = []
366 cflags_cc = []
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000367 libs = []
kjellandera101e562016-10-27 02:34:31 -0700368 defines = []
kjellandera8a7ef62016-04-05 08:13:31 -0700369 deps = [
370 "..:webrtc_common",
371 ]
Tommid44c0772016-03-11 17:12:32 -0800372 public_deps = [
373 ":rtc_base_approved",
374 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000375
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000376 configs += [
sdefresne0db3db92016-03-21 11:20:28 -0700377 ":openssl_config",
kjellander@webrtc.orgc429b822015-01-21 20:22:33 +0000378 ":rtc_base_config",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000379 ]
380
kjellander@webrtc.orgf21ea912014-09-28 17:37:22 +0000381 public_configs = [
sdefresne0db3db92016-03-21 11:20:28 -0700382 ":openssl_config",
kjellander@webrtc.orgc429b822015-01-21 20:22:33 +0000383 ":rtc_base_config",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000384 ]
385
kjellanderb1f14062016-04-25 00:01:36 -0700386 all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000387
388 sources = [
kthelgasond5472242016-09-09 03:19:48 -0700389 "applefilesystem.mm",
Guo-wei Shiehecb9a70c2015-06-21 23:37:01 -0700390 "asyncinvoker-inl.h",
391 "asyncinvoker.cc",
392 "asyncinvoker.h",
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000393 "asyncpacketsocket.cc",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000394 "asyncpacketsocket.h",
kwiberg@webrtc.orgdad85aa2015-03-10 00:59:54 +0000395 "asyncresolverinterface.cc",
396 "asyncresolverinterface.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000397 "asyncsocket.cc",
398 "asyncsocket.h",
399 "asynctcpsocket.cc",
400 "asynctcpsocket.h",
401 "asyncudpsocket.cc",
402 "asyncudpsocket.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000403 "autodetectproxy.cc",
404 "autodetectproxy.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000405 "common.cc",
406 "common.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000407 "crc32.cc",
408 "crc32.h",
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000409 "cryptstring.cc",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000410 "cryptstring.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000411 "diskcache.cc",
412 "diskcache.h",
tkchin93411912015-07-22 12:12:17 -0700413 "filerotatingstream.cc",
414 "filerotatingstream.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000415 "fileutils.cc",
416 "fileutils.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000417 "gunit_prod.h",
418 "helpers.cc",
419 "helpers.h",
420 "httpbase.cc",
421 "httpbase.h",
honghaized9dccf2016-11-18 15:27:03 -0800422 "httpclient.cc",
423 "httpclient.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000424 "httpcommon-inl.h",
425 "httpcommon.cc",
426 "httpcommon.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000427 "ipaddress.cc",
428 "ipaddress.h",
nisse6a58f332016-12-15 03:54:47 -0800429 "linked_ptr.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000430 "messagedigest.cc",
431 "messagedigest.h",
432 "messagehandler.cc",
433 "messagehandler.h",
434 "messagequeue.cc",
435 "messagequeue.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000436 "nethelpers.cc",
437 "nethelpers.h",
438 "network.cc",
439 "network.h",
honghaiz023f3ef2015-10-19 09:39:32 -0700440 "networkmonitor.cc",
441 "networkmonitor.h",
danilchapbebf54c2016-04-28 01:32:48 -0700442 "nullsocketserver.cc",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000443 "nullsocketserver.h",
svaldez7f7a8192016-04-18 11:13:11 -0700444 "openssl.h",
445 "openssladapter.cc",
446 "openssladapter.h",
447 "openssldigest.cc",
448 "openssldigest.h",
449 "opensslidentity.cc",
450 "opensslidentity.h",
451 "opensslstreamadapter.cc",
452 "opensslstreamadapter.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000453 "physicalsocketserver.cc",
454 "physicalsocketserver.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000455 "proxydetect.cc",
456 "proxydetect.h",
457 "proxyinfo.cc",
458 "proxyinfo.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000459 "ratelimiter.cc",
460 "ratelimiter.h",
Henrik Boström41b3a382015-08-20 12:15:54 +0200461 "rtccertificate.cc",
462 "rtccertificate.h",
Henrik Boströmda3a1da2016-04-15 17:55:21 +0200463 "rtccertificategenerator.cc",
464 "rtccertificategenerator.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000465 "sha1.cc",
466 "sha1.h",
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000467 "sha1digest.cc",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000468 "sha1digest.h",
jbaucha18f6382016-02-21 01:56:16 -0800469 "sharedexclusivelock.cc",
470 "sharedexclusivelock.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000471 "signalthread.cc",
472 "signalthread.h",
kwiberg@webrtc.org67186fe2015-03-09 22:21:53 +0000473 "sigslot.cc",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000474 "sigslot.h",
475 "sigslotrepeater.h",
476 "socket.h",
477 "socketadapters.cc",
478 "socketadapters.h",
479 "socketaddress.cc",
480 "socketaddress.h",
481 "socketaddresspair.cc",
482 "socketaddresspair.h",
483 "socketfactory.h",
ivoc3324cf72016-10-05 01:23:16 -0700484 "socketpool.cc",
485 "socketpool.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000486 "socketserver.h",
487 "socketstream.cc",
488 "socketstream.h",
489 "ssladapter.cc",
490 "ssladapter.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000491 "sslfingerprint.cc",
492 "sslfingerprint.h",
493 "sslidentity.cc",
494 "sslidentity.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000495 "sslsocketfactory.cc",
496 "sslsocketfactory.h",
497 "sslstreamadapter.cc",
498 "sslstreamadapter.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000499 "stream.cc",
500 "stream.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000501 "task.cc",
502 "task.h",
503 "taskparent.cc",
504 "taskparent.h",
505 "taskrunner.cc",
506 "taskrunner.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000507 "thread.cc",
508 "thread.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000509 ]
510
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700511 # TODO(henrike): issue 3307, make rtc_base build with the Chromium default
512 # compiler settings.
ehmaldonado38a21322016-09-02 04:10:34 -0700513 suppressed_configs += [ "//build/config/compiler:chromium_code" ]
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700514 configs += [ "//build/config/compiler:no_chromium_code" ]
515 if (!is_win) {
516 cflags += [ "-Wno-uninitialized" ]
517 }
518
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000519 if (build_with_chromium) {
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000520 if (is_win) {
henrikgee2bf412015-09-30 03:48:52 -0700521 sources += [ "../../webrtc_overrides/webrtc/base/win32socketinit.cc" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000522 }
ehmaldonado7495c8c2016-12-07 03:30:45 -0800523 include_dirs = [ "../../boringssl/src/include" ]
kjellander@webrtc.orgc429b822015-01-21 20:22:33 +0000524 public_configs += [ ":rtc_base_chromium_config" ]
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000525 } else {
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700526 configs += [ ":rtc_base_warnings_config" ]
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000527 sources += [
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000528 "callback.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000529 "fileutils_mock.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000530 "httpserver.cc",
531 "httpserver.h",
532 "json.cc",
533 "json.h",
tkchin93411912015-07-22 12:12:17 -0700534 "logsinks.cc",
535 "logsinks.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000536 "mathutils.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000537 "optionsfile.cc",
538 "optionsfile.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000539 "proxyserver.cc",
540 "proxyserver.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000541 "rollingaccumulator.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200542 "scopedptrcollection.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000543 "sslconfig.h",
544 "sslroots.h",
kjellandera8a7ef62016-04-05 08:13:31 -0700545 "testbase64.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000546 "testclient.cc",
547 "testclient.h",
nisse8e7577c2016-10-06 01:37:37 -0700548 "transformadapter.cc",
549 "transformadapter.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000550 "virtualsocketserver.cc",
551 "virtualsocketserver.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000552 "window.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000553 ]
554
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000555 if (is_win) {
556 sources += [
557 "diskcache_win32.cc",
558 "diskcache_win32.h",
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000559 "win32socketinit.cc",
560 "win32socketinit.h",
561 "win32socketserver.cc",
562 "win32socketserver.h",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000563 ]
564 }
ehmaldonado4bc4d272016-08-25 04:15:40 -0700565
kjellander@webrtc.org6d08ca62014-09-07 17:36:10 +0000566 if (rtc_build_json) {
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000567 deps += [ "//third_party/jsoncpp" ]
568 } else {
kjellanderec5c9062016-08-19 01:07:30 -0700569 include_dirs = [ "$rtc_jsoncpp_root" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000570
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000571 # When defined changes the include path for json.h to where it is
572 # expected to be when building json outside of the standalone build.
573 defines += [ "WEBRTC_EXTERNAL_JSON" ]
574 }
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000575 } # !build_with_chromium
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000576
svaldez7f7a8192016-04-18 11:13:11 -0700577 if (rtc_build_ssl) {
578 deps += [ "//third_party/boringssl" ]
579 } else {
kjellanderec5c9062016-08-19 01:07:30 -0700580 configs += [ ":external_ssl_library" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000581 }
582
583 if (is_android) {
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000584 sources += [
585 "ifaddrs-android.cc",
586 "ifaddrs-android.h",
587 ]
588
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000589 libs += [
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000590 "log",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200591 "GLESv2",
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000592 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000593 }
594
kjellandera8a7ef62016-04-05 08:13:31 -0700595 if (is_ios || is_mac) {
Yuriy Shevchuk02ff9112015-05-21 13:50:59 +0200596 sources += [
sdefresne60624cd2016-03-22 03:32:14 -0700597 "maccocoathreadhelper.h",
598 "maccocoathreadhelper.mm",
Yuriy Shevchuk02ff9112015-05-21 13:50:59 +0200599 "macconversion.cc",
600 "macconversion.h",
kjellandera8a7ef62016-04-05 08:13:31 -0700601 "macifaddrs_converter.cc",
602 "scoped_autorelease_pool.h",
603 "scoped_autorelease_pool.mm",
Yuriy Shevchuk02ff9112015-05-21 13:50:59 +0200604 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000605 }
606
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000607 if (use_x11) {
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000608 libs += [
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000609 "dl",
610 "rt",
611 "Xext",
612 "X11",
613 "Xcomposite",
614 "Xrender",
615 ]
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000616 }
617
618 if (is_linux) {
619 libs += [
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000620 "dl",
621 "rt",
622 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000623 }
624
625 if (is_mac) {
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000626 sources += [
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000627 "macutils.cc",
628 "macutils.h",
629 ]
kjellander3bcedd32016-06-08 01:14:15 -0700630 libs += [
631 # For ProcessInformationCopyDictionary in unixfilesystem.cc.
632 "ApplicationServices.framework",
kjellander3bcedd32016-06-08 01:14:15 -0700633 ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000634 }
635
636 if (is_win) {
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000637 sources += [
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000638 "win32.cc",
639 "win32.h",
640 "win32filesystem.cc",
641 "win32filesystem.h",
642 "win32securityerrors.cc",
643 "win32window.cc",
644 "win32window.h",
kjellander@webrtc.org7497fa72014-06-28 18:05:22 +0000645 "winping.cc",
646 "winping.h",
647 ]
648
kjellander@webrtc.orge281f7f2014-09-02 11:22:06 +0000649 libs += [
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000650 "crypt32.lib",
651 "iphlpapi.lib",
652 "secur32.lib",
653 ]
654
655 cflags += [
656 # Suppress warnings about WIN32_LEAN_AND_MEAN.
657 "/wd4005",
658 "/wd4703",
659 ]
660
661 defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000662 }
663
kjellandera8a7ef62016-04-05 08:13:31 -0700664 if (is_posix) {
665 sources += [
666 "ifaddrs_converter.cc",
667 "ifaddrs_converter.h",
668 "unixfilesystem.cc",
669 "unixfilesystem.h",
670 ]
671 if (is_debug) {
672 # The Chromium build/common.gypi defines this for all posix
673 # _except_ for ios & mac. We want it there as well, e.g.
674 # because ASSERT and friends trigger off of it.
675 defines += [ "_DEBUG" ]
676 }
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000677 }
678
Sergey Ulanov098c1de2015-09-01 11:36:40 -0700679 if (is_nacl) {
680 deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
681 defines += [ "timezone=_timezone" ]
Guo-wei Shiehdb21f632016-01-09 13:12:04 -0800682 sources -= [ "ifaddrs_converter.cc" ]
Sergey Ulanov098c1de2015-09-01 11:36:40 -0700683 }
ehmaldonado3e3b6f22016-08-29 02:56:06 -0700684 if (is_win && is_clang) {
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700685 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700686 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
ehmaldonadod02fe4b2016-08-26 13:31:24 -0700687 }
kjellander@webrtc.org851a09e2014-06-17 08:54:03 +0000688}
tkchin42f580e2015-11-26 23:18:23 -0800689
ehmaldonado894c2bb2017-01-05 06:03:24 -0800690rtc_source_set("gtest_prod") {
691 sources = [
692 "gtest_prod_util.h",
693 ]
694}
695
ehmaldonadoda8dcfb2017-01-04 07:11:23 -0800696if (rtc_include_tests) {
ehmaldonado894c2bb2017-01-05 06:03:24 -0800697 config("rtc_base_tests_utils_exported_config") {
698 defines = [ "GTEST_RELATIVE_PATH" ]
699 }
700
701 config("rtc_base_tests_utils_warnings_config") {
702 if (is_win && is_clang) {
703 cflags = [
704 # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
705 "-Wno-reorder",
706 "-Wno-sign-compare",
707 ]
708 }
709 }
710
711 rtc_source_set("rtc_base_tests_utils") {
712 testonly = true
713 sources = [
714 # Also use this as a convenient dumping ground for misc files that are
715 # included by multiple targets below.
716 "fakeclock.cc",
717 "fakeclock.h",
718 "fakenetwork.h",
719 "fakesslidentity.h",
720 "faketaskrunner.h",
721 "firewallsocketserver.cc",
722 "firewallsocketserver.h",
723 "gunit.h",
724 "natserver.cc",
725 "natserver.h",
726 "natsocketfactory.cc",
727 "natsocketfactory.h",
728 "nattypes.cc",
729 "nattypes.h",
730 "sigslottester.h",
731 "sigslottester.h.pump",
732 "testbase64.h",
733 "testechoserver.h",
734 "testutils.h",
735 "timedelta.h",
736 "unittest_main.cc",
737 ]
738 configs += [ ":rtc_base_tests_utils_warnings_config" ]
739 public_configs = [ ":rtc_base_tests_utils_exported_config" ]
740 deps = [
741 ":rtc_base",
742 "../test:field_trial",
743 "../test:test_support",
744 ]
745 public_deps = [
746 "//testing/gmock",
747 "//testing/gtest",
748 ]
749
750 if (!build_with_chromium && is_clang) {
751 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
752 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
753 }
754 }
755
756 rtc_source_set("rtc_base_nonparallel_tests") {
757 testonly = true
758 sources = [
759 "nullsocketserver_unittest.cc",
760 "physicalsocketserver_unittest.cc",
761 "socket_unittest.cc",
762 "socket_unittest.h",
763 "socketaddress_unittest.cc",
764 "virtualsocket_unittest.cc",
765 ]
766 deps = [
767 ":rtc_base",
768 ":rtc_base_tests_utils",
769 "//testing/gtest",
770 ]
771 if (is_win) {
772 sources += [ "win32socketserver_unittest.cc" ]
773 }
774
775 if (!build_with_chromium && is_clang) {
776 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
777 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
778 }
779 }
780
781 rtc_source_set("rtc_base_approved_unittests") {
782 testonly = true
783 sources = [
784 "array_view_unittest.cc",
785 "atomicops_unittest.cc",
786 "base64_unittest.cc",
787 "basictypes_unittest.cc",
788 "bind_unittest.cc",
789 "bitbuffer_unittest.cc",
790 "buffer_unittest.cc",
791 "bufferqueue_unittest.cc",
792 "bytebuffer_unittest.cc",
793 "byteorder_unittest.cc",
794 "copyonwritebuffer_unittest.cc",
795 "criticalsection_unittest.cc",
796 "event_tracer_unittest.cc",
797 "event_unittest.cc",
798 "file_unittest.cc",
799 "function_view_unittest.cc",
800 "logging_unittest.cc",
801 "md5digest_unittest.cc",
802 "mod_ops_unittest.cc",
803 "onetimeevent_unittest.cc",
804 "optional_unittest.cc",
805 "pathutils_unittest.cc",
806 "platform_thread_unittest.cc",
807 "random_unittest.cc",
808 "rate_limiter_unittest.cc",
809 "rate_statistics_unittest.cc",
810 "ratetracker_unittest.cc",
811 "refcountedobject_unittest.cc",
812 "safe_compare_unittest.cc",
813 "stringencode_unittest.cc",
814 "stringutils_unittest.cc",
815 "swap_queue_unittest.cc",
816
817 # TODO(ronghuawu): Reenable this test.
818 # "systeminfo_unittest.cc",
819 "thread_annotations_unittest.cc",
820 "thread_checker_unittest.cc",
821 "timestampaligner_unittest.cc",
822 "timeutils_unittest.cc",
823 ]
824 deps = [
825 ":rtc_base_approved",
826 ":rtc_base_tests_utils",
827 ]
828 if (!build_with_chromium && is_clang) {
829 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
830 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
831 }
832 }
833
834 rtc_source_set("rtc_task_queue_unittests") {
835 testonly = true
836 sources = [
837 "sequenced_task_checker_unittest.cc",
838 "task_queue_unittest.cc",
839 "weak_ptr_unittest.cc",
840 ]
841 deps = [
842 ":rtc_base_tests_utils",
843 ":rtc_task_queue",
844 ]
845 if (!build_with_chromium && is_clang) {
846 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
847 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
848 }
849 }
850
851 rtc_source_set("rtc_analytics_unittests") {
852 testonly = true
853 sources = [
854 "analytics/exp_filter_unittest.cc",
855 "analytics/percentile_filter_unittest.cc",
856 ]
857 deps = [
858 ":rtc_analytics",
859 ":rtc_base_tests_utils",
860 ]
861 }
862
ehmaldonadoda8dcfb2017-01-04 07:11:23 -0800863 config("rtc_base_unittests_config") {
864 if (is_clang) {
865 cflags = [ "-Wno-unused-const-variable" ]
866 }
867 }
868 rtc_source_set("rtc_base_unittests") {
869 testonly = true
870 sources = [
871 "autodetectproxy_unittest.cc",
872 "callback_unittest.cc",
873 "crc32_unittest.cc",
874 "filerotatingstream_unittest.cc",
875 "fileutils_unittest.cc",
876 "helpers_unittest.cc",
877 "httpbase_unittest.cc",
878 "httpcommon_unittest.cc",
879 "httpserver_unittest.cc",
880 "ipaddress_unittest.cc",
881 "messagedigest_unittest.cc",
882 "messagequeue_unittest.cc",
883 "nat_unittest.cc",
884 "network_unittest.cc",
885 "optionsfile_unittest.cc",
886 "proxy_unittest.cc",
887 "proxydetect_unittest.cc",
888 "ratelimiter_unittest.cc",
889 "rollingaccumulator_unittest.cc",
890 "rtccertificate_unittest.cc",
891 "rtccertificategenerator_unittest.cc",
892 "scopedptrcollection_unittest.cc",
893 "sha1digest_unittest.cc",
894 "sharedexclusivelock_unittest.cc",
895 "signalthread_unittest.cc",
896 "sigslot_unittest.cc",
897 "sigslottester_unittest.cc",
898 "stream_unittest.cc",
899 "task_unittest.cc",
900 "testclient_unittest.cc",
901 "thread_unittest.cc",
902 ]
903 if (is_win) {
904 sources += [
905 "win32_unittest.cc",
906 "win32window_unittest.cc",
907 ]
908 }
909 if (is_mac) {
910 sources += [ "macutils_unittest.cc" ]
911 }
912 if (is_posix) {
913 sources += [
914 "ssladapter_unittest.cc",
915 "sslidentity_unittest.cc",
916 "sslstreamadapter_unittest.cc",
917 ]
918 }
919 deps = [
920 ":rtc_base_tests_utils",
921 ]
922 public_deps = [
923 ":rtc_base",
924 ]
925 configs += [ ":rtc_base_unittests_config" ]
926 if (!build_with_chromium && is_clang) {
927 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
928 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
929 }
930 }
931}
932
Sami Kalliomaki9c0c75b2016-06-29 14:55:00 +0200933if (is_android) {
934 android_library("base_java") {
935 java_files = [
936 "java/src/org/webrtc/Logging.java",
937 "java/src/org/webrtc/Size.java",
938 "java/src/org/webrtc/ThreadUtils.java",
939 ]
940
941 deps = [
942 "//base:base_java",
943 ]
944 }
945}