blob: b8d17573c17cfcf1a16b8d1abb88342d64222397 [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",
zhihuang38ede132017-06-15 12:52:32 -070028 "rtc_event_log/rtc_event_log_factory_interface.h",
skvladcc91d282016-10-03 18:31:22 -070029 ]
kjellander727ac1d2017-03-08 02:12:11 -080030 deps = [
perkj77cd58e2017-05-30 03:52:10 -070031 "..:webrtc_common",
aleloi440b6d92017-08-22 05:43:23 -070032 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070033 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -080034 ]
skvladcc91d282016-10-03 18:31:22 -070035}
36
37rtc_static_library("rtc_event_log_impl") {
38 sources = [
skvladcc91d282016-10-03 18:31:22 -070039 "rtc_event_log/rtc_event_log.cc",
zhihuang38ede132017-06-15 12:52:32 -070040 "rtc_event_log/rtc_event_log_factory.cc",
41 "rtc_event_log/rtc_event_log_factory.h",
skvladcc91d282016-10-03 18:31:22 -070042 "rtc_event_log/rtc_event_log_helper_thread.cc",
43 "rtc_event_log/rtc_event_log_helper_thread.h",
44 ]
45
46 defines = []
47
48 deps = [
49 ":rtc_event_log_api",
50 "..:webrtc_common",
minyue4b7c9522017-01-24 04:54:59 -080051 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070052 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
skvladcc91d282016-10-03 18:31:22 -070053 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -070054 "../rtc_base:protobuf_utils",
55 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -080056 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070057 ]
58
59 if (rtc_enable_protobuf) {
60 defines += [ "ENABLE_RTC_EVENT_LOG" ]
61 deps += [ ":rtc_event_log_proto" ]
62 }
kjellandere40a7ee2016-10-16 23:56:12 -070063 if (!build_with_chromium && is_clang) {
64 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070065 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
66 }
67}
68
skvladcc91d282016-10-03 18:31:22 -070069if (rtc_enable_protobuf) {
70 proto_library("rtc_event_log_proto") {
71 sources = [
72 "rtc_event_log/rtc_event_log.proto",
73 ]
sakal363a2912017-01-13 06:52:12 -080074 proto_out_dir = "webrtc/logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -070075 }
skvladcc91d282016-10-03 18:31:22 -070076
skvladcc91d282016-10-03 18:31:22 -070077 rtc_static_library("rtc_event_log_parser") {
78 sources = [
79 "rtc_event_log/rtc_event_log_parser.cc",
80 "rtc_event_log/rtc_event_log_parser.h",
81 ]
82
83 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -080084 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -070085 ":rtc_event_log_proto",
86 "..:webrtc_common",
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 = [
aleloi440b6d92017-08-22 05:43:23 -070098 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070099 "../rtc_base:protobuf_utils",
100 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -0800101 ]
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 = [
ehmaldonado1fd08c12017-01-17 02:37:34 -0800108 "rtc_event_log/rtc_event_log_unittest.cc",
109 "rtc_event_log/rtc_event_log_unittest_helper.cc",
eladalonb5c319a2017-08-17 08:32:39 -0700110 "rtc_event_log/rtc_event_log_unittest_helper.h",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800111 ]
112 deps = [
113 ":rtc_event_log_impl",
114 ":rtc_event_log_parser",
115 "../call",
michaeltcde46b72017-04-06 05:59:10 -0700116 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700117 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800118 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700119 "../rtc_base:rtc_base_approved",
120 "../rtc_base:rtc_base_tests_utils",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800121 "../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",
ivoc54b6e982017-02-08 00:28:09 -0800140 "../modules/rtp_rtcp:rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700141 "../rtc_base:rtc_base_approved",
ivoc54b6e982017-02-08 00:28:09 -0800142 "../system_wrappers:field_trial_default",
143 "../system_wrappers:metrics_default",
144 "../test:rtp_test_utils",
145 "//third_party/gflags",
146 ]
147 if (!build_with_chromium && is_clang) {
148 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
149 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
150 }
151 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800152 }
tereliusd4ed7f52017-02-08 04:22:53 -0800153 if (rtc_include_tests) {
154 rtc_executable("rtc_event_log2text") {
155 testonly = true
156 sources = [
157 "rtc_event_log/rtc_event_log2text.cc",
158 ]
159 deps = [
160 ":rtc_event_log_api",
161 ":rtc_event_log_impl",
162 ":rtc_event_log_parser",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700163 "../rtc_base:rtc_base_approved",
tereliusbb46b952017-02-08 09:37:30 -0800164
165 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800166 "../api/audio_codecs:audio_codecs_api",
tereliusd4ed7f52017-02-08 04:22:53 -0800167 "../modules/rtp_rtcp:rtp_rtcp",
168 "//third_party/gflags",
169 ]
170 if (!build_with_chromium && is_clang) {
171 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
172 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
173 }
174 }
175 }
tereliusee37e862017-04-28 07:48:17 -0700176 if (rtc_include_tests) {
177 rtc_executable("rtc_event_log2stats") {
178 testonly = true
179 sources = [
180 "rtc_event_log/rtc_event_log2stats.cc",
181 ]
182 deps = [
183 ":rtc_event_log_api",
184 ":rtc_event_log_impl",
185 ":rtc_event_log_proto",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700186 "../rtc_base:rtc_base_approved",
tereliusee37e862017-04-28 07:48:17 -0700187 "//third_party/gflags",
188 ]
189 if (!build_with_chromium && is_clang) {
190 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
191 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
192 }
193 }
194 }
skvladcc91d282016-10-03 18:31:22 -0700195}