OLD | NEW |
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 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 | 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 | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 import("//third_party/protobuf/proto_library.gni") | 9 import("//third_party/protobuf/proto_library.gni") |
10 import("../webrtc.gni") | 10 import("../webrtc.gni") |
11 | 11 |
12 group("rtc_tools") { | 12 group("rtc_tools") { |
13 # This target shall build all targets in tools/. | 13 # This target shall build all targets in tools/. |
14 testonly = true | 14 testonly = true |
15 | 15 |
16 public_deps = [ | 16 public_deps = [ |
17 ":command_line_parser", | 17 ":command_line_parser", |
18 ":frame_analyzer", | 18 ":frame_analyzer", |
19 ":frame_editor", | 19 ":video_quality_analysis", |
20 ":psnr_ssim_analyzer", | |
21 ":rgba_to_i420_converter", | |
22 ] | 20 ] |
23 if (rtc_include_internal_audio_device) { | 21 if (!build_with_chromium) { |
24 public_deps += [ ":force_mic_volume_max" ] | 22 public_deps += [ |
25 } | 23 ":frame_editor", |
26 if (rtc_enable_protobuf) { | 24 ":psnr_ssim_analyzer", |
27 public_deps += [ ":chart_proto" ] | 25 ":rgba_to_i420_converter", |
| 26 ] |
| 27 if (rtc_include_internal_audio_device) { |
| 28 public_deps += [ ":force_mic_volume_max" ] |
| 29 } |
| 30 if (rtc_enable_protobuf) { |
| 31 public_deps += [ ":chart_proto" ] |
| 32 } |
28 } | 33 } |
29 | 34 |
30 if (rtc_include_tests) { | 35 if (rtc_include_tests) { |
31 public_deps += [ | 36 public_deps += [ |
32 ":activity_metric", | 37 ":activity_metric", |
33 ":tools_unittests", | 38 ":tools_unittests", |
34 ] | 39 ] |
35 if (rtc_enable_protobuf) { | 40 if (rtc_enable_protobuf) { |
36 public_deps += [ | 41 public_deps += [ |
37 ":event_log_visualizer", | 42 ":event_log_visualizer", |
(...skipping 14 matching lines...) Expand all Loading... |
52 "../rtc_base:rtc_base_approved", | 57 "../rtc_base:rtc_base_approved", |
53 ] | 58 ] |
54 } | 59 } |
55 | 60 |
56 rtc_static_library("video_quality_analysis") { | 61 rtc_static_library("video_quality_analysis") { |
57 sources = [ | 62 sources = [ |
58 "frame_analyzer/video_quality_analysis.cc", | 63 "frame_analyzer/video_quality_analysis.cc", |
59 "frame_analyzer/video_quality_analysis.h", | 64 "frame_analyzer/video_quality_analysis.h", |
60 ] | 65 ] |
61 | 66 |
62 deps = [ | |
63 "../common_video", | |
64 ] | |
65 public_deps = [ | 67 public_deps = [ |
66 "../common_video", | 68 "../common_video", |
67 ] | 69 ] |
68 } | 70 } |
69 | 71 |
70 rtc_executable("frame_analyzer") { | 72 rtc_executable("frame_analyzer") { |
71 sources = [ | 73 sources = [ |
72 "frame_analyzer/frame_analyzer.cc", | 74 "frame_analyzer/frame_analyzer.cc", |
73 ] | 75 ] |
74 | 76 |
75 deps = [ | 77 deps = [ |
76 ":command_line_parser", | 78 ":command_line_parser", |
77 ":video_quality_analysis", | 79 ":video_quality_analysis", |
78 "//build/win:default_exe_manifest", | 80 "//build/win:default_exe_manifest", |
79 ] | 81 ] |
80 } | 82 } |
81 | 83 |
82 rtc_executable("psnr_ssim_analyzer") { | 84 # Only expose the targets needed by Chromium (e.g. frame_analyzer) to avoid |
83 sources = [ | 85 # building a lot of redundant code as part of Chromium builds. |
84 "psnr_ssim_analyzer/psnr_ssim_analyzer.cc", | 86 if (!build_with_chromium) { |
85 ] | 87 rtc_executable("psnr_ssim_analyzer") { |
| 88 sources = [ |
| 89 "psnr_ssim_analyzer/psnr_ssim_analyzer.cc", |
| 90 ] |
86 | 91 |
87 deps = [ | 92 deps = [ |
88 ":command_line_parser", | 93 ":command_line_parser", |
89 ":video_quality_analysis", | 94 ":video_quality_analysis", |
90 "//build/win:default_exe_manifest", | 95 "//build/win:default_exe_manifest", |
91 ] | 96 ] |
92 } | |
93 | |
94 rtc_static_library("reference_less_video_analysis_lib") { | |
95 sources = [ | |
96 "frame_analyzer/reference_less_video_analysis_lib.cc", | |
97 "frame_analyzer/reference_less_video_analysis_lib.h", | |
98 ] | |
99 | |
100 deps = [ | |
101 ":video_quality_analysis", | |
102 ] | |
103 } | |
104 | |
105 rtc_executable("reference_less_video_analysis") { | |
106 sources = [ | |
107 "frame_analyzer/reference_less_video_analysis.cc", | |
108 ] | |
109 | |
110 deps = [ | |
111 ":command_line_parser", | |
112 ":reference_less_video_analysis_lib", | |
113 "//build/win:default_exe_manifest", | |
114 ] | |
115 } | |
116 | |
117 rtc_executable("rgba_to_i420_converter") { | |
118 sources = [ | |
119 "converter/converter.cc", | |
120 "converter/converter.h", | |
121 "converter/rgba_to_i420_converter.cc", | |
122 ] | |
123 | |
124 deps = [ | |
125 ":command_line_parser", | |
126 "../common_video", | |
127 "//build/win:default_exe_manifest", | |
128 ] | |
129 } | |
130 | |
131 rtc_static_library("frame_editing_lib") { | |
132 sources = [ | |
133 "frame_editing/frame_editing_lib.cc", | |
134 "frame_editing/frame_editing_lib.h", | |
135 ] | |
136 | |
137 # TODO(jschuh): Bug 1348: fix this warning. | |
138 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] | |
139 | |
140 if (!build_with_chromium && is_clang) { | |
141 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). | |
142 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] | |
143 } | 97 } |
144 | 98 |
145 deps = [ | 99 rtc_static_library("reference_less_video_analysis_lib") { |
146 "..:webrtc_common", | 100 sources = [ |
147 "../common_video", | 101 "frame_analyzer/reference_less_video_analysis_lib.cc", |
148 ] | 102 "frame_analyzer/reference_less_video_analysis_lib.h", |
149 } | 103 ] |
150 | 104 |
151 rtc_executable("frame_editor") { | 105 deps = [ |
152 sources = [ | 106 ":video_quality_analysis", |
153 "frame_editing/frame_editing.cc", | 107 ] |
154 ] | 108 } |
155 | 109 |
156 deps = [ | 110 rtc_executable("reference_less_video_analysis") { |
157 ":command_line_parser", | 111 sources = [ |
158 ":frame_editing_lib", | 112 "frame_analyzer/reference_less_video_analysis.cc", |
159 "//build/win:default_exe_manifest", | 113 ] |
160 ] | |
161 } | |
162 | 114 |
163 # It doesn't make sense to build this tool without the ADM enabled. | 115 deps = [ |
164 if (rtc_include_internal_audio_device) { | 116 ":command_line_parser", |
165 rtc_executable("force_mic_volume_max") { | 117 ":reference_less_video_analysis_lib", |
| 118 "//build/win:default_exe_manifest", |
| 119 ] |
| 120 } |
| 121 |
| 122 rtc_executable("rgba_to_i420_converter") { |
166 sources = [ | 123 sources = [ |
167 "force_mic_volume_max/force_mic_volume_max.cc", | 124 "converter/converter.cc", |
| 125 "converter/converter.h", |
| 126 "converter/rgba_to_i420_converter.cc", |
168 ] | 127 ] |
169 | 128 |
| 129 deps = [ |
| 130 ":command_line_parser", |
| 131 "../common_video", |
| 132 "//build/win:default_exe_manifest", |
| 133 ] |
| 134 } |
| 135 |
| 136 rtc_static_library("frame_editing_lib") { |
| 137 sources = [ |
| 138 "frame_editing/frame_editing_lib.cc", |
| 139 "frame_editing/frame_editing_lib.h", |
| 140 ] |
| 141 |
| 142 # TODO(jschuh): Bug 1348: fix this warning. |
| 143 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| 144 |
170 if (!build_with_chromium && is_clang) { | 145 if (!build_with_chromium && is_clang) { |
171 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). | 146 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
172 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] | 147 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
173 } | 148 } |
174 | 149 |
175 deps = [ | 150 deps = [ |
176 "../modules/audio_device", | 151 "..:webrtc_common", |
177 "../system_wrappers:system_wrappers_default", | 152 "../common_video", |
| 153 ] |
| 154 } |
| 155 |
| 156 rtc_executable("frame_editor") { |
| 157 sources = [ |
| 158 "frame_editing/frame_editing.cc", |
| 159 ] |
| 160 |
| 161 deps = [ |
| 162 ":command_line_parser", |
| 163 ":frame_editing_lib", |
178 "//build/win:default_exe_manifest", | 164 "//build/win:default_exe_manifest", |
179 ] | 165 ] |
180 } | 166 } |
181 } | |
182 | 167 |
183 if (rtc_enable_protobuf) { | 168 # It doesn't make sense to build this tool without the ADM enabled. |
184 proto_library("chart_proto") { | 169 if (rtc_include_internal_audio_device) { |
185 sources = [ | 170 rtc_executable("force_mic_volume_max") { |
186 "event_log_visualizer/chart.proto", | 171 sources = [ |
187 ] | 172 "force_mic_volume_max/force_mic_volume_max.cc", |
188 proto_out_dir = "webrtc/rtc_tools/event_log_visualizer" | 173 ] |
| 174 |
| 175 if (!build_with_chromium && is_clang) { |
| 176 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
. |
| 177 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 178 } |
| 179 |
| 180 deps = [ |
| 181 "../modules/audio_device", |
| 182 "../system_wrappers:system_wrappers_default", |
| 183 "//build/win:default_exe_manifest", |
| 184 ] |
| 185 } |
189 } | 186 } |
190 | 187 |
191 rtc_static_library("event_log_visualizer_utils") { | 188 if (rtc_enable_protobuf) { |
192 sources = [ | 189 proto_library("chart_proto") { |
193 "event_log_visualizer/analyzer.cc", | 190 sources = [ |
194 "event_log_visualizer/analyzer.h", | 191 "event_log_visualizer/chart.proto", |
195 "event_log_visualizer/plot_base.cc", | 192 ] |
196 "event_log_visualizer/plot_base.h", | 193 proto_out_dir = "webrtc/rtc_tools/event_log_visualizer" |
197 "event_log_visualizer/plot_protobuf.cc", | |
198 "event_log_visualizer/plot_protobuf.h", | |
199 "event_log_visualizer/plot_python.cc", | |
200 "event_log_visualizer/plot_python.h", | |
201 ] | |
202 if (!build_with_chromium && is_clang) { | |
203 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). | |
204 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] | |
205 } | 194 } |
206 defines = [ "ENABLE_RTC_EVENT_LOG" ] | |
207 deps = [ | |
208 "../call:call_interfaces", | |
209 "../call:video_stream_api", | |
210 "../logging:rtc_event_log_impl", | |
211 "../logging:rtc_event_log_parser", | |
212 "../modules:module_api", | |
213 "../modules/audio_coding:ana_debug_dump_proto", | |
214 "../modules/audio_coding:neteq_tools", | |
215 "../rtc_base:rtc_base_approved", | |
216 | 195 |
217 # TODO(kwiberg): Remove this dependency. | 196 rtc_static_library("event_log_visualizer_utils") { |
218 "../api/audio_codecs:audio_codecs_api", | 197 sources = [ |
219 "../modules/congestion_controller", | 198 "event_log_visualizer/analyzer.cc", |
220 "../modules/rtp_rtcp", | 199 "event_log_visualizer/analyzer.h", |
221 "../system_wrappers:system_wrappers_default", | 200 "event_log_visualizer/plot_base.cc", |
222 "//build/config:exe_and_shlib_deps", | 201 "event_log_visualizer/plot_base.h", |
223 ] | 202 "event_log_visualizer/plot_protobuf.cc", |
224 public_deps = [ | 203 "event_log_visualizer/plot_protobuf.h", |
225 ":chart_proto", | 204 "event_log_visualizer/plot_python.cc", |
226 "../logging:rtc_event_log_parser", | 205 "event_log_visualizer/plot_python.h", |
227 ] | 206 ] |
| 207 if (!build_with_chromium && is_clang) { |
| 208 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
. |
| 209 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| 210 } |
| 211 defines = [ "ENABLE_RTC_EVENT_LOG" ] |
| 212 deps = [ |
| 213 "../call:call_interfaces", |
| 214 "../call:video_stream_api", |
| 215 "../logging:rtc_event_log_impl", |
| 216 "../logging:rtc_event_log_parser", |
| 217 "../modules:module_api", |
| 218 "../modules/audio_coding:ana_debug_dump_proto", |
| 219 "../modules/audio_coding:neteq_tools", |
| 220 "../rtc_base:rtc_base_approved", |
| 221 |
| 222 # TODO(kwiberg): Remove this dependency. |
| 223 "../api/audio_codecs:audio_codecs_api", |
| 224 "../modules/congestion_controller", |
| 225 "../modules/rtp_rtcp", |
| 226 "../system_wrappers:system_wrappers_default", |
| 227 "//build/config:exe_and_shlib_deps", |
| 228 ] |
| 229 public_deps = [ |
| 230 ":chart_proto", |
| 231 "../logging:rtc_event_log_parser", |
| 232 ] |
| 233 } |
228 } | 234 } |
229 } | 235 } |
230 | 236 |
231 # Exclude tools depending on gflags since that's not available in Chromium. | 237 # Exclude tools depending on gflags since that's not available in Chromium. |
232 if (rtc_include_tests) { | 238 if (rtc_include_tests) { |
233 if (rtc_enable_protobuf) { | 239 if (rtc_enable_protobuf) { |
234 rtc_executable("event_log_visualizer") { | 240 rtc_executable("event_log_visualizer") { |
235 testonly = true | 241 testonly = true |
236 sources = [ | 242 sources = [ |
237 "event_log_visualizer/main.cc", | 243 "event_log_visualizer/main.cc", |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 ] | 347 ] |
342 outputs = [ | 348 outputs = [ |
343 "$root_build_dir/{{source_file_part}}", | 349 "$root_build_dir/{{source_file_part}}", |
344 ] | 350 ] |
345 deps = [ | 351 deps = [ |
346 "../logging:rtc_event_log_proto", | 352 "../logging:rtc_event_log_proto", |
347 ] | 353 ] |
348 } | 354 } |
349 } | 355 } |
350 } | 356 } |
OLD | NEW |