Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / voice_engine / voice_engine.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   ],
13   'targets': [
14     {
15       'target_name': 'voice_engine',
16       'type': 'static_library',
17       'dependencies': [
18         '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
19         '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
20         '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
21         '<(webrtc_root)/modules/modules.gyp:audio_device',
22         '<(webrtc_root)/modules/modules.gyp:audio_processing',
23         '<(webrtc_root)/modules/modules.gyp:media_file',
24         '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
25         '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
26         '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
27       ],
28       'sources': [
29         '../common_types.h',
30         '../engine_configurations.h',
31         '../typedefs.h',
32         'include/voe_audio_processing.h',
33         'include/voe_base.h',
34         'include/voe_call_report.h',
35         'include/voe_codec.h',
36         'include/voe_dtmf.h',
37         'include/voe_encryption.h',
38         'include/voe_errors.h',
39         'include/voe_external_media.h',
40         'include/voe_file.h',
41         'include/voe_hardware.h',
42         'include/voe_neteq_stats.h',
43         'include/voe_network.h',
44         'include/voe_rtp_rtcp.h',
45         'include/voe_video_sync.h',
46         'include/voe_volume_control.h',
47         'channel.cc',
48         'channel.h',
49         'channel_manager.cc',
50         'channel_manager.h',
51         'dtmf_inband.cc',
52         'dtmf_inband.h',
53         'dtmf_inband_queue.cc',
54         'dtmf_inband_queue.h',
55         'level_indicator.cc',
56         'level_indicator.h',
57         'monitor_module.cc',
58         'monitor_module.h',
59         'output_mixer.cc',
60         'output_mixer.h',
61         'output_mixer_internal.cc',
62         'output_mixer_internal.h',
63         'shared_data.cc',
64         'shared_data.h',
65         'statistics.cc',
66         'statistics.h',
67         'transmit_mixer.cc',
68         'transmit_mixer.h',
69         'utility.cc',
70         'utility.h',
71         'voe_audio_processing_impl.cc',
72         'voe_audio_processing_impl.h',
73         'voe_base_impl.cc',
74         'voe_base_impl.h',
75         'voe_call_report_impl.cc',
76         'voe_call_report_impl.h',
77         'voe_codec_impl.cc',
78         'voe_codec_impl.h',
79         'voe_dtmf_impl.cc',
80         'voe_dtmf_impl.h',
81         'voe_encryption_impl.cc',
82         'voe_encryption_impl.h',
83         'voe_external_media_impl.cc',
84         'voe_external_media_impl.h',
85         'voe_file_impl.cc',
86         'voe_file_impl.h',
87         'voe_hardware_impl.cc',
88         'voe_hardware_impl.h',
89         'voe_neteq_stats_impl.cc',
90         'voe_neteq_stats_impl.h',
91         'voe_network_impl.cc',
92         'voe_network_impl.h',
93         'voe_rtp_rtcp_impl.cc',
94         'voe_rtp_rtcp_impl.h',
95         'voe_video_sync_impl.cc',
96         'voe_video_sync_impl.h',
97         'voe_volume_control_impl.cc',
98         'voe_volume_control_impl.h',
99         'voice_engine_defines.h',
100         'voice_engine_impl.cc',
101         'voice_engine_impl.h',
102       ],
103     },
104   ],
105   'conditions': [
106     ['OS=="win"', {
107       'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
108     }],
109     ['include_tests==1', {
110       'targets': [
111         {
112           'target_name': 'voice_engine_unittests',
113           'type': '<(gtest_target_type)',
114           'dependencies': [
115             'voice_engine',
116             '<(DEPTH)/testing/gtest.gyp:gtest',
117             # The rest are to satisfy the unittests' include chain.
118             # This would be unnecessary if we used qualified includes.
119             '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
120             '<(webrtc_root)/modules/modules.gyp:audio_device',
121             '<(webrtc_root)/modules/modules.gyp:audio_processing',
122             '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
123             '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
124             '<(webrtc_root)/modules/modules.gyp:media_file',
125             '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
126             '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
127             '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
128             '<(webrtc_root)/test/test.gyp:test_support_main',
129           ],
130           'sources': [
131             'channel_unittest.cc',
132             'output_mixer_unittest.cc',
133             'transmit_mixer_unittest.cc',
134             'voe_audio_processing_unittest.cc',
135             'voe_base_unittest.cc',
136             'voe_codec_unittest.cc',
137             'voe_neteq_stats_unittest.cc',
138           ],
139           'conditions': [
140             # TODO(henrike): remove build_with_chromium==1 when the bots are
141             # using Chromium's buildbots.
142             ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
143               'dependencies': [
144                 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
145               ],
146             }],
147           ],
148         },
149         {
150           'target_name': 'voe_auto_test',
151           'type': 'executable',
152           'dependencies': [
153             'voice_engine',
154             '<(DEPTH)/testing/gmock.gyp:gmock',
155             '<(DEPTH)/testing/gtest.gyp:gtest',
156             '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
157             '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
158             '<(webrtc_root)/test/libtest/libtest.gyp:libtest',
159             '<(webrtc_root)/test/test.gyp:channel_transport',
160             '<(webrtc_root)/test/test.gyp:test_support',
161            ],
162           'sources': [
163             'test/auto_test/automated_mode.cc',
164             'test/auto_test/extended/agc_config_test.cc',
165             'test/auto_test/extended/ec_metrics_test.cc',
166             'test/auto_test/fakes/fake_external_transport.cc',
167             'test/auto_test/fakes/fake_external_transport.h',
168             'test/auto_test/fixtures/after_initialization_fixture.cc',
169             'test/auto_test/fixtures/after_initialization_fixture.h',
170             'test/auto_test/fixtures/after_streaming_fixture.cc',
171             'test/auto_test/fixtures/after_streaming_fixture.h',
172             'test/auto_test/fixtures/before_initialization_fixture.cc',
173             'test/auto_test/fixtures/before_initialization_fixture.h',
174             'test/auto_test/fuzz/rtp_fuzz_test.cc',
175             'test/auto_test/standard/audio_processing_test.cc',
176             'test/auto_test/standard/call_report_test.cc',
177             'test/auto_test/standard/codec_before_streaming_test.cc',
178             'test/auto_test/standard/codec_test.cc',
179             'test/auto_test/standard/dtmf_test.cc',
180             'test/auto_test/standard/encryption_test.cc',
181             'test/auto_test/standard/external_media_test.cc',
182             'test/auto_test/standard/file_before_streaming_test.cc',
183             'test/auto_test/standard/file_test.cc',
184             'test/auto_test/standard/hardware_before_initializing_test.cc',
185             'test/auto_test/standard/hardware_before_streaming_test.cc',
186             'test/auto_test/standard/hardware_test.cc',
187             'test/auto_test/standard/manual_hold_test.cc',
188             'test/auto_test/standard/mixing_test.cc',
189             'test/auto_test/standard/neteq_stats_test.cc',
190             'test/auto_test/standard/neteq_test.cc',
191             'test/auto_test/standard/network_test.cc',
192             'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
193             'test/auto_test/standard/rtp_rtcp_test.cc',
194             'test/auto_test/standard/voe_base_misc_test.cc',
195             'test/auto_test/standard/video_sync_test.cc',
196             'test/auto_test/standard/volume_test.cc',
197             'test/auto_test/resource_manager.cc',
198             'test/auto_test/voe_cpu_test.cc',
199             'test/auto_test/voe_cpu_test.h',
200             'test/auto_test/voe_standard_test.cc',
201             'test/auto_test/voe_standard_test.h',
202             'test/auto_test/voe_stress_test.cc',
203             'test/auto_test/voe_stress_test.h',
204             'test/auto_test/voe_test_defines.h',
205             'test/auto_test/voe_test_interface.h',
206             'test/auto_test/voe_unit_test.cc',
207             'test/auto_test/voe_unit_test.h',
208           ],
209           'conditions': [
210             ['OS=="android"', {
211               # some tests are not supported on android yet, exclude these tests.
212               'sources!': [
213                 'test/auto_test/standard/hardware_before_streaming_test.cc',
214               ],
215             }],
216           ],
217           # Disable warnings to enable Win64 build, issue 1323.
218           'msvs_disabled_warnings': [
219             4267,  # size_t to int truncation.
220           ],
221         },
222         {
223           # command line test that should work on linux/mac/win
224           'target_name': 'voe_cmd_test',
225           'type': 'executable',
226           'dependencies': [
227             'voice_engine',
228             '<(DEPTH)/testing/gtest.gyp:gtest',
229             '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
230             '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
231             '<(webrtc_root)/test/test.gyp:channel_transport',
232             '<(webrtc_root)/test/test.gyp:test_support',
233           ],
234           'sources': [
235             'test/cmd_test/voe_cmd_test.cc',
236           ],
237         },
238       ], # targets
239       'conditions': [
240         # TODO(kjellander): Support UseoFMFC on VS2010.
241         # http://code.google.com/p/webrtc/issues/detail?id=709
242         ['OS=="win" and MSVS_VERSION < "2010"', {
243           'targets': [
244             # WinTest - GUI test for Windows
245             {
246               'target_name': 'voe_ui_win_test',
247               'type': 'executable',
248               'dependencies': [
249                 'voice_engine',
250                 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
251                 '<(webrtc_root)/test/test.gyp:test_support',
252               ],
253               'sources': [
254                 'test/win_test/Resource.h',
255                 'test/win_test/WinTest.cc',
256                 'test/win_test/WinTest.h',
257                 'test/win_test/WinTest.rc',
258                 'test/win_test/WinTestDlg.cc',
259                 'test/win_test/WinTestDlg.h',
260                 'test/win_test/res/WinTest.ico',
261                 'test/win_test/res/WinTest.rc2',
262                 'test/win_test/stdafx.cc',
263                 'test/win_test/stdafx.h',
264               ],
265               'configurations': {
266                 'Common_Base': {
267                   'msvs_configuration_attributes': {
268                     'conditions': [
269                       ['component=="shared_library"', {
270                         'UseOfMFC': '2',  # Shared DLL
271                       },{
272                         'UseOfMFC': '1',  # Static
273                       }],
274                     ],
275                   },
276                 },
277               },
278               'msvs_settings': {
279                 'VCLinkerTool': {
280                   'SubSystem': '2',   # Windows
281                 },
282               },
283             },
284           ],  # targets
285         }],
286         # TODO(henrike): remove build_with_chromium==1 when the bots are using
287         # Chromium's buildbots.
288         ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
289           'targets': [
290             {
291               'target_name': 'voice_engine_unittests_apk_target',
292               'type': 'none',
293               'dependencies': [
294                 '<(apk_tests_path):voice_engine_unittests_apk',
295               ],
296             },
297           ],
298         }],
299         ['test_isolation_mode != "noop"', {
300           'targets': [
301             {
302               'target_name': 'voice_engine_unittests_run',
303               'type': 'none',
304               'dependencies': [
305                 'voice_engine_unittests',
306               ],
307               'includes': [
308                 '../build/isolate.gypi',
309                 'voice_engine_unittests.isolate',
310               ],
311               'sources': [
312                 'voice_engine_unittests.isolate',
313               ],
314             },
315             {
316               'target_name': 'voe_auto_test_run',
317               'type': 'none',
318               'dependencies': [
319                 'voe_auto_test',
320               ],
321               'includes': [
322                 '../build/isolate.gypi',
323                 'voe_auto_test.isolate',
324               ],
325               'sources': [
326                 'voe_auto_test.isolate',
327               ],
328             },
329           ],
330         }],
331       ],  # conditions
332     }], # include_tests
333   ], # conditions
334 }