blob: 6032ba616f6a5683813eb10e928d93c706d5812f [file] [log] [blame]
skvladcc91d282016-10-03 18:31:22 -07001# Copyright (c) 2016 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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../webrtc.gni")
skvladcc91d282016-10-03 18:31:22 -070010import("//third_party/protobuf/proto_library.gni")
11if (is_android) {
12 import("//build/config/android/config.gni")
13 import("//build/config/android/rules.gni")
14}
15
kjellander6ceab082016-10-28 05:44:03 -070016group("logging") {
17 public_deps = [
18 ":rtc_event_log_impl",
19 ]
20 if (rtc_enable_protobuf) {
21 public_deps += [ ":rtc_event_log_parser" ]
22 }
23}
24
skvladcc91d282016-10-03 18:31:22 -070025rtc_source_set("rtc_event_log_api") {
26 sources = [
27 "rtc_event_log/rtc_event_log.h",
28 ]
kjellander727ac1d2017-03-08 02:12:11 -080029 deps = [
mbonadei81c79f52017-04-25 23:42:15 -070030 "..:video_stream_api",
kjellander727ac1d2017-03-08 02:12:11 -080031 "../base:rtc_base_approved",
32 "../call:call_interfaces",
33 ]
skvladcc91d282016-10-03 18:31:22 -070034}
35
36rtc_static_library("rtc_event_log_impl") {
37 sources = [
38 "rtc_event_log/ringbuffer.h",
39 "rtc_event_log/rtc_event_log.cc",
40 "rtc_event_log/rtc_event_log_helper_thread.cc",
41 "rtc_event_log/rtc_event_log_helper_thread.h",
42 ]
43
44 defines = []
45
46 deps = [
47 ":rtc_event_log_api",
48 "..:webrtc_common",
mbonadei7c2c8432017-04-07 00:59:12 -070049 "../base:protobuf_utils",
kjellander727ac1d2017-03-08 02:12:11 -080050 "../base:rtc_base_approved",
ossuf515ab82016-12-07 04:52:58 -080051 "../call:call_interfaces",
minyue4b7c9522017-01-24 04:54:59 -080052 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070053 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
skvladcc91d282016-10-03 18:31:22 -070054 "../modules/rtp_rtcp",
kjellander727ac1d2017-03-08 02:12:11 -080055 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070056 ]
57
58 if (rtc_enable_protobuf) {
59 defines += [ "ENABLE_RTC_EVENT_LOG" ]
60 deps += [ ":rtc_event_log_proto" ]
61 }
kjellandere40a7ee2016-10-16 23:56:12 -070062 if (!build_with_chromium && is_clang) {
63 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070064 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
65 }
66}
67
skvladcc91d282016-10-03 18:31:22 -070068if (rtc_enable_protobuf) {
69 proto_library("rtc_event_log_proto") {
70 sources = [
71 "rtc_event_log/rtc_event_log.proto",
72 ]
sakal363a2912017-01-13 06:52:12 -080073 proto_out_dir = "webrtc/logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -070074 }
skvladcc91d282016-10-03 18:31:22 -070075
skvladcc91d282016-10-03 18:31:22 -070076 rtc_static_library("rtc_event_log_parser") {
77 sources = [
78 "rtc_event_log/rtc_event_log_parser.cc",
79 "rtc_event_log/rtc_event_log_parser.h",
80 ]
81
82 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -080083 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -070084 ":rtc_event_log_proto",
85 "..:webrtc_common",
kjellander727ac1d2017-03-08 02:12:11 -080086 "../call:call_interfaces",
michaeltcde46b72017-04-06 05:59:10 -070087 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070088 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
kjellander727ac1d2017-03-08 02:12:11 -080089 "../modules/rtp_rtcp:rtp_rtcp",
90 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070091 ]
92
kjellandere40a7ee2016-10-16 23:56:12 -070093 if (!build_with_chromium && is_clang) {
94 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070095 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
96 }
kjellander727ac1d2017-03-08 02:12:11 -080097 deps = [
mbonadei81c79f52017-04-25 23:42:15 -070098 "..:video_stream_api",
mbonadei7c2c8432017-04-07 00:59:12 -070099 "../base:protobuf_utils",
kjellander727ac1d2017-03-08 02:12:11 -0800100 "../base:rtc_base_approved",
101 ]
skvladcc91d282016-10-03 18:31:22 -0700102 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800103
104 if (rtc_include_tests) {
105 rtc_source_set("rtc_event_log_tests") {
106 testonly = true
107 sources = [
108 "rtc_event_log/ringbuffer_unittest.cc",
109 "rtc_event_log/rtc_event_log_unittest.cc",
110 "rtc_event_log/rtc_event_log_unittest_helper.cc",
111 ]
112 deps = [
113 ":rtc_event_log_impl",
114 ":rtc_event_log_parser",
kjellander727ac1d2017-03-08 02:12:11 -0800115 "../base:rtc_base_approved",
116 "../base:rtc_base_tests_utils",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800117 "../call",
michaeltcde46b72017-04-06 05:59:10 -0700118 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700119 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800120 "../modules/rtp_rtcp",
121 "../system_wrappers:metrics_default",
kjellander727ac1d2017-03-08 02:12:11 -0800122 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800123 "//testing/gmock",
124 "//testing/gtest",
125 ]
126 if (!build_with_chromium && is_clang) {
127 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
128 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
129 }
130 }
ivoc54b6e982017-02-08 00:28:09 -0800131 rtc_test("rtc_event_log2rtp_dump") {
132 testonly = true
133 sources = [
134 "rtc_event_log/rtc_event_log2rtp_dump.cc",
135 ]
136 deps = [
137 ":rtc_event_log_api",
138 ":rtc_event_log_impl",
139 ":rtc_event_log_parser",
140 "../base:rtc_base_approved",
141 "../call:call_interfaces",
142 "../modules/rtp_rtcp:rtp_rtcp",
143 "../system_wrappers:field_trial_default",
144 "../system_wrappers:metrics_default",
145 "../test:rtp_test_utils",
146 "//third_party/gflags",
147 ]
148 if (!build_with_chromium && is_clang) {
149 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
150 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
151 }
152 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800153 }
tereliusd4ed7f52017-02-08 04:22:53 -0800154 if (rtc_include_tests) {
155 rtc_executable("rtc_event_log2text") {
156 testonly = true
157 sources = [
158 "rtc_event_log/rtc_event_log2text.cc",
159 ]
160 deps = [
161 ":rtc_event_log_api",
162 ":rtc_event_log_impl",
163 ":rtc_event_log_parser",
164 "../base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -0800165 "../call:call_interfaces",
tereliusbb46b952017-02-08 09:37:30 -0800166
167 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800168 "../api/audio_codecs:audio_codecs_api",
tereliusd4ed7f52017-02-08 04:22:53 -0800169 "../modules/rtp_rtcp:rtp_rtcp",
170 "//third_party/gflags",
171 ]
172 if (!build_with_chromium && is_clang) {
173 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
174 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
175 }
176 }
177 }
skvladcc91d282016-10-03 18:31:22 -0700178}