blob: 6ffc93ba686aa44333cf07641774645e440faacd [file] [log] [blame]
vspasova@webrtc.orgf61dc9b2012-08-22 08:12:00 +00001# Copyright (c) 2012 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
9{
10 'includes': [
11 '../build/common.gypi',
12 ],
13 'targets': [
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000014 {
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000015 'target_name': 'video_quality_analysis',
wjia@webrtc.org2e2a4cf2013-01-18 17:13:47 +000016 'type': 'static_library',
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000017 'dependencies': [
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000018 '<(webrtc_root)/common_video/common_video.gyp:common_video',
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000019 ],
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000020 'export_dependent_settings': [
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000021 '<(webrtc_root)/common_video/common_video.gyp:common_video',
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000022 ],
23 'sources': [
24 'frame_analyzer/video_quality_analysis.h',
25 'frame_analyzer/video_quality_analysis.cc',
26 ],
27 }, # video_quality_analysis
28 {
29 'target_name': 'frame_analyzer',
30 'type': 'executable',
31 'dependencies': [
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000032 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser',
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000033 'video_quality_analysis',
34 ],
35 'sources': [
36 'frame_analyzer/frame_analyzer.cc',
37 ],
38 }, # frame_analyzer
39 {
40 'target_name': 'psnr_ssim_analyzer',
41 'type': 'executable',
42 'dependencies': [
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000043 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser',
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000044 'video_quality_analysis',
45 ],
46 'sources': [
47 'psnr_ssim_analyzer/psnr_ssim_analyzer.cc',
48 ],
49 }, # psnr_ssim_analyzer
vspasova@webrtc.orgf61dc9b2012-08-22 08:12:00 +000050 {
51 'target_name': 'rgba_to_i420_converter',
52 'type': 'executable',
53 'dependencies': [
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000054 '<(webrtc_root)/common_video/common_video.gyp:common_video',
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000055 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser',
vspasova@webrtc.orgf61dc9b2012-08-22 08:12:00 +000056 ],
57 'sources': [
58 'converter/converter.h',
59 'converter/converter.cc',
60 'converter/rgba_to_i420_converter.cc',
vspasova@webrtc.orgf61dc9b2012-08-22 08:12:00 +000061 ],
vspasova@webrtc.orgac410e22012-08-27 14:57:19 +000062 }, # rgba_to_i420_converter
brykt@google.com4de3dfe2012-11-27 13:44:07 +000063 {
brykt@google.comf5568902012-12-20 11:42:45 +000064 'target_name': 'frame_editing_lib',
wjia@webrtc.org2e2a4cf2013-01-18 17:13:47 +000065 'type': 'static_library',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000066 'dependencies': [
andrew@webrtc.orgdddc02b2012-11-30 02:28:27 +000067 '<(webrtc_root)/common_video/common_video.gyp:common_video',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000068 ],
69 'sources': [
brykt@google.comf5568902012-12-20 11:42:45 +000070 'frame_editing/frame_editing_lib.cc',
71 'frame_editing/frame_editing_lib.h',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000072 ],
kjellander@webrtc.orgfa53d872013-02-04 10:07:17 +000073 # Disable warnings to enable Win64 build, issue 1323.
74 'msvs_disabled_warnings': [
75 4267, # size_t to int truncation.
76 ],
brykt@google.comf5568902012-12-20 11:42:45 +000077 }, # frame_editing_lib
brykt@google.com4de3dfe2012-11-27 13:44:07 +000078 {
brykt@google.comf5568902012-12-20 11:42:45 +000079 'target_name': 'frame_editor',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000080 'type': 'executable',
81 'dependencies': [
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000082 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser',
brykt@google.comf5568902012-12-20 11:42:45 +000083 'frame_editing_lib',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000084 ],
85 'sources': [
brykt@google.comf5568902012-12-20 11:42:45 +000086 'frame_editing/frame_editing.cc',
brykt@google.com4de3dfe2012-11-27 13:44:07 +000087 ],
brykt@google.comf5568902012-12-20 11:42:45 +000088 }, # frame_editing
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000089 {
90 'target_name': 'force_mic_volume_max',
91 'type': 'executable',
92 'dependencies': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000093 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000094 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
phoglund@webrtc.org14d77002013-05-17 11:52:08 +000095 ],
96 'sources': [
97 'force_mic_volume_max/force_mic_volume_max.cc',
98 ],
99 }, # force_mic_volume_max
vspasova@webrtc.orgf61dc9b2012-08-22 08:12:00 +0000100 ],
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000101 'conditions': [
skvlad185ba292016-08-23 13:01:27 -0700102 ['enable_protobuf==1', {
terelius54ce6802016-07-13 06:44:41 -0700103 'targets': [
104 {
tereliusb246a292016-08-23 18:15:25 -0700105 'target_name': 'graph_proto',
106 'type': 'static_library',
107 'sources': [
108 'event_log_visualizer/graph.proto',
109 ],
110 'variables': {
111 'proto_in_dir': 'event_log_visualizer',
112 'proto_out_dir': 'webrtc/tools/event_log_visualizer',
113 },
114 'includes': ['../build/protoc.gypi'],
115 },
116 {
skvlad185ba292016-08-23 13:01:27 -0700117 # RTC event log visualization library
118 'target_name': 'event_log_visualizer_utils',
119 'type': 'static_library',
terelius54ce6802016-07-13 06:44:41 -0700120 'dependencies': [
Stefan Holmer13181032016-07-29 14:48:54 +0200121 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
terelius54ce6802016-07-13 06:44:41 -0700122 '<(webrtc_root)/webrtc.gyp:rtc_event_log_parser',
Stefan Holmer13181032016-07-29 14:48:54 +0200123 '<(webrtc_root)/modules/modules.gyp:congestion_controller',
terelius54ce6802016-07-13 06:44:41 -0700124 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
125 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:metrics_default',
tereliusb246a292016-08-23 18:15:25 -0700126 ':graph_proto',
terelius54ce6802016-07-13 06:44:41 -0700127 ],
128 'sources': [
129 'event_log_visualizer/analyzer.cc',
130 'event_log_visualizer/analyzer.h',
tereliusdc35dcd2016-08-01 12:03:27 -0700131 'event_log_visualizer/plot_base.cc',
terelius54ce6802016-07-13 06:44:41 -0700132 'event_log_visualizer/plot_base.h',
tereliusb246a292016-08-23 18:15:25 -0700133 'event_log_visualizer/plot_protobuf.cc',
134 'event_log_visualizer/plot_protobuf.h',
terelius54ce6802016-07-13 06:44:41 -0700135 'event_log_visualizer/plot_python.cc',
136 'event_log_visualizer/plot_python.h',
137 ],
tereliusb246a292016-08-23 18:15:25 -0700138 'export_dependent_settings': [
139 '<(webrtc_root)/webrtc.gyp:rtc_event_log_parser',
140 ':graph_proto',
141 ],
skvlad185ba292016-08-23 13:01:27 -0700142 },
143 ],
144 }],
145 ['enable_protobuf==1 and include_tests==1', {
146 # TODO(terelius): This tool requires the include_test condition to
147 # prevent build errors when gflags isn't found in downstream projects.
148 # There should be a cleaner way to do this. The tool is not test related.
149 'targets': [
150 {
151 # Command line tool for RTC event log visualization
152 'target_name': 'event_log_visualizer',
153 'type': 'executable',
154 'dependencies': [
155 'event_log_visualizer_utils',
156 '<(webrtc_root)/test/test.gyp:field_trial',
157 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
158 ],
159 'sources': [
160 'event_log_visualizer/main.cc',
161 ],
terelius54ce6802016-07-13 06:44:41 -0700162 },
163 ],
164 }],
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000165 ['include_tests==1', {
166 'targets' : [
167 {
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000168 'target_name': 'agc_test_utils',
169 'type': 'static_library',
170 'sources': [
171 'agc/test_utils.cc',
172 'agc/test_utils.h',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000173 ],
174 },
175 {
176 'target_name': 'agc_harness',
177 'type': 'executable',
178 'dependencies': [
179 '<(DEPTH)/testing/gtest.gyp:gtest',
180 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000181 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000182 '<(webrtc_root)/test/test.gyp:channel_transport',
183 '<(webrtc_root)/test/test.gyp:test_support',
Alejandro Luebsd094c042015-09-29 15:43:42 -0700184 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000185 ],
186 'sources': [
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000187 'agc/agc_harness.cc',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000188 ],
189 }, # agc_harness
190 {
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000191 'target_name': 'activity_metric',
192 'type': 'executable',
193 'dependencies': [
194 '<(DEPTH)/testing/gtest.gyp:gtest',
195 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
Alejandro Luebsd094c042015-09-29 15:43:42 -0700196 '<(webrtc_root)/modules/modules.gyp:audio_processing',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000197 ],
198 'sources': [
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000199 'agc/activity_metric.cc',
pbos@webrtc.orga7f77722014-12-15 16:33:16 +0000200 ],
201 }, # activity_metric
202 {
kjellander@webrtc.orgeb61a852013-10-21 08:40:56 +0000203 'target_name': 'audio_e2e_harness',
204 'type': 'executable',
205 'dependencies': [
206 '<(webrtc_root)/test/test.gyp:channel_transport',
207 '<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000208 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander@webrtc.orgeb61a852013-10-21 08:40:56 +0000209 '<(DEPTH)/testing/gtest.gyp:gtest',
210 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
211 ],
212 'sources': [
213 'e2e_quality/audio/audio_e2e_harness.cc',
214 ],
215 }, # audio_e2e_harness
216 {
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000217 'target_name': 'tools_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000218 'type': '<(gtest_target_type)',
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000219 'dependencies': [
brykt@google.comf5568902012-12-20 11:42:45 +0000220 'frame_editing_lib',
kjellander@webrtc.orgf880f862013-09-10 12:10:01 +0000221 'video_quality_analysis',
phoglund@webrtc.org14d77002013-05-17 11:52:08 +0000222 '<(webrtc_root)/tools/internal_tools.gyp:command_line_parser',
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000223 '<(webrtc_root)/test/test.gyp:test_support_main',
224 '<(DEPTH)/testing/gtest.gyp:gtest',
225 ],
226 'sources': [
kjellander@webrtc.orgb2d74972013-01-26 16:36:40 +0000227 'simple_command_line_parser_unittest.cc',
brykt@google.comf5568902012-12-20 11:42:45 +0000228 'frame_editing/frame_editing_unittest.cc',
kjellander@webrtc.orgf880f862013-09-10 12:10:01 +0000229 'frame_analyzer/video_quality_analysis_unittest.cc',
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000230 ],
kjellander@webrtc.orgfa53d872013-02-04 10:07:17 +0000231 # Disable warnings to enable Win64 build, issue 1323.
232 'msvs_disabled_warnings': [
233 4267, # size_t to int truncation.
234 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000235 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000236 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000237 'dependencies': [
238 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
239 ],
240 }],
241 ],
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000242 }, # tools_unittests
aleloi7ebbf902016-06-20 07:39:15 -0700243 {
244 'target_name': 'rtp_analyzer',
245 'type': 'none',
246 'variables': {
247 'copy_output_dir%': '<(PRODUCT_DIR)',
248 },
249 'copies': [
250 {
251 'destination': '<(copy_output_dir)/',
252 'files': [
253 'py_event_log_analyzer/misc.py',
254 'py_event_log_analyzer/pb_parse.py',
255 'py_event_log_analyzer/rtp_analyzer.py',
256 'py_event_log_analyzer/rtp_analyzer.sh',
257 ]
258 },
259 ],
260 'dependencies': [ '<(webrtc_root)/webrtc.gyp:rtc_event_log_proto' ],
261 'process_outputs_as_sources': 1,
262 }, # rtp_analyzer
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000263 ], # targets
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000264 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000265 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000266 'targets': [
267 {
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000268 'target_name': 'tools_unittests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000269 'type': 'none',
270 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700271 '<(android_tests_path):tools_unittests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000272 ],
273 },
274 ],
kjellandere532aec2016-04-17 20:08:20 -0700275 'conditions': [
276 ['test_isolation_mode != "noop"',
277 {
278 'targets': [
279 {
280 'target_name': 'tools_unittests_apk_run',
281 'type': 'none',
282 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700283 '<(android_tests_path):tools_unittests_apk',
kjellandere532aec2016-04-17 20:08:20 -0700284 ],
285 'includes': [
286 '../build/isolate.gypi',
287 ],
288 'sources': [
289 'tools_unittests_apk.isolate',
290 ],
291 },
292 ],
293 },
294 ],
295 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000296 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000297 ['test_isolation_mode != "noop"', {
298 'targets': [
299 {
300 'target_name': 'tools_unittests_run',
301 'type': 'none',
302 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000303 'tools_unittests',
304 ],
305 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000306 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000307 ],
308 'sources': [
309 'tools_unittests.isolate',
310 ],
311 },
312 ],
313 }],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000314 ],
brykt@google.com4de3dfe2012-11-27 13:44:07 +0000315 }], # include_tests
316 ], # conditions
wjia@webrtc.org2e2a4cf2013-01-18 17:13:47 +0000317}