blob: dfdf2e98bae1629ab931c55e68e92e89e66e55fa [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",
perkj77cd58e2017-05-30 03:52:10 -070031 "..:webrtc_common",
kjellander727ac1d2017-03-08 02:12:11 -080032 "../base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -080033 ]
skvladcc91d282016-10-03 18:31:22 -070034}
35
36rtc_static_library("rtc_event_log_impl") {
37 sources = [
skvladcc91d282016-10-03 18:31:22 -070038 "rtc_event_log/rtc_event_log.cc",
39 "rtc_event_log/rtc_event_log_helper_thread.cc",
40 "rtc_event_log/rtc_event_log_helper_thread.h",
41 ]
42
43 defines = []
44
45 deps = [
46 ":rtc_event_log_api",
47 "..:webrtc_common",
mbonadei7c2c8432017-04-07 00:59:12 -070048 "../base:protobuf_utils",
kjellander727ac1d2017-03-08 02:12:11 -080049 "../base:rtc_base_approved",
minyue4b7c9522017-01-24 04:54:59 -080050 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070051 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
skvladcc91d282016-10-03 18:31:22 -070052 "../modules/rtp_rtcp",
kjellander727ac1d2017-03-08 02:12:11 -080053 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070054 ]
55
56 if (rtc_enable_protobuf) {
57 defines += [ "ENABLE_RTC_EVENT_LOG" ]
58 deps += [ ":rtc_event_log_proto" ]
59 }
kjellandere40a7ee2016-10-16 23:56:12 -070060 if (!build_with_chromium && is_clang) {
61 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070062 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
63 }
64}
65
skvladcc91d282016-10-03 18:31:22 -070066if (rtc_enable_protobuf) {
67 proto_library("rtc_event_log_proto") {
68 sources = [
69 "rtc_event_log/rtc_event_log.proto",
70 ]
sakal363a2912017-01-13 06:52:12 -080071 proto_out_dir = "webrtc/logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -070072 }
skvladcc91d282016-10-03 18:31:22 -070073
skvladcc91d282016-10-03 18:31:22 -070074 rtc_static_library("rtc_event_log_parser") {
75 sources = [
76 "rtc_event_log/rtc_event_log_parser.cc",
77 "rtc_event_log/rtc_event_log_parser.h",
78 ]
79
80 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -080081 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -070082 ":rtc_event_log_proto",
83 "..:webrtc_common",
michaeltcde46b72017-04-06 05:59:10 -070084 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070085 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
kjellander727ac1d2017-03-08 02:12:11 -080086 "../modules/rtp_rtcp:rtp_rtcp",
87 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070088 ]
89
kjellandere40a7ee2016-10-16 23:56:12 -070090 if (!build_with_chromium && is_clang) {
91 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070092 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
93 }
kjellander727ac1d2017-03-08 02:12:11 -080094 deps = [
mbonadei81c79f52017-04-25 23:42:15 -070095 "..:video_stream_api",
mbonadei7c2c8432017-04-07 00:59:12 -070096 "../base:protobuf_utils",
kjellander727ac1d2017-03-08 02:12:11 -080097 "../base:rtc_base_approved",
98 ]
skvladcc91d282016-10-03 18:31:22 -070099 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800100
101 if (rtc_include_tests) {
102 rtc_source_set("rtc_event_log_tests") {
103 testonly = true
104 sources = [
ehmaldonado1fd08c12017-01-17 02:37:34 -0800105 "rtc_event_log/rtc_event_log_unittest.cc",
106 "rtc_event_log/rtc_event_log_unittest_helper.cc",
107 ]
108 deps = [
109 ":rtc_event_log_impl",
110 ":rtc_event_log_parser",
kjellander727ac1d2017-03-08 02:12:11 -0800111 "../base:rtc_base_approved",
112 "../base:rtc_base_tests_utils",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800113 "../call",
michaeltcde46b72017-04-06 05:59:10 -0700114 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700115 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800116 "../modules/rtp_rtcp",
117 "../system_wrappers:metrics_default",
kjellander727ac1d2017-03-08 02:12:11 -0800118 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800119 "//testing/gmock",
120 "//testing/gtest",
121 ]
122 if (!build_with_chromium && is_clang) {
123 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
124 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
125 }
126 }
ivoc54b6e982017-02-08 00:28:09 -0800127 rtc_test("rtc_event_log2rtp_dump") {
128 testonly = true
129 sources = [
130 "rtc_event_log/rtc_event_log2rtp_dump.cc",
131 ]
132 deps = [
133 ":rtc_event_log_api",
134 ":rtc_event_log_impl",
135 ":rtc_event_log_parser",
136 "../base:rtc_base_approved",
ivoc54b6e982017-02-08 00:28:09 -0800137 "../modules/rtp_rtcp:rtp_rtcp",
138 "../system_wrappers:field_trial_default",
139 "../system_wrappers:metrics_default",
140 "../test:rtp_test_utils",
141 "//third_party/gflags",
142 ]
143 if (!build_with_chromium && is_clang) {
144 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
145 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
146 }
147 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800148 }
tereliusd4ed7f52017-02-08 04:22:53 -0800149 if (rtc_include_tests) {
150 rtc_executable("rtc_event_log2text") {
151 testonly = true
152 sources = [
153 "rtc_event_log/rtc_event_log2text.cc",
154 ]
155 deps = [
156 ":rtc_event_log_api",
157 ":rtc_event_log_impl",
158 ":rtc_event_log_parser",
159 "../base:rtc_base_approved",
tereliusbb46b952017-02-08 09:37:30 -0800160
161 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800162 "../api/audio_codecs:audio_codecs_api",
tereliusd4ed7f52017-02-08 04:22:53 -0800163 "../modules/rtp_rtcp:rtp_rtcp",
164 "//third_party/gflags",
165 ]
166 if (!build_with_chromium && is_clang) {
167 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
168 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
169 }
170 }
171 }
tereliusee37e862017-04-28 07:48:17 -0700172 if (rtc_include_tests) {
173 rtc_executable("rtc_event_log2stats") {
174 testonly = true
175 sources = [
176 "rtc_event_log/rtc_event_log2stats.cc",
177 ]
178 deps = [
179 ":rtc_event_log_api",
180 ":rtc_event_log_impl",
181 ":rtc_event_log_proto",
182 "../base:rtc_base_approved",
183 "//third_party/gflags",
184 ]
185 if (!build_with_chromium && is_clang) {
186 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
187 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
188 }
189 }
190 }
skvladcc91d282016-10-03 18:31:22 -0700191}