ilnik a79cc28de1 Report max interframe delay over window insdead of interframe delay sum
Maximum of interframe delay is calculated over moving window in
ReceiveStatistics proxy now and reported via GetStats. Name of a metric
is also changed.

BUG=none

Review-Url: https://codereview.webrtc.org/2995143002
Cr-Commit-Position: refs/heads/master@{#19463}
2017-08-23 12:24:10 +00:00

1043 lines
27 KiB
Plaintext

# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("//build/config/crypto.gni")
import("//build/config/ui.gni")
import("../webrtc.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
if (is_win) {
import("//build/config/clang/clang.gni")
}
group("base") {
public_deps = [
":rtc_base",
":rtc_base_approved",
":rtc_task_queue",
":sequenced_task_checker",
":weak_ptr",
]
if (is_android) {
public_deps += [ ":base_java" ]
}
}
config("rtc_base_approved_all_dependent_config") {
if (is_mac && !build_with_chromium) {
libs = [ "Foundation.framework" ] # needed for logging_mac.mm
}
}
config("rtc_base_chromium_config") {
defines = [ "NO_MAIN_THREAD_WRAPPING" ]
}
config("rtc_base_all_dependent_config") {
if (is_ios) {
libs = [
"CFNetwork.framework",
"Security.framework",
"SystemConfiguration.framework",
"UIKit.framework",
]
}
if (is_mac) {
libs = [
"Cocoa.framework",
"Foundation.framework",
"IOKit.framework",
"Security.framework",
"SystemConfiguration.framework",
]
}
}
if (!rtc_build_ssl) {
config("external_ssl_library") {
assert(rtc_ssl_root != "",
"You must specify rtc_ssl_root when rtc_build_ssl==0.")
include_dirs = [ rtc_ssl_root ]
}
}
source_set("protobuf_utils") {
sources = [
"protobuf_utils.h",
]
if (rtc_enable_protobuf) {
public_deps = [
"//third_party/protobuf:protobuf_lite",
]
}
}
source_set("compile_assert_c") {
sources = [
"compile_assert_c.h",
]
}
# The subset of rtc_base approved for use outside of libjingle.
rtc_static_library("rtc_base_approved") {
# TODO(kjellander): Remove (bugs.webrtc.org/7480)
# Enabling GN check triggers a cyclic dependency caused by rate_limiter.cc:
# :rtc_base_approved -> ../system_wrappers -> :rtc_base_approved
check_includes = false
defines = []
libs = []
deps = []
all_dependent_configs = [ ":rtc_base_approved_all_dependent_config" ]
sources = [
"array_view.h",
"arraysize.h",
"atomicops.h",
"base64.cc",
"base64.h",
"basictypes.h",
"bind.h",
"bitbuffer.cc",
"bitbuffer.h",
"buffer.h",
"bufferqueue.cc",
"bufferqueue.h",
"bytebuffer.cc",
"bytebuffer.h",
"byteorder.h",
"checks.cc",
"checks.h",
"constructormagic.h",
"copyonwritebuffer.cc",
"copyonwritebuffer.h",
"criticalsection.cc",
"criticalsection.h",
"deprecation.h",
"event.cc",
"event.h",
"event_tracer.cc",
"event_tracer.h",
"file.cc",
"file.h",
"flags.cc",
"flags.h",
"format_macros.h",
"function_view.h",
"ignore_wundef.h",
"location.cc",
"location.h",
"mod_ops.h",
"moving_max_counter.h",
"onetimeevent.h",
"optional.cc",
"optional.h",
"pathutils.cc",
"pathutils.h",
"platform_file.cc",
"platform_file.h",
"platform_thread.cc",
"platform_thread.h",
"platform_thread_types.h",
"ptr_util.h",
"race_checker.cc",
"race_checker.h",
"random.cc",
"random.h",
"rate_limiter.cc",
"rate_limiter.h",
"rate_statistics.cc",
"rate_statistics.h",
"ratetracker.cc",
"ratetracker.h",
"refcount.h",
"refcountedobject.h",
"safe_compare.h",
"safe_conversions.h",
"safe_conversions_impl.h",
"safe_minmax.h",
"sanitizer.h",
"scoped_ref_ptr.h",
"string_to_number.cc",
"string_to_number.h",
"stringencode.cc",
"stringencode.h",
"stringize_macros.h",
"stringutils.cc",
"stringutils.h",
"swap_queue.h",
"template_util.h",
"thread_annotations.h",
"thread_checker.h",
"thread_checker_impl.cc",
"thread_checker_impl.h",
"timestampaligner.cc",
"timestampaligner.h",
"timeutils.cc",
"timeutils.h",
"trace_event.h",
"type_traits.h",
]
deps += [ "..:webrtc_common" ]
if (is_android) {
libs += [ "log" ]
}
if (is_posix) {
sources += [ "file_posix.cc" ]
}
if (is_win) {
sources += [ "file_win.cc" ]
}
if (build_with_chromium) {
# Dependency on chromium's logging (in //base).
deps += [ "//base:base" ]
sources += [
"../../webrtc_overrides/webrtc/rtc_base/logging.cc",
"../../webrtc_overrides/webrtc/rtc_base/logging.h",
]
} else {
sources += [
"logging.cc",
"logging.h",
"logging_mac.mm",
]
}
if (is_component_build && is_win) {
# Copy the VS runtime DLLs into the isolate so that they don't have to be
# preinstalled on the target machine. The debug runtimes have a "d" at
# the end.
# This is a copy of https://codereview.chromium.org/1783973002.
# TODO(ehmaldonado): We'd like Chromium to make this changes easier to use,
# so we don't have to copy their changes and risk breakages.
# See http://crbug.com/653569
if (is_debug) {
vcrt_suffix = "d"
} else {
vcrt_suffix = ""
}
# These runtime files are copied to the output directory by the
# vs_toolchain script that runs as part of toolchain configuration.
data = [
"$root_out_dir/msvcp140${vcrt_suffix}.dll",
"$root_out_dir/vccorlib140${vcrt_suffix}.dll",
"$root_out_dir/vcruntime140${vcrt_suffix}.dll",
# Universal Windows 10 CRT files
"$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
"$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
"$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
"$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
"$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
"$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
"$root_out_dir/ucrtbase${vcrt_suffix}.dll",
]
if (is_asan) {
if (current_cpu == "x64") {
data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
} else {
data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
}
}
}
if (is_nacl) {
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
}
}
config("enable_libevent_config") {
defines = [ "WEBRTC_BUILD_LIBEVENT" ]
}
rtc_static_library("rtc_task_queue") {
public_deps = [
":rtc_base_approved",
]
if (build_with_chromium) {
sources = [
"../../webrtc_overrides/webrtc/rtc_base/task_queue.cc",
"../../webrtc_overrides/webrtc/rtc_base/task_queue.h",
]
} else {
sources = [
"task_queue.h",
"task_queue_posix.h",
]
if (rtc_build_libevent) {
deps = [
"//base/third_party/libevent",
]
}
if (rtc_enable_libevent) {
sources += [
"task_queue_libevent.cc",
"task_queue_posix.cc",
]
all_dependent_configs = [ ":enable_libevent_config" ]
} else {
if (is_mac || is_ios) {
sources += [
"task_queue_gcd.cc",
"task_queue_posix.cc",
]
}
if (is_win) {
sources += [ "task_queue_win.cc" ]
}
}
}
}
rtc_static_library("sequenced_task_checker") {
sources = [
"sequenced_task_checker.h",
"sequenced_task_checker_impl.cc",
"sequenced_task_checker_impl.h",
]
deps = [
":rtc_task_queue",
]
}
rtc_static_library("weak_ptr") {
sources = [
"weak_ptr.cc",
"weak_ptr.h",
]
deps = [
":rtc_base_approved",
":sequenced_task_checker",
]
}
rtc_static_library("rtc_numerics") {
sources = [
"numerics/exp_filter.cc",
"numerics/exp_filter.h",
"numerics/percentile_filter.h",
]
deps = [
":rtc_base_approved",
]
}
config("rtc_base_warnings_config") {
if (is_win && is_clang) {
cflags = [
# Disable warnings failing when compiling with Clang on Windows.
# https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
"-Wno-sign-compare",
"-Wno-missing-braces",
]
}
}
rtc_source_set("rtc_json") {
defines = []
sources = [
"json.cc",
"json.h",
]
if (rtc_build_json) {
public_deps = [
"//third_party/jsoncpp",
]
} else {
include_dirs = [ "$rtc_jsoncpp_root" ]
# When defined changes the include path for json.h to where it is
# expected to be when building json outside of the standalone build.
defines += [ "WEBRTC_EXTERNAL_JSON" ]
}
}
rtc_static_library("rtc_base") {
cflags = []
cflags_cc = []
libs = []
defines = []
deps = [
"..:webrtc_common",
]
public_deps = [
":rtc_base_approved",
]
public_configs = []
all_dependent_configs = [ ":rtc_base_all_dependent_config" ]
sources = [
"applefilesystem.mm",
"asyncinvoker-inl.h",
"asyncinvoker.cc",
"asyncinvoker.h",
"asyncpacketsocket.cc",
"asyncpacketsocket.h",
"asyncresolverinterface.cc",
"asyncresolverinterface.h",
"asyncsocket.cc",
"asyncsocket.h",
"asynctcpsocket.cc",
"asynctcpsocket.h",
"asyncudpsocket.cc",
"asyncudpsocket.h",
"crc32.cc",
"crc32.h",
"cryptstring.cc",
"cryptstring.h",
"filerotatingstream.cc",
"filerotatingstream.h",
"fileutils.cc",
"fileutils.h",
"gunit_prod.h",
"helpers.cc",
"helpers.h",
"httpbase.cc",
"httpbase.h",
"httpcommon-inl.h",
"httpcommon.cc",
"httpcommon.h",
"ipaddress.cc",
"ipaddress.h",
"messagedigest.cc",
"messagedigest.h",
"messagehandler.cc",
"messagehandler.h",
"messagequeue.cc",
"messagequeue.h",
"nethelpers.cc",
"nethelpers.h",
"network.cc",
"network.h",
"networkmonitor.cc",
"networkmonitor.h",
"nullsocketserver.cc",
"nullsocketserver.h",
"openssl.h",
"openssladapter.cc",
"openssladapter.h",
"openssldigest.cc",
"openssldigest.h",
"opensslidentity.cc",
"opensslidentity.h",
"opensslstreamadapter.cc",
"opensslstreamadapter.h",
"physicalsocketserver.cc",
"physicalsocketserver.h",
"proxyinfo.cc",
"proxyinfo.h",
"ratelimiter.cc",
"ratelimiter.h",
"rtccertificate.cc",
"rtccertificate.h",
"rtccertificategenerator.cc",
"rtccertificategenerator.h",
"signalthread.cc",
"signalthread.h",
"sigslot.cc",
"sigslot.h",
"socket.h",
"socketadapters.cc",
"socketadapters.h",
"socketaddress.cc",
"socketaddress.h",
"socketaddresspair.cc",
"socketaddresspair.h",
"socketfactory.h",
"socketserver.h",
"socketstream.cc",
"socketstream.h",
"ssladapter.cc",
"ssladapter.h",
"sslfingerprint.cc",
"sslfingerprint.h",
"sslidentity.cc",
"sslidentity.h",
"sslstreamadapter.cc",
"sslstreamadapter.h",
"stream.cc",
"stream.h",
"thread.cc",
"thread.h",
]
# TODO(henrike): issue 3307, make rtc_base build with the Chromium default
# compiler settings.
suppressed_configs += [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
if (!is_win) {
cflags += [ "-Wno-uninitialized" ]
}
if (build_with_chromium) {
if (is_win) {
sources += [ "../../webrtc_overrides/webrtc/rtc_base/win32socketinit.cc" ]
}
include_dirs = [ "../../boringssl/src/include" ]
public_configs += [ ":rtc_base_chromium_config" ]
} else {
configs += [ ":rtc_base_warnings_config" ]
sources += [
"callback.h",
"logsinks.cc",
"logsinks.h",
"mathutils.h",
"optionsfile.cc",
"optionsfile.h",
"rollingaccumulator.h",
"sslroots.h",
"transformadapter.cc",
"transformadapter.h",
"window.h",
]
if (is_win) {
sources += [
"win32socketinit.cc",
"win32socketinit.h",
"win32socketserver.cc",
"win32socketserver.h",
]
}
} # !build_with_chromium
if (rtc_build_ssl) {
deps += [ "//third_party/boringssl" ]
} else {
configs += [ ":external_ssl_library" ]
}
if (is_android) {
sources += [
"ifaddrs-android.cc",
"ifaddrs-android.h",
]
libs += [
"log",
"GLESv2",
]
}
if (is_ios || is_mac) {
sources += [
"macifaddrs_converter.cc",
"thread_darwin.mm",
]
}
if (use_x11) {
libs += [
"dl",
"rt",
"Xext",
"X11",
"Xcomposite",
"Xrender",
]
}
if (is_linux) {
libs += [
"dl",
"rt",
]
}
if (is_mac) {
sources += [
"macutils.cc",
"macutils.h",
]
libs += [
# For ProcessInformationCopyDictionary in unixfilesystem.cc.
"ApplicationServices.framework",
]
}
if (is_win) {
sources += [
"win32.cc",
"win32.h",
"win32filesystem.cc",
"win32filesystem.h",
"win32securityerrors.cc",
"win32window.cc",
"win32window.h",
]
libs += [
"crypt32.lib",
"iphlpapi.lib",
"secur32.lib",
]
cflags += [
# Suppress warnings about WIN32_LEAN_AND_MEAN.
"/wd4005",
"/wd4703",
]
defines += [ "_CRT_NONSTDC_NO_DEPRECATE" ]
}
if (is_posix) {
sources += [
"ifaddrs_converter.cc",
"ifaddrs_converter.h",
"unixfilesystem.cc",
"unixfilesystem.h",
]
}
if (is_nacl) {
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
defines += [ "timezone=_timezone" ]
sources -= [ "ifaddrs_converter.cc" ]
}
if (is_win && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_source_set("gtest_prod") {
sources = [
"gtest_prod_util.h",
]
}
config("rtc_base_tests_utils_exported_config") {
defines = [ "GTEST_RELATIVE_PATH" ]
}
config("rtc_base_tests_utils_warnings_config") {
if (is_win && is_clang) {
cflags = [
# See https://bugs.chromium.org/p/webrtc/issues/detail?id=6270
"-Wno-reorder",
"-Wno-sign-compare",
]
}
}
rtc_source_set("rtc_base_tests_utils") {
testonly = true
sources = [
# Also use this as a convenient dumping ground for misc files that are
# included by multiple targets below.
"cpu_time.cc",
"cpu_time.h",
"fakeclock.cc",
"fakeclock.h",
"fakenetwork.h",
"fakesslidentity.h",
"firewallsocketserver.cc",
"firewallsocketserver.h",
"gunit.h",
"httpserver.cc",
"httpserver.h",
"md5.cc",
"md5.h",
"md5digest.cc",
"md5digest.h",
"memory_usage.cc",
"memory_usage.h",
"natserver.cc",
"natserver.h",
"natsocketfactory.cc",
"natsocketfactory.h",
"nattypes.cc",
"nattypes.h",
"proxyserver.cc",
"proxyserver.h",
"sha1.cc",
"sha1.h",
"sha1digest.cc",
"sha1digest.h",
"sigslottester.h",
"sigslottester.h.pump",
"testbase64.h",
"testclient.cc",
"testclient.h",
"testechoserver.h",
"testutils.h",
"timedelta.h",
"virtualsocketserver.cc",
"virtualsocketserver.h",
]
configs += [ ":rtc_base_tests_utils_warnings_config" ]
public_configs = [ ":rtc_base_tests_utils_exported_config" ]
deps = [
":rtc_base",
"../test:field_trial",
"../test:test_support",
]
public_deps = [
"//testing/gmock",
"//testing/gtest",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
if (rtc_include_tests) {
rtc_source_set("rtc_base_tests_main") {
testonly = true
sources = [
"unittest_main.cc",
]
public_configs = [ ":rtc_base_tests_utils_exported_config" ]
deps = [
":rtc_base",
":rtc_base_approved",
":rtc_base_tests_utils",
"../test:field_trial",
"../test:test_support",
]
public_deps = [
"//testing/gmock",
"//testing/gtest",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_source_set("rtc_base_nonparallel_tests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:webrtc_nonparallel_tests" ]
}
sources = [
"cpu_time_unittest.cc",
"filerotatingstream_unittest.cc",
"nullsocketserver_unittest.cc",
"physicalsocketserver_unittest.cc",
"socket_unittest.cc",
"socket_unittest.h",
"socketaddress_unittest.cc",
]
deps = [
":rtc_base",
":rtc_base_tests_main",
":rtc_base_tests_utils",
"../system_wrappers:system_wrappers",
"../test:test_support",
"//testing/gtest",
]
if (is_win) {
sources += [ "win32socketserver_unittest.cc" ]
}
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_source_set("rtc_base_approved_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"array_view_unittest.cc",
"atomicops_unittest.cc",
"base64_unittest.cc",
"basictypes_unittest.cc",
"bind_unittest.cc",
"bitbuffer_unittest.cc",
"buffer_unittest.cc",
"bufferqueue_unittest.cc",
"bytebuffer_unittest.cc",
"byteorder_unittest.cc",
"copyonwritebuffer_unittest.cc",
"criticalsection_unittest.cc",
"event_tracer_unittest.cc",
"event_unittest.cc",
"file_unittest.cc",
"function_view_unittest.cc",
"logging_unittest.cc",
"md5digest_unittest.cc",
"mod_ops_unittest.cc",
"moving_max_counter_unittest.cc",
"onetimeevent_unittest.cc",
"optional_unittest.cc",
"pathutils_unittest.cc",
"platform_thread_unittest.cc",
"random_unittest.cc",
"rate_limiter_unittest.cc",
"rate_statistics_unittest.cc",
"ratetracker_unittest.cc",
"refcountedobject_unittest.cc",
"safe_compare_unittest.cc",
"safe_minmax_unittest.cc",
"string_to_number_unittest.cc",
"stringencode_unittest.cc",
"stringize_macros_unittest.cc",
"stringutils_unittest.cc",
"swap_queue_unittest.cc",
"thread_annotations_unittest.cc",
"thread_checker_unittest.cc",
"timestampaligner_unittest.cc",
"timeutils_unittest.cc",
"virtualsocket_unittest.cc",
]
deps = [
":rtc_base",
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
"../system_wrappers:system_wrappers",
"../test:test_support",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_source_set("rtc_task_queue_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"task_queue_unittest.cc",
]
deps = [
":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
"../test:test_support",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_source_set("sequenced_task_checker_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"sequenced_task_checker_unittest.cc",
]
deps = [
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_task_queue",
":sequenced_task_checker",
"../test:test_support",
]
}
rtc_source_set("weak_ptr_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"weak_ptr_unittest.cc",
]
deps = [
":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
":weak_ptr",
"../test:test_support",
]
}
rtc_source_set("rtc_numerics_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"numerics/exp_filter_unittest.cc",
"numerics/percentile_filter_unittest.cc",
]
deps = [
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_numerics",
"../test:test_support",
]
}
config("rtc_base_unittests_config") {
if (is_clang) {
cflags = [ "-Wno-unused-const-variable" ]
}
}
rtc_source_set("rtc_base_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
# gets additional generated targets which would require many lines here to
# cover (which would be confusing to read and hard to maintain).
if (!is_android && !is_ios) {
# TODO(kjellander): Reenable after finishing https://bugs.webrtc.org/7634.
#visibility = [ "..:rtc_unittests" ]
}
sources = [
"callback_unittest.cc",
"crc32_unittest.cc",
"fileutils_unittest.cc",
"helpers_unittest.cc",
"httpbase_unittest.cc",
"httpcommon_unittest.cc",
"httpserver_unittest.cc",
"ipaddress_unittest.cc",
"memory_usage_unittest.cc",
"messagedigest_unittest.cc",
"messagequeue_unittest.cc",
"nat_unittest.cc",
"network_unittest.cc",
"optionsfile_unittest.cc",
"proxy_unittest.cc",
"ptr_util_unittest.cc",
"ratelimiter_unittest.cc",
"rollingaccumulator_unittest.cc",
"rtccertificate_unittest.cc",
"rtccertificategenerator_unittest.cc",
"sha1digest_unittest.cc",
"signalthread_unittest.cc",
"sigslot_unittest.cc",
"sigslottester_unittest.cc",
"stream_unittest.cc",
"testclient_unittest.cc",
"thread_unittest.cc",
]
if (is_win) {
sources += [
"win32_unittest.cc",
"win32window_unittest.cc",
]
}
if (is_mac) {
sources += [ "macutils_unittest.cc" ]
}
if (is_posix) {
sources += [
"ssladapter_unittest.cc",
"sslidentity_unittest.cc",
"sslstreamadapter_unittest.cc",
]
}
deps = [
":rtc_base_tests_main",
":rtc_base_tests_utils",
"../test:test_support",
]
public_deps = [
":rtc_base",
]
configs += [ ":rtc_base_unittests_config" ]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
}
if (is_android) {
android_library("base_java") {
java_files = [
"java/src/org/webrtc/ContextUtils.java",
"java/src/org/webrtc/Logging.java",
"java/src/org/webrtc/Size.java",
"java/src/org/webrtc/ThreadUtils.java",
]
}
}