blob: 75bf7bf2b20e1971a71a6d55abd6602a0fbeb59f [file] [log] [blame]
xians@google.comd3185fe2011-09-12 12:24:39 +00001# 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': [
wjia@google.comfdaee9c2011-09-17 00:06:08 +000011 '../build/common.gypi',
kjellander@webrtc.org64a897a2011-11-17 13:33:11 +000012 'audio_coding/codecs/cng/cng.gypi',
kjellander@webrtc.orgcc2ecb32011-11-17 13:48:36 +000013 'audio_coding/codecs/g711/g711.gypi',
kjellander@webrtc.org3f1cb8e2011-11-17 13:56:54 +000014 'audio_coding/codecs/g722/g722.gypi',
kjellander@webrtc.org36e1ad92011-11-07 15:27:11 +000015 'audio_coding/codecs/ilbc/ilbc.gypi',
andrew@webrtc.org6a16e742012-08-09 18:35:39 +000016 'audio_coding/codecs/isac/main/source/isac.gypi',
17 'audio_coding/codecs/isac/fix/source/isacfix.gypi',
kjellander@webrtc.orgb72268e2011-11-17 13:39:15 +000018 'audio_coding/codecs/pcm16b/pcm16b.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000019 'audio_coding/main/source/audio_coding_module.gypi',
kjellander@webrtc.orgbf483842011-11-07 16:05:19 +000020 'audio_coding/neteq/neteq.gypi',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000021 'audio_coding/neteq4/neteq.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000022 'audio_conference_mixer/source/audio_conference_mixer.gypi',
andrew@webrtc.org236d5d32012-09-21 20:46:40 +000023 'audio_device/audio_device.gypi',
andrew@webrtc.org4d5d5c12011-10-19 01:40:33 +000024 'audio_processing/audio_processing.gypi',
pwestin@webrtc.org1cd11622012-04-19 12:13:52 +000025 'bitrate_controller/bitrate_controller.gypi',
sergeyu@chromium.org15e32cc2013-04-29 20:10:57 +000026 'desktop_capture/desktop_capture.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000027 'media_file/source/media_file.gypi',
pwestin@webrtc.orgb5180172012-11-09 20:56:23 +000028 'pacing/pacing.gypi',
stefan@webrtc.org9354cc92012-06-07 08:10:14 +000029 'remote_bitrate_estimator/remote_bitrate_estimator.gypi',
andrew@webrtc.org94caca72012-10-30 21:58:00 +000030 'rtp_rtcp/source/rtp_rtcp.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000031 'utility/source/utility.gypi',
32 'video_coding/codecs/i420/main/source/i420.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000033 'video_coding/main/source/video_coding.gypi',
andrew@webrtc.org94caca72012-10-30 21:58:00 +000034 'video_capture/video_capture.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000035 'video_processing/main/source/video_processing.gypi',
andrew@webrtc.org9841d922012-10-31 05:22:11 +000036 'video_render/video_render.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000037 ],
xians@google.comd3185fe2011-09-12 12:24:39 +000038 'conditions': [
andrew@webrtc.orgc0773fc2012-10-19 07:13:52 +000039 ['include_opus==1', {
40 'includes': ['audio_coding/codecs/opus/opus.gypi',],
41 }],
mflodman@webrtc.org6af95942012-05-24 13:23:35 +000042 ['include_tests==1', {
xians@google.comd3185fe2011-09-12 12:24:39 +000043 'includes': [
andrew@webrtc.org6a16e742012-08-09 18:35:39 +000044 'audio_coding/codecs/isac/isac_test.gypi',
45 'audio_coding/codecs/isac/isacfix_test.gypi',
andrew@webrtc.orgc732ca62012-09-10 16:33:43 +000046 'audio_processing/audio_processing_tests.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000047 'rtp_rtcp/test/testFec/test_fec.gypi',
48 'video_coding/main/source/video_coding_test.gypi',
kjellander@webrtc.org35a17562011-10-06 06:44:54 +000049 'video_coding/codecs/test/video_codecs_test_framework.gypi',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000050 'video_coding/codecs/test_framework/test_framework.gypi',
kjellander@webrtc.org35a17562011-10-06 06:44:54 +000051 'video_coding/codecs/tools/video_codecs_tools.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000052 ], # includes
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000053 '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 },
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +000063 'targets': [
64 {
65 'target_name': 'modules_unittests',
henrike@webrtc.org1303af32013-07-03 21:50:33 +000066 'type': '<(gtest_target_type)',
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +000067 'dependencies': [
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000068 'audio_coding_module',
69 'audio_processing',
70 'audioproc_unittest_proto',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000071 'bitrate_controller',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000072 'CNG',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000073 'desktop_capture',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000074 'iSACFix',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000075 'media_file',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000076 'NetEq',
77 'NetEq4',
78 'NetEq4TestTools',
79 'neteq_unittest_tools',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000080 'paced_sender',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000081 'PCM16B', # Needed by NetEq tests.
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000082 'remote_bitrate_estimator',
83 'rtp_rtcp',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000084 'test_framework',
85 'video_codecs_test_framework',
86 'video_processing',
kjellander@webrtc.orgfec34d72013-06-05 08:58:46 +000087 'webrtc_utility',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000088 'webrtc_video_coding',
89 '<@(neteq_dependencies)',
stefan@webrtc.orgf56d6122013-07-09 12:32:35 +000090 '<(rbe_components_path)/remote_bitrate_estimator_components.gyp:rbe_components_unittests',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000091 '<(DEPTH)/testing/gmock.gyp:gmock',
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +000092 '<(DEPTH)/testing/gtest.gyp:gtest',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000093 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
94 '<(webrtc_root)/modules/video_coding/codecs/vp8/vp8.gyp:webrtc_vp8',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +000095 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +000096 '<(webrtc_root)/test/test.gyp:test_support_main',
97 ],
98 'sources': [
kjellander@webrtc.org63e98882013-06-14 20:09:44 +000099 'audio_coding/main/source/acm_neteq_unittest.cc',
100 'audio_coding/main/source/nack_unittest.cc',
101 'audio_coding/codecs/cng/cng_unittest.cc',
102 'audio_coding/codecs/isac/fix/source/filters_unittest.cc',
103 'audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc',
104 'audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc',
105 'audio_coding/codecs/isac/fix/source/transform_unittest.cc',
106 'audio_coding/codecs/isac/main/source/isac_unittest.cc',
107 'audio_coding/codecs/opus/opus_unittest.cc',
108 'audio_coding/neteq4/audio_multi_vector_unittest.cc',
109 'audio_coding/neteq4/audio_vector_unittest.cc',
110 'audio_coding/neteq4/background_noise_unittest.cc',
111 'audio_coding/neteq4/buffer_level_filter_unittest.cc',
112 'audio_coding/neteq4/comfort_noise_unittest.cc',
113 'audio_coding/neteq4/decision_logic_unittest.cc',
114 'audio_coding/neteq4/decoder_database_unittest.cc',
115 'audio_coding/neteq4/delay_manager_unittest.cc',
116 'audio_coding/neteq4/delay_peak_detector_unittest.cc',
117 'audio_coding/neteq4/dsp_helper_unittest.cc',
118 'audio_coding/neteq4/dtmf_buffer_unittest.cc',
119 'audio_coding/neteq4/dtmf_tone_generator_unittest.cc',
120 'audio_coding/neteq4/expand_unittest.cc',
121 'audio_coding/neteq4/merge_unittest.cc',
122 'audio_coding/neteq4/neteq_external_decoder_unittest.cc',
123 'audio_coding/neteq4/neteq_impl_unittest.cc',
124 'audio_coding/neteq4/neteq_stereo_unittest.cc',
125 'audio_coding/neteq4/neteq_unittest.cc',
126 'audio_coding/neteq4/normal_unittest.cc',
127 'audio_coding/neteq4/packet_buffer_unittest.cc',
128 'audio_coding/neteq4/payload_splitter_unittest.cc',
129 'audio_coding/neteq4/post_decode_vad_unittest.cc',
130 'audio_coding/neteq4/random_vector_unittest.cc',
131 'audio_coding/neteq4/sync_buffer_unittest.cc',
132 'audio_coding/neteq4/timestamp_scaler_unittest.cc',
133 'audio_coding/neteq4/time_stretch_unittest.cc',
134 'audio_coding/neteq4/mock/mock_audio_decoder.h',
135 'audio_coding/neteq4/mock/mock_audio_vector.h',
136 'audio_coding/neteq4/mock/mock_buffer_level_filter.h',
137 'audio_coding/neteq4/mock/mock_decoder_database.h',
138 'audio_coding/neteq4/mock/mock_delay_manager.h',
139 'audio_coding/neteq4/mock/mock_delay_peak_detector.h',
140 'audio_coding/neteq4/mock/mock_dtmf_buffer.h',
141 'audio_coding/neteq4/mock/mock_dtmf_tone_generator.h',
142 'audio_coding/neteq4/mock/mock_external_decoder_pcm16b.h',
143 'audio_coding/neteq4/mock/mock_packet_buffer.h',
144 'audio_coding/neteq4/mock/mock_payload_splitter.h',
145 'audio_processing/aec/system_delay_unittest.cc',
146 'audio_processing/aec/echo_cancellation_unittest.cc',
pbos@webrtc.orgc66aaaf2013-07-03 07:56:33 +0000147 'audio_processing/test/audio_processing_unittest.cc',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000148 'audio_processing/utility/delay_estimator_unittest.cc',
149 'audio_processing/utility/ring_buffer_unittest.cc',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000150 'bitrate_controller/bitrate_controller_unittest.cc',
151 'desktop_capture/desktop_region_unittest.cc',
152 'desktop_capture/differ_block_unittest.cc',
153 'desktop_capture/differ_unittest.cc',
154 'desktop_capture/screen_capturer_helper_unittest.cc',
155 'desktop_capture/screen_capturer_mac_unittest.cc',
156 'desktop_capture/screen_capturer_mock_objects.h',
157 'desktop_capture/screen_capturer_unittest.cc',
158 'desktop_capture/window_capturer_unittest.cc',
159 "desktop_capture/win/cursor_unittest.cc",
160 "desktop_capture/win/cursor_unittest_resources.h",
161 "desktop_capture/win/cursor_unittest_resources.rc",
162 'media_file/source/media_file_unittest.cc',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000163 'module_common_types_unittest.cc',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000164 'pacing/paced_sender_unittest.cc',
165 'remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h',
166 'remote_bitrate_estimator/bitrate_estimator_unittest.cc',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000167 'remote_bitrate_estimator/rtp_to_ntp_unittest.cc',
168 'rtp_rtcp/source/mock/mock_rtp_payload_strategy.h',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000169 'rtp_rtcp/source/fec_test_helper.cc',
170 'rtp_rtcp/source/fec_test_helper.h',
171 'rtp_rtcp/source/nack_rtx_unittest.cc',
172 'rtp_rtcp/source/producer_fec_unittest.cc',
173 'rtp_rtcp/source/receiver_fec_unittest.cc',
174 'rtp_rtcp/source/rtcp_format_remb_unittest.cc',
175 'rtp_rtcp/source/rtcp_sender_unittest.cc',
176 'rtp_rtcp/source/rtcp_receiver_unittest.cc',
177 'rtp_rtcp/source/rtp_fec_unittest.cc',
178 'rtp_rtcp/source/rtp_format_vp8_unittest.cc',
179 'rtp_rtcp/source/rtp_format_vp8_test_helper.cc',
180 'rtp_rtcp/source/rtp_format_vp8_test_helper.h',
181 'rtp_rtcp/source/rtp_packet_history_unittest.cc',
182 'rtp_rtcp/source/rtp_payload_registry_unittest.cc',
183 'rtp_rtcp/source/rtp_utility_unittest.cc',
184 'rtp_rtcp/source/rtp_header_extension_unittest.cc',
185 'rtp_rtcp/source/rtp_sender_unittest.cc',
186 'rtp_rtcp/source/vp8_partition_aggregator_unittest.cc',
187 'rtp_rtcp/test/testAPI/test_api.cc',
188 'rtp_rtcp/test/testAPI/test_api.h',
189 'rtp_rtcp/test/testAPI/test_api_audio.cc',
190 'rtp_rtcp/test/testAPI/test_api_rtcp.cc',
191 'rtp_rtcp/test/testAPI/test_api_video.cc',
kjellander@webrtc.orgfec34d72013-06-05 08:58:46 +0000192 'utility/source/audio_frame_operations_unittest.cc',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000193 'video_coding/codecs/test/packet_manipulator_unittest.cc',
194 'video_coding/codecs/test/stats_unittest.cc',
195 'video_coding/codecs/test/videoprocessor_unittest.cc',
196 'video_coding/codecs/vp8/default_temporal_layers_unittest.cc',
197 'video_coding/codecs/vp8/reference_picture_selection_unittest.cc',
198 'video_coding/main/interface/mock/mock_vcm_callbacks.h',
199 'video_coding/main/source/decoding_state_unittest.cc',
200 'video_coding/main/source/jitter_buffer_unittest.cc',
201 'video_coding/main/source/receiver_unittest.cc',
202 'video_coding/main/source/session_info_unittest.cc',
203 'video_coding/main/source/stream_generator.cc',
204 'video_coding/main/source/stream_generator.h',
205 'video_coding/main/source/timing_unittest.cc',
206 'video_coding/main/source/video_coding_robustness_unittest.cc',
207 'video_coding/main/source/video_coding_impl_unittest.cc',
208 'video_coding/main/source/qm_select_unittest.cc',
209 'video_coding/main/test/pcap_file_reader.cc',
210 'video_coding/main/test/pcap_file_reader_unittest.cc',
211 'video_coding/main/test/rtp_file_reader.cc',
212 'video_coding/main/test/rtp_file_reader_unittest.cc',
213 'video_processing/main/test/unit_test/brightness_detection_test.cc',
214 'video_processing/main/test/unit_test/color_enhancement_test.cc',
215 'video_processing/main/test/unit_test/content_metrics_test.cc',
216 'video_processing/main/test/unit_test/deflickering_test.cc',
217 'video_processing/main/test/unit_test/denoising_test.cc',
pbos@webrtc.orgc66aaaf2013-07-03 07:56:33 +0000218 'video_processing/main/test/unit_test/video_processing_unittest.cc',
219 'video_processing/main/test/unit_test/video_processing_unittest.h',
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +0000220 ],
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000221 'conditions': [
222 # Run screen/window capturer tests only on platforms where they are
223 # supported.
sergeyu@chromium.org9e182792013-06-17 21:14:36 +0000224 ['desktop_capture_supported==0', {
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000225 'sources!': [
226 'desktop_capture/screen_capturer_helper_unittest.cc',
227 'desktop_capture/screen_capturer_mac_unittest.cc',
228 'desktop_capture/screen_capturer_mock_objects.h',
229 'desktop_capture/screen_capturer_unittest.cc',
230 'desktop_capture/window_capturer_unittest.cc',
231 ],
232 }],
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000233 ['prefer_fixed_point==1', {
234 'defines': [ 'WEBRTC_AUDIOPROC_FIXED_PROFILE' ],
235 }, {
236 'defines': [ 'WEBRTC_AUDIOPROC_FLOAT_PROFILE' ],
237 }],
238 ['enable_protobuf==1', {
239 'defines': [ 'WEBRTC_AUDIOPROC_DEBUG_DUMP' ],
240 }],
241 ['build_libvpx==1', {
242 'dependencies': [
243 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
244 ],
245 }],
henrike@webrtc.org1303af32013-07-03 21:50:33 +0000246 # TODO(henrike): remove build_with_chromium==1 when the bots are
247 # using Chromium's buildbots.
248 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
249 'dependencies': [
250 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
251 ],
252 }],
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000253 ],
254 # Disable warnings to enable Win64 build, issue 1323.
255 'msvs_disabled_warnings': [
256 4267, # size_t to int truncation.
257 ],
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +0000258 },
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000259 {
phoglund@webrtc.org32fe90b2013-08-19 11:40:19 +0000260 'target_name': 'modules_tests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000261 'type': '<(gtest_target_type)',
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000262 'dependencies': [
263 'audio_coding_module',
264 'rtp_rtcp',
265 'test_framework',
266 'video_codecs_test_framework',
267 'webrtc_utility',
268 'webrtc_video_coding',
269 '<(DEPTH)/testing/gtest.gyp:gtest',
270 '<(webrtc_root)/common_video/common_video.gyp:common_video',
271 '<(webrtc_root)/modules/video_coding/codecs/vp8/vp8.gyp:webrtc_vp8',
272 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
273 '<(webrtc_root)/test/metrics.gyp:metrics',
274 '<(webrtc_root)/test/test.gyp:test_support',
275 '<(webrtc_root)/test/test.gyp:test_support_main',
276 ],
277 'defines': [
278 '<@(audio_coding_defines)',
279 ],
280 'sources': [
281 'audio_coding/main/test/ACMTest.cc',
282 'audio_coding/main/test/APITest.cc',
283 'audio_coding/main/test/Channel.cc',
284 'audio_coding/main/test/dual_stream_unittest.cc',
285 'audio_coding/main/test/EncodeDecodeTest.cc',
286 'audio_coding/main/test/iSACTest.cc',
287 'audio_coding/main/test/opus_test.cc',
288 'audio_coding/main/test/PCMFile.cc',
289 'audio_coding/main/test/RTPFile.cc',
290 'audio_coding/main/test/SpatialAudio.cc',
291 'audio_coding/main/test/TestAllCodecs.cc',
292 'audio_coding/main/test/target_delay_unittest.cc',
293 'audio_coding/main/test/Tester.cc',
294 'audio_coding/main/test/TestFEC.cc',
295 'audio_coding/main/test/TestStereo.cc',
296 'audio_coding/main/test/TestVADDTX.cc',
297 'audio_coding/main/test/TimedTrace.cc',
298 'audio_coding/main/test/TwoWayCommunication.cc',
299 'audio_coding/main/test/initial_delay_unittest.cc',
300 'audio_coding/main/test/utility.cc',
301 'rtp_rtcp/test/testFec/test_fec.cc',
302 'video_coding/codecs/test/videoprocessor_integrationtest.cc',
303 'video_coding/codecs/vp8/test/vp8_impl_unittest.cc',
304 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000305 'conditions': [
306 # TODO(henrike): remove build_with_chromium==1 when the bots are
307 # using Chromium's buildbots.
308 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
309 'dependencies': [
310 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
311 ],
312 }],
313 ],
kjellander@webrtc.org63e98882013-06-14 20:09:44 +0000314 },
stefan@webrtc.org7bc465b2013-04-11 17:48:02 +0000315 ],
henrike@webrtc.org1303af32013-07-03 21:50:33 +0000316 'conditions': [
317 # TODO(henrike): remove build_with_chromium==1 when the bots are using
318 # Chromium's buildbots.
henrike@webrtc.orgbd3eee32013-07-08 17:34:20 +0000319 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
henrike@webrtc.org1303af32013-07-03 21:50:33 +0000320 'targets': [
321 {
322 'target_name': 'modules_unittests_apk_target',
323 'type': 'none',
324 'dependencies': [
325 '<(apk_tests_path):modules_unittests_apk',
326 ],
andrew@webrtc.org2cbb4292013-08-02 20:52:54 +0000327 },
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000328 {
phoglund@webrtc.org32fe90b2013-08-19 11:40:19 +0000329 'target_name': 'modules_tests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000330 'type': 'none',
331 'dependencies': [
phoglund@webrtc.org32fe90b2013-08-19 11:40:19 +0000332 '<(apk_tests_path):modules_tests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000333 ],
334 },
335 ],
336 }],
337 ],
mflodman@webrtc.org6af95942012-05-24 13:23:35 +0000338 }], # include_tests
xians@google.comd3185fe2011-09-12 12:24:39 +0000339 ], # conditions
340}