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