Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / modules / modules.gyp
1 # Copyright (c) 2011 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     'audio_coding/codecs/cng/cng.gypi',
13     'audio_coding/codecs/g711/g711.gypi',
14     'audio_coding/codecs/g722/g722.gypi',
15     'audio_coding/codecs/ilbc/ilbc.gypi',
16     'audio_coding/codecs/isac/main/source/isac.gypi',
17     'audio_coding/codecs/isac/fix/source/isacfix.gypi',
18     'audio_coding/codecs/pcm16b/pcm16b.gypi',
19     'audio_coding/main/acm2/audio_coding_module.gypi',
20     'audio_coding/neteq/neteq.gypi',
21     'audio_conference_mixer/source/audio_conference_mixer.gypi',
22     'audio_device/audio_device.gypi',
23     'audio_processing/audio_processing.gypi',
24     'bitrate_controller/bitrate_controller.gypi',
25     'desktop_capture/desktop_capture.gypi',
26     'media_file/source/media_file.gypi',
27     'pacing/pacing.gypi',
28     'remote_bitrate_estimator/remote_bitrate_estimator.gypi',
29     'rtp_rtcp/source/rtp_rtcp.gypi',
30     'utility/source/utility.gypi',
31     'video_coding/codecs/i420/main/source/i420.gypi',
32     'video_coding/main/source/video_coding.gypi',
33     'video_capture/video_capture.gypi',
34     'video_processing/main/source/video_processing.gypi',
35     'video_render/video_render.gypi',
36   ],
37   'conditions': [
38     ['include_opus==1', {
39       'includes': ['audio_coding/codecs/opus/opus.gypi',],
40     }],
41     ['include_tests==1', {
42       'includes': [
43         'audio_coding/codecs/isac/isac_test.gypi',
44         'audio_coding/codecs/isac/isacfix_test.gypi',
45         'audio_coding/codecs/tools/audio_codec_speed_tests.gypi',
46         'audio_processing/audio_processing_tests.gypi',
47         'rtp_rtcp/test/testFec/test_fec.gypi',
48         'video_coding/main/source/video_coding_test.gypi',
49         'video_coding/codecs/test/video_codecs_test_framework.gypi',
50         'video_coding/codecs/test_framework/test_framework.gypi',
51         'video_coding/codecs/tools/video_codecs_tools.gypi',
52       ], # includes
53       'variables': {
54         'conditions': [
55           # Desktop capturer is supported only on Windows, OSX and Linux.
56           ['OS=="win" or OS=="mac" or OS=="linux"', {
57             'desktop_capture_supported%': 1,
58           }, {
59             'desktop_capture_supported%': 0,
60           }],
61         ],
62       },
63       'targets': [
64         {
65           'target_name': 'modules_unittests',
66           'type': '<(gtest_target_type)',
67           'defines': [
68             '<@(audio_coding_defines)',
69           ],
70           'dependencies': [
71             'acm_receive_test',
72             'acm_send_test',
73             'audio_coding_module',
74             'audio_processing',
75             'bitrate_controller',
76             'CNG',
77             'desktop_capture',
78             'iSACFix',
79             'media_file',
80             'neteq',
81             'neteq_test_tools',
82             'neteq_unittest_tools',
83             'paced_sender',
84             'PCM16B',  # Needed by NetEq tests.
85             'remote_bitrate_estimator',
86             'rtp_rtcp',
87             'test_framework',
88             'video_codecs_test_framework',
89             'video_processing',
90             'webrtc_utility',
91             'webrtc_video_coding',
92             '<@(neteq_dependencies)',
93             '<(rbe_components_path)/remote_bitrate_estimator_components.gyp:rbe_components',
94             '<(DEPTH)/testing/gmock.gyp:gmock',
95             '<(DEPTH)/testing/gtest.gyp:gtest',
96             '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
97             '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
98             '<(webrtc_root)/modules/modules.gyp:video_capture_module_impl',
99             '<(webrtc_root)/modules/video_coding/codecs/vp8/vp8.gyp:webrtc_vp8',
100             '<(webrtc_root)/modules/video_coding/codecs/vp9/vp9.gyp:webrtc_vp9',
101             '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
102             '<(webrtc_root)/test/test.gyp:frame_generator',
103             '<(webrtc_root)/test/test.gyp:rtp_test_utils',
104             '<(webrtc_root)/test/test.gyp:test_support_main',
105           ],
106           'sources': [
107             'audio_coding/main/acm2/acm_opus_unittest.cc',
108             'audio_coding/main/acm2/acm_receiver_unittest.cc',
109             'audio_coding/main/acm2/acm_receiver_unittest_oldapi.cc',
110             'audio_coding/main/acm2/audio_coding_module_unittest.cc',
111             'audio_coding/main/acm2/audio_coding_module_unittest_oldapi.cc',
112             'audio_coding/main/acm2/call_statistics_unittest.cc',
113             'audio_coding/main/acm2/initial_delay_manager_unittest.cc',
114             'audio_coding/main/acm2/nack_unittest.cc',
115             'audio_coding/codecs/cng/cng_unittest.cc',
116             'audio_coding/codecs/isac/fix/source/filters_unittest.cc',
117             'audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc',
118             'audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc',
119             'audio_coding/codecs/isac/fix/source/transform_unittest.cc',
120             'audio_coding/codecs/isac/main/source/isac_unittest.cc',
121             'audio_coding/codecs/opus/opus_unittest.cc',
122             'audio_coding/neteq/audio_classifier_unittest.cc',
123             'audio_coding/neteq/audio_multi_vector_unittest.cc',
124             'audio_coding/neteq/audio_vector_unittest.cc',
125             'audio_coding/neteq/background_noise_unittest.cc',
126             'audio_coding/neteq/buffer_level_filter_unittest.cc',
127             'audio_coding/neteq/comfort_noise_unittest.cc',
128             'audio_coding/neteq/decision_logic_unittest.cc',
129             'audio_coding/neteq/decoder_database_unittest.cc',
130             'audio_coding/neteq/delay_manager_unittest.cc',
131             'audio_coding/neteq/delay_peak_detector_unittest.cc',
132             'audio_coding/neteq/dsp_helper_unittest.cc',
133             'audio_coding/neteq/dtmf_buffer_unittest.cc',
134             'audio_coding/neteq/dtmf_tone_generator_unittest.cc',
135             'audio_coding/neteq/expand_unittest.cc',
136             'audio_coding/neteq/merge_unittest.cc',
137             'audio_coding/neteq/neteq_external_decoder_unittest.cc',
138             'audio_coding/neteq/neteq_impl_unittest.cc',
139             'audio_coding/neteq/neteq_stereo_unittest.cc',
140             'audio_coding/neteq/neteq_unittest.cc',
141             'audio_coding/neteq/normal_unittest.cc',
142             'audio_coding/neteq/packet_buffer_unittest.cc',
143             'audio_coding/neteq/payload_splitter_unittest.cc',
144             'audio_coding/neteq/post_decode_vad_unittest.cc',
145             'audio_coding/neteq/random_vector_unittest.cc',
146             'audio_coding/neteq/sync_buffer_unittest.cc',
147             'audio_coding/neteq/timestamp_scaler_unittest.cc',
148             'audio_coding/neteq/time_stretch_unittest.cc',
149             'audio_coding/neteq/mock/mock_audio_decoder.h',
150             'audio_coding/neteq/mock/mock_audio_vector.h',
151             'audio_coding/neteq/mock/mock_buffer_level_filter.h',
152             'audio_coding/neteq/mock/mock_decoder_database.h',
153             'audio_coding/neteq/mock/mock_delay_manager.h',
154             'audio_coding/neteq/mock/mock_delay_peak_detector.h',
155             'audio_coding/neteq/mock/mock_dtmf_buffer.h',
156             'audio_coding/neteq/mock/mock_dtmf_tone_generator.h',
157             'audio_coding/neteq/mock/mock_expand.h',
158             'audio_coding/neteq/mock/mock_external_decoder_pcm16b.h',
159             'audio_coding/neteq/mock/mock_packet_buffer.h',
160             'audio_coding/neteq/mock/mock_payload_splitter.h',
161             'audio_coding/neteq/tools/input_audio_file_unittest.cc',
162             'audio_coding/neteq/tools/packet_unittest.cc',
163             'audio_processing/aec/system_delay_unittest.cc',
164             'audio_processing/aec/echo_cancellation_unittest.cc',
165             'audio_processing/echo_cancellation_impl_unittest.cc',
166             'audio_processing/utility/delay_estimator_unittest.cc',
167             'audio_processing/utility/ring_buffer_unittest.cc',
168             'bitrate_controller/bitrate_controller_unittest.cc',
169             'desktop_capture/desktop_and_cursor_composer_unittest.cc',
170             'desktop_capture/desktop_region_unittest.cc',
171             'desktop_capture/differ_block_unittest.cc',
172             'desktop_capture/differ_unittest.cc',
173             'desktop_capture/mouse_cursor_monitor_unittest.cc',
174             'desktop_capture/screen_capturer_helper_unittest.cc',
175             'desktop_capture/screen_capturer_mac_unittest.cc',
176             'desktop_capture/screen_capturer_mock_objects.h',
177             'desktop_capture/screen_capturer_unittest.cc',
178             'desktop_capture/window_capturer_unittest.cc',
179             'desktop_capture/win/cursor_unittest.cc',
180             'desktop_capture/win/cursor_unittest_resources.h',
181             'desktop_capture/win/cursor_unittest_resources.rc',
182             'media_file/source/media_file_unittest.cc',
183             'module_common_types_unittest.cc',
184             'pacing/bitrate_prober_unittest.cc',
185             'pacing/paced_sender_unittest.cc',
186             'remote_bitrate_estimator/bwe_simulations.cc',
187             'remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h',
188             'remote_bitrate_estimator/rate_statistics_unittest.cc',
189             'remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc',
190             'remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc',
191             'remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h',
192             'remote_bitrate_estimator/remote_bitrate_estimators_test.cc',
193             'remote_bitrate_estimator/test/bwe_test_baselinefile.cc',
194             'remote_bitrate_estimator/test/bwe_test_baselinefile.h',
195             'remote_bitrate_estimator/test/bwe_test_fileutils.cc',
196             'remote_bitrate_estimator/test/bwe_test_fileutils.h',
197             'remote_bitrate_estimator/test/bwe_test_framework.cc',
198             'remote_bitrate_estimator/test/bwe_test_framework.h',
199             'remote_bitrate_estimator/test/bwe_test_framework_unittest.cc',
200             'remote_bitrate_estimator/test/bwe_test_logging.cc',
201             'remote_bitrate_estimator/test/bwe_test_logging.h',
202             'remote_bitrate_estimator/test/bwe_test.cc',
203             'remote_bitrate_estimator/test/bwe_test.h',
204             'rtp_rtcp/source/mock/mock_rtp_payload_strategy.h',
205             'rtp_rtcp/source/byte_io_unittest.cc',
206             'rtp_rtcp/source/fec_receiver_unittest.cc',
207             'rtp_rtcp/source/fec_test_helper.cc',
208             'rtp_rtcp/source/fec_test_helper.h',
209             'rtp_rtcp/source/nack_rtx_unittest.cc',
210             'rtp_rtcp/source/producer_fec_unittest.cc',
211             'rtp_rtcp/source/receive_statistics_unittest.cc',
212             'rtp_rtcp/source/remote_ntp_time_estimator_unittest.cc',
213             'rtp_rtcp/source/rtcp_format_remb_unittest.cc',
214             'rtp_rtcp/source/rtcp_packet_unittest.cc',
215             'rtp_rtcp/source/rtcp_receiver_unittest.cc',
216             'rtp_rtcp/source/rtcp_sender_unittest.cc',
217             'rtp_rtcp/source/rtcp_utility_unittest.cc',
218             'rtp_rtcp/source/rtp_fec_unittest.cc',
219             'rtp_rtcp/source/rtp_format_h264_unittest.cc',
220             'rtp_rtcp/source/rtp_format_vp8_unittest.cc',
221             'rtp_rtcp/source/rtp_format_vp8_test_helper.cc',
222             'rtp_rtcp/source/rtp_format_vp8_test_helper.h',
223             'rtp_rtcp/source/rtp_packet_history_unittest.cc',
224             'rtp_rtcp/source/rtp_payload_registry_unittest.cc',
225             'rtp_rtcp/source/rtp_rtcp_impl_unittest.cc',
226             'rtp_rtcp/source/rtp_header_extension_unittest.cc',
227             'rtp_rtcp/source/rtp_sender_unittest.cc',
228             'rtp_rtcp/source/vp8_partition_aggregator_unittest.cc',
229             'rtp_rtcp/test/testAPI/test_api.cc',
230             'rtp_rtcp/test/testAPI/test_api.h',
231             'rtp_rtcp/test/testAPI/test_api_audio.cc',
232             'rtp_rtcp/test/testAPI/test_api_rtcp.cc',
233             'rtp_rtcp/test/testAPI/test_api_video.cc',
234             'utility/source/audio_frame_operations_unittest.cc',
235             'utility/source/file_player_unittests.cc',
236             'video_coding/codecs/test/packet_manipulator_unittest.cc',
237             'video_coding/codecs/test/stats_unittest.cc',
238             'video_coding/codecs/test/videoprocessor_unittest.cc',
239             'video_coding/codecs/vp8/default_temporal_layers_unittest.cc',
240             'video_coding/codecs/vp8/reference_picture_selection_unittest.cc',
241             'video_coding/main/interface/mock/mock_vcm_callbacks.h',
242             'video_coding/main/source/decoding_state_unittest.cc',
243             'video_coding/main/source/jitter_buffer_unittest.cc',
244             'video_coding/main/source/jitter_estimator_tests.cc',
245             'video_coding/main/source/media_optimization_unittest.cc',
246             'video_coding/main/source/receiver_unittest.cc',
247             'video_coding/main/source/session_info_unittest.cc',
248             'video_coding/main/source/timing_unittest.cc',
249             'video_coding/main/source/video_coding_robustness_unittest.cc',
250             'video_coding/main/source/video_receiver_unittest.cc',
251             'video_coding/main/source/video_sender_unittest.cc',
252             'video_coding/main/source/qm_select_unittest.cc',
253             'video_coding/main/source/test/stream_generator.cc',
254             'video_coding/main/source/test/stream_generator.h',
255             'video_coding/utility/quality_scaler_unittest.cc',
256             'video_processing/main/test/unit_test/brightness_detection_test.cc',
257             'video_processing/main/test/unit_test/color_enhancement_test.cc',
258             'video_processing/main/test/unit_test/content_metrics_test.cc',
259             'video_processing/main/test/unit_test/deflickering_test.cc',
260             'video_processing/main/test/unit_test/video_processing_unittest.cc',
261             'video_processing/main/test/unit_test/video_processing_unittest.h',
262           ],
263           'conditions': [
264             ['enable_bwe_test_logging==1', {
265               'defines': [ 'BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1' ],
266             }, {
267               'defines': [ 'BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0' ],
268               'sources!': [
269                 'remote_bitrate_estimator/test/bwe_test_logging.cc'
270               ],
271             }],
272             # Run screen/window capturer tests only on platforms where they are
273             # supported.
274             ['desktop_capture_supported==0', {
275               'sources!': [
276                 'desktop_capture/desktop_and_cursor_composer_unittest.cc',
277                 'desktop_capture/mouse_cursor_monitor_unittest.cc',
278                 'desktop_capture/screen_capturer_helper_unittest.cc',
279                 'desktop_capture/screen_capturer_mac_unittest.cc',
280                 'desktop_capture/screen_capturer_mock_objects.h',
281                 'desktop_capture/screen_capturer_unittest.cc',
282                 'desktop_capture/window_capturer_unittest.cc',
283               ],
284             }],
285             ['prefer_fixed_point==1', {
286               'defines': [ 'WEBRTC_AUDIOPROC_FIXED_PROFILE' ],
287             }, {
288               'defines': [ 'WEBRTC_AUDIOPROC_FLOAT_PROFILE' ],
289             }],
290             ['enable_protobuf==1', {
291               'defines': [ 'WEBRTC_AUDIOPROC_DEBUG_DUMP' ],
292               'dependencies': [
293                 'audioproc_unittest_proto',
294               ],
295               'sources': [
296                 'audio_processing/audio_processing_impl_unittest.cc',
297                 'audio_processing/test/audio_processing_unittest.cc',
298                 'audio_processing/test/test_utils.h',
299               ],
300             }],
301             ['build_libvpx==1', {
302               'dependencies': [
303                 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
304               ],
305             }],
306             ['OS=="android"', {
307               'dependencies': [
308                 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
309               ],
310             }],
311           ],
312           # Disable warnings to enable Win64 build, issue 1323.
313           'msvs_disabled_warnings': [
314             4267,  # size_t to int truncation.
315           ],
316         },
317         {
318           'target_name': 'modules_tests',
319           'type': '<(gtest_target_type)',
320           'dependencies': [
321             'audio_coding_module',
322             'rtp_rtcp',
323             'test_framework',
324             'video_codecs_test_framework',
325             'webrtc_utility',
326             'webrtc_video_coding',
327             '<(DEPTH)/testing/gtest.gyp:gtest',
328             '<(webrtc_root)/common_video/common_video.gyp:common_video',
329             '<(webrtc_root)/modules/video_coding/codecs/vp8/vp8.gyp:webrtc_vp8',
330             '<(webrtc_root)/modules/video_coding/codecs/vp9/vp9.gyp:webrtc_vp9',
331             '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
332             '<(webrtc_root)/test/metrics.gyp:metrics',
333             '<(webrtc_root)/test/test.gyp:test_support',
334             '<(webrtc_root)/test/test.gyp:test_support_main',
335           ],
336           'defines': [
337             '<@(audio_coding_defines)',
338           ],
339           'sources': [
340             'audio_coding/main/test/APITest.cc',
341             'audio_coding/main/test/Channel.cc',
342             'audio_coding/main/test/dual_stream_unittest.cc',
343             'audio_coding/main/test/EncodeDecodeTest.cc',
344             'audio_coding/main/test/iSACTest.cc',
345             'audio_coding/main/test/opus_test.cc',
346             'audio_coding/main/test/PacketLossTest.cc',
347             'audio_coding/main/test/PCMFile.cc',
348             'audio_coding/main/test/RTPFile.cc',
349             'audio_coding/main/test/SpatialAudio.cc',
350             'audio_coding/main/test/TestAllCodecs.cc',
351             'audio_coding/main/test/target_delay_unittest.cc',
352             'audio_coding/main/test/Tester.cc',
353             'audio_coding/main/test/TestRedFec.cc',
354             'audio_coding/main/test/TestStereo.cc',
355             'audio_coding/main/test/TestVADDTX.cc',
356             'audio_coding/main/test/TimedTrace.cc',
357             'audio_coding/main/test/TwoWayCommunication.cc',
358             'audio_coding/main/test/initial_delay_unittest.cc',
359             'audio_coding/main/test/utility.cc',
360             'rtp_rtcp/test/testFec/test_fec.cc',
361             'video_coding/codecs/test/videoprocessor_integrationtest.cc',
362             'video_coding/codecs/vp8/test/vp8_impl_unittest.cc',
363           ],
364           'conditions': [
365             ['OS=="android"', {
366               'dependencies': [
367                 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
368               ],
369             }],
370           ],
371         },
372       ],
373       'conditions': [
374         ['OS=="android"', {
375           'targets': [
376             {
377               'target_name': 'modules_unittests_apk_target',
378               'type': 'none',
379               'dependencies': [
380                 '<(apk_tests_path):modules_unittests_apk',
381               ],
382             },
383             {
384               'target_name': 'modules_tests_apk_target',
385               'type': 'none',
386               'dependencies': [
387                 '<(apk_tests_path):modules_tests_apk',
388               ],
389             },
390           ],
391         }],
392         ['test_isolation_mode != "noop"', {
393           'targets': [
394             {
395               'target_name': 'modules_tests_run',
396               'type': 'none',
397               'dependencies': [
398                 'modules_tests',
399               ],
400               'includes': [
401                 '../build/isolate.gypi',
402               ],
403               'sources': [
404                 'modules_tests.isolate',
405               ],
406             },
407             {
408               'target_name': 'modules_unittests_run',
409               'type': 'none',
410               'dependencies': [
411                 'modules_unittests',
412               ],
413               'includes': [
414                 '../build/isolate.gypi',
415               ],
416               'sources': [
417                 'modules_unittests.isolate',
418               ],
419             },
420           ],
421         }],
422       ],
423     }], # include_tests
424   ], # conditions
425 }