blob: eb4cec277cbf1bfbc282f60f669a99b9b88a79dd [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",
eladalon4bb3b9c2017-09-11 07:25:26 -070029 "rtc_event_log/rtc_stream_config.cc",
30 "rtc_event_log/rtc_stream_config.h",
skvladcc91d282016-10-03 18:31:22 -070031 ]
kjellander727ac1d2017-03-08 02:12:11 -080032 deps = [
perkj77cd58e2017-05-30 03:52:10 -070033 "..:webrtc_common",
Bjorn Terelius440216f2017-09-29 21:01:42 +020034 "../api:array_view",
Stefan Holmer1acbd682017-09-01 15:29:28 +020035 "../api:libjingle_peerconnection_api",
aleloi440b6d92017-08-22 05:43:23 -070036 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070037 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -080038 ]
skvladcc91d282016-10-03 18:31:22 -070039}
40
41rtc_static_library("rtc_event_log_impl") {
42 sources = [
skvladcc91d282016-10-03 18:31:22 -070043 "rtc_event_log/rtc_event_log.cc",
zhihuang38ede132017-06-15 12:52:32 -070044 "rtc_event_log/rtc_event_log_factory.cc",
45 "rtc_event_log/rtc_event_log_factory.h",
skvladcc91d282016-10-03 18:31:22 -070046 ]
47
48 defines = []
49
50 deps = [
51 ":rtc_event_log_api",
52 "..:webrtc_common",
minyue4b7c9522017-01-24 04:54:59 -080053 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070054 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
skvladcc91d282016-10-03 18:31:22 -070055 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -070056 "../rtc_base:protobuf_utils",
57 "../rtc_base:rtc_base_approved",
eladalon248fd4f2017-09-06 05:18:15 -070058 "../rtc_base:rtc_task_queue",
59 "../rtc_base:sequenced_task_checker",
kjellander727ac1d2017-03-08 02:12:11 -080060 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070061 ]
62
63 if (rtc_enable_protobuf) {
64 defines += [ "ENABLE_RTC_EVENT_LOG" ]
65 deps += [ ":rtc_event_log_proto" ]
66 }
kjellandere40a7ee2016-10-16 23:56:12 -070067 if (!build_with_chromium && is_clang) {
68 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070069 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
70 }
71}
72
skvladcc91d282016-10-03 18:31:22 -070073if (rtc_enable_protobuf) {
74 proto_library("rtc_event_log_proto") {
75 sources = [
76 "rtc_event_log/rtc_event_log.proto",
77 ]
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020078 proto_out_dir = "logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -070079 }
skvladcc91d282016-10-03 18:31:22 -070080
skvladcc91d282016-10-03 18:31:22 -070081 rtc_static_library("rtc_event_log_parser") {
82 sources = [
83 "rtc_event_log/rtc_event_log_parser.cc",
84 "rtc_event_log/rtc_event_log_parser.h",
85 ]
86
87 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -080088 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -070089 ":rtc_event_log_proto",
90 "..:webrtc_common",
michaeltcde46b72017-04-06 05:59:10 -070091 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070092 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
kjellander727ac1d2017-03-08 02:12:11 -080093 "../modules/rtp_rtcp:rtp_rtcp",
94 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070095 ]
96
kjellandere40a7ee2016-10-16 23:56:12 -070097 if (!build_with_chromium && is_clang) {
98 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070099 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
100 }
kjellander727ac1d2017-03-08 02:12:11 -0800101 deps = [
aleloi440b6d92017-08-22 05:43:23 -0700102 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700103 "../rtc_base:protobuf_utils",
104 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -0800105 ]
skvladcc91d282016-10-03 18:31:22 -0700106 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800107
108 if (rtc_include_tests) {
109 rtc_source_set("rtc_event_log_tests") {
110 testonly = true
111 sources = [
ehmaldonado1fd08c12017-01-17 02:37:34 -0800112 "rtc_event_log/rtc_event_log_unittest.cc",
113 "rtc_event_log/rtc_event_log_unittest_helper.cc",
eladalonb5c319a2017-08-17 08:32:39 -0700114 "rtc_event_log/rtc_event_log_unittest_helper.h",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800115 ]
116 deps = [
117 ":rtc_event_log_impl",
118 ":rtc_event_log_parser",
119 "../call",
michaeltcde46b72017-04-06 05:59:10 -0700120 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700121 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800122 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700123 "../rtc_base:rtc_base_approved",
124 "../rtc_base:rtc_base_tests_utils",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800125 "../system_wrappers:metrics_default",
kjellander727ac1d2017-03-08 02:12:11 -0800126 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800127 "//testing/gmock",
128 "//testing/gtest",
129 ]
130 if (!build_with_chromium && is_clang) {
131 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
132 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
133 }
134 }
ivoc54b6e982017-02-08 00:28:09 -0800135 rtc_test("rtc_event_log2rtp_dump") {
136 testonly = true
137 sources = [
138 "rtc_event_log/rtc_event_log2rtp_dump.cc",
139 ]
140 deps = [
141 ":rtc_event_log_api",
142 ":rtc_event_log_impl",
143 ":rtc_event_log_parser",
ivoc54b6e982017-02-08 00:28:09 -0800144 "../modules/rtp_rtcp:rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700145 "../rtc_base:rtc_base_approved",
ivoc54b6e982017-02-08 00:28:09 -0800146 "../system_wrappers:field_trial_default",
147 "../system_wrappers:metrics_default",
148 "../test:rtp_test_utils",
ivoc54b6e982017-02-08 00:28:09 -0800149 ]
150 if (!build_with_chromium && is_clang) {
151 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
152 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
153 }
154 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800155 }
tereliusd4ed7f52017-02-08 04:22:53 -0800156 if (rtc_include_tests) {
157 rtc_executable("rtc_event_log2text") {
158 testonly = true
159 sources = [
160 "rtc_event_log/rtc_event_log2text.cc",
161 ]
162 deps = [
163 ":rtc_event_log_api",
164 ":rtc_event_log_impl",
165 ":rtc_event_log_parser",
Stefan Holmer1acbd682017-09-01 15:29:28 +0200166 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700167 "../rtc_base:rtc_base_approved",
tereliusbb46b952017-02-08 09:37:30 -0800168
169 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800170 "../api/audio_codecs:audio_codecs_api",
Elad Alona96fd7f2017-09-15 16:13:21 +0200171 "../modules/audio_coding:audio_network_adaptor_config",
tereliusd4ed7f52017-02-08 04:22:53 -0800172 "../modules/rtp_rtcp:rtp_rtcp",
tereliusd4ed7f52017-02-08 04:22:53 -0800173 ]
174 if (!build_with_chromium && is_clang) {
175 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
176 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
177 }
178 }
179 }
tereliusee37e862017-04-28 07:48:17 -0700180 if (rtc_include_tests) {
181 rtc_executable("rtc_event_log2stats") {
182 testonly = true
183 sources = [
184 "rtc_event_log/rtc_event_log2stats.cc",
185 ]
186 deps = [
187 ":rtc_event_log_api",
188 ":rtc_event_log_impl",
189 ":rtc_event_log_proto",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700190 "../rtc_base:rtc_base_approved",
tereliusee37e862017-04-28 07:48:17 -0700191 ]
192 if (!build_with_chromium && is_clang) {
193 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
194 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
195 }
196 }
197 }
skvladcc91d282016-10-03 18:31:22 -0700198}