blob: aedbd9e48beef584b6fd8e2a0691a2bb43280f6b [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") {
kjellander727ac1d2017-03-08 02:12:11 -080026 # TODO(kjellander): Remove (bugs.webrtc.org/7257)
27 # Enabling GN check triggers cyclic dependency error:
28 # //webrtc/logging:rtc_event_log_api ->
29 # //webrtc/modules/audio_coding:audio_network_adaptor ->
30 # //webrtc/logging:rtc_event_log_api
31 check_includes = false
skvladcc91d282016-10-03 18:31:22 -070032 sources = [
33 "rtc_event_log/rtc_event_log.h",
34 ]
kjellander727ac1d2017-03-08 02:12:11 -080035 deps = [
36 "../base:rtc_base_approved",
37 "../call:call_interfaces",
38 ]
skvladcc91d282016-10-03 18:31:22 -070039}
40
41rtc_static_library("rtc_event_log_impl") {
42 sources = [
43 "rtc_event_log/ringbuffer.h",
44 "rtc_event_log/rtc_event_log.cc",
45 "rtc_event_log/rtc_event_log_helper_thread.cc",
46 "rtc_event_log/rtc_event_log_helper_thread.h",
47 ]
48
49 defines = []
50
51 deps = [
52 ":rtc_event_log_api",
53 "..:webrtc_common",
kjellander727ac1d2017-03-08 02:12:11 -080054 "../base:rtc_base_approved",
ossuf515ab82016-12-07 04:52:58 -080055 "../call:call_interfaces",
minyue4b7c9522017-01-24 04:54:59 -080056 "../modules/audio_coding:audio_network_adaptor",
skvladcc91d282016-10-03 18:31:22 -070057 "../modules/rtp_rtcp",
kjellander727ac1d2017-03-08 02:12:11 -080058 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070059 ]
60
61 if (rtc_enable_protobuf) {
62 defines += [ "ENABLE_RTC_EVENT_LOG" ]
63 deps += [ ":rtc_event_log_proto" ]
64 }
kjellandere40a7ee2016-10-16 23:56:12 -070065 if (!build_with_chromium && is_clang) {
66 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070067 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
68 }
69}
70
skvladcc91d282016-10-03 18:31:22 -070071if (rtc_enable_protobuf) {
72 proto_library("rtc_event_log_proto") {
73 sources = [
74 "rtc_event_log/rtc_event_log.proto",
75 ]
sakal363a2912017-01-13 06:52:12 -080076 proto_out_dir = "webrtc/logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -070077 }
skvladcc91d282016-10-03 18:31:22 -070078
skvladcc91d282016-10-03 18:31:22 -070079 rtc_static_library("rtc_event_log_parser") {
80 sources = [
81 "rtc_event_log/rtc_event_log_parser.cc",
82 "rtc_event_log/rtc_event_log_parser.h",
83 ]
84
85 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -080086 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -070087 ":rtc_event_log_proto",
88 "..:webrtc_common",
kjellander727ac1d2017-03-08 02:12:11 -080089 "../call:call_interfaces",
michaeltcde46b72017-04-06 05:59:10 -070090 "../modules/audio_coding:audio_network_adaptor",
kjellander727ac1d2017-03-08 02:12:11 -080091 "../modules/rtp_rtcp:rtp_rtcp",
92 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070093 ]
94
kjellandere40a7ee2016-10-16 23:56:12 -070095 if (!build_with_chromium && is_clang) {
96 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -070097 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
98 }
kjellander727ac1d2017-03-08 02:12:11 -080099 deps = [
100 "../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",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800119 "../modules/rtp_rtcp",
120 "../system_wrappers:metrics_default",
kjellander727ac1d2017-03-08 02:12:11 -0800121 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800122 "//testing/gmock",
123 "//testing/gtest",
124 ]
125 if (!build_with_chromium && is_clang) {
126 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
127 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
128 }
129 }
ivoc54b6e982017-02-08 00:28:09 -0800130 rtc_test("rtc_event_log2rtp_dump") {
131 testonly = true
132 sources = [
133 "rtc_event_log/rtc_event_log2rtp_dump.cc",
134 ]
135 deps = [
136 ":rtc_event_log_api",
137 ":rtc_event_log_impl",
138 ":rtc_event_log_parser",
139 "../base:rtc_base_approved",
140 "../call:call_interfaces",
141 "../modules/rtp_rtcp:rtp_rtcp",
142 "../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",
163 "../base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -0800164 "../call:call_interfaces",
tereliusbb46b952017-02-08 09:37:30 -0800165
166 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800167 "../api/audio_codecs:audio_codecs_api",
tereliusd4ed7f52017-02-08 04:22:53 -0800168 "../modules/rtp_rtcp:rtp_rtcp",
169 "//third_party/gflags",
170 ]
171 if (!build_with_chromium && is_clang) {
172 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
173 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
174 }
175 }
176 }
skvladcc91d282016-10-03 18:31:22 -0700177}