# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("../build/webrtc.gni")
import("audio_coding/audio_coding.gni")
import("//testing/test.gni")

declare_args() {
  # Desktop capturer is supported only on Windows, OSX and Linux.
  rtc_desktop_capture_supported = is_win || is_mac || is_linux
}

group("modules") {
  deps = [
    "audio_coding",
    "audio_conference_mixer",
    "audio_device",
    "audio_processing",
    "bitrate_controller",
    "desktop_capture",
    "media_file",
    "rtp_rtcp",
    "utility",
    "video_coding",
    "video_processing",
  ]
}

if (rtc_include_tests) {
  test("modules_unittests") {
    testonly = true

    defines = audio_coding_defines
    deps = []
    sources = [
      "audio_coding/acm2/acm_receiver_unittest_oldapi.cc",
      "audio_coding/acm2/audio_coding_module_unittest_oldapi.cc",
      "audio_coding/acm2/call_statistics_unittest.cc",
      "audio_coding/acm2/codec_manager_unittest.cc",
      "audio_coding/acm2/initial_delay_manager_unittest.cc",
      "audio_coding/acm2/rent_a_codec_unittest.cc",
      "audio_coding/codecs/audio_decoder_factory_unittest.cc",
      "audio_coding/codecs/cng/audio_encoder_cng_unittest.cc",
      "audio_coding/codecs/cng/cng_unittest.cc",
      "audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc",
      "audio_coding/codecs/isac/fix/source/filters_unittest.cc",
      "audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc",
      "audio_coding/codecs/isac/fix/source/transform_unittest.cc",
      "audio_coding/codecs/isac/main/source/audio_encoder_isac_unittest.cc",
      "audio_coding/codecs/isac/main/source/isac_unittest.cc",
      "audio_coding/codecs/isac/unittest.cc",
      "audio_coding/codecs/mock/mock_audio_encoder.cc",
      "audio_coding/codecs/opus/audio_encoder_opus_unittest.cc",
      "audio_coding/codecs/opus/opus_unittest.cc",
      "audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc",
      "audio_coding/neteq/audio_classifier_unittest.cc",
      "audio_coding/neteq/audio_multi_vector_unittest.cc",
      "audio_coding/neteq/audio_vector_unittest.cc",
      "audio_coding/neteq/background_noise_unittest.cc",
      "audio_coding/neteq/buffer_level_filter_unittest.cc",
      "audio_coding/neteq/comfort_noise_unittest.cc",
      "audio_coding/neteq/decision_logic_unittest.cc",
      "audio_coding/neteq/decoder_database_unittest.cc",
      "audio_coding/neteq/delay_manager_unittest.cc",
      "audio_coding/neteq/delay_peak_detector_unittest.cc",
      "audio_coding/neteq/dsp_helper_unittest.cc",
      "audio_coding/neteq/dtmf_buffer_unittest.cc",
      "audio_coding/neteq/dtmf_tone_generator_unittest.cc",
      "audio_coding/neteq/expand_unittest.cc",
      "audio_coding/neteq/merge_unittest.cc",
      "audio_coding/neteq/mock/mock_audio_decoder.h",
      "audio_coding/neteq/mock/mock_audio_vector.h",
      "audio_coding/neteq/mock/mock_buffer_level_filter.h",
      "audio_coding/neteq/mock/mock_decoder_database.h",
      "audio_coding/neteq/mock/mock_delay_manager.h",
      "audio_coding/neteq/mock/mock_delay_peak_detector.h",
      "audio_coding/neteq/mock/mock_dtmf_buffer.h",
      "audio_coding/neteq/mock/mock_dtmf_tone_generator.h",
      "audio_coding/neteq/mock/mock_expand.h",
      "audio_coding/neteq/mock/mock_external_decoder_pcm16b.h",
      "audio_coding/neteq/mock/mock_packet_buffer.h",
      "audio_coding/neteq/mock/mock_payload_splitter.h",
      "audio_coding/neteq/nack_tracker_unittest.cc",
      "audio_coding/neteq/neteq_external_decoder_unittest.cc",
      "audio_coding/neteq/neteq_impl_unittest.cc",
      "audio_coding/neteq/neteq_network_stats_unittest.cc",
      "audio_coding/neteq/neteq_stereo_unittest.cc",
      "audio_coding/neteq/neteq_unittest.cc",
      "audio_coding/neteq/normal_unittest.cc",
      "audio_coding/neteq/packet_buffer_unittest.cc",
      "audio_coding/neteq/payload_splitter_unittest.cc",
      "audio_coding/neteq/post_decode_vad_unittest.cc",
      "audio_coding/neteq/random_vector_unittest.cc",
      "audio_coding/neteq/sync_buffer_unittest.cc",
      "audio_coding/neteq/tick_timer_unittest.cc",
      "audio_coding/neteq/time_stretch_unittest.cc",
      "audio_coding/neteq/timestamp_scaler_unittest.cc",
      "audio_coding/neteq/tools/input_audio_file_unittest.cc",
      "audio_coding/neteq/tools/packet_unittest.cc",
      "audio_conference_mixer/test/audio_conference_mixer_unittest.cc",
      "audio_device/fine_audio_buffer_unittest.cc",
      "audio_processing/aec/echo_cancellation_unittest.cc",
      "audio_processing/aec/system_delay_unittest.cc",
      "audio_processing/agc/agc_manager_direct_unittest.cc",

      # TODO(ajm): Fix to match new interface.
      # "audio_processing/agc/agc_unittest.cc",
      "audio_processing/agc/loudness_histogram_unittest.cc",
      "audio_processing/agc/mock_agc.h",
      "audio_processing/audio_buffer_unittest.cc",
      "audio_processing/beamformer/array_util_unittest.cc",
      "audio_processing/beamformer/complex_matrix_unittest.cc",
      "audio_processing/beamformer/covariance_matrix_generator_unittest.cc",
      "audio_processing/beamformer/matrix_unittest.cc",
      "audio_processing/beamformer/mock_nonlinear_beamformer.h",
      "audio_processing/beamformer/nonlinear_beamformer_unittest.cc",
      "audio_processing/echo_cancellation_impl_unittest.cc",
      "audio_processing/intelligibility/intelligibility_enhancer_unittest.cc",
      "audio_processing/intelligibility/intelligibility_utils_unittest.cc",
      "audio_processing/splitting_filter_unittest.cc",
      "audio_processing/transient/dyadic_decimator_unittest.cc",
      "audio_processing/transient/file_utils.cc",
      "audio_processing/transient/file_utils.h",
      "audio_processing/transient/file_utils_unittest.cc",
      "audio_processing/transient/moving_moments_unittest.cc",
      "audio_processing/transient/transient_detector_unittest.cc",
      "audio_processing/transient/transient_suppressor_unittest.cc",
      "audio_processing/transient/wpd_node_unittest.cc",
      "audio_processing/transient/wpd_tree_unittest.cc",
      "audio_processing/utility/block_mean_calculator_unittest.cc",
      "audio_processing/utility/delay_estimator_unittest.cc",
      "audio_processing/vad/gmm_unittest.cc",
      "audio_processing/vad/pitch_based_vad_unittest.cc",
      "audio_processing/vad/pitch_internal_unittest.cc",
      "audio_processing/vad/pole_zero_filter_unittest.cc",
      "audio_processing/vad/standalone_vad_unittest.cc",
      "audio_processing/vad/vad_audio_proc_unittest.cc",
      "audio_processing/vad/vad_circular_buffer_unittest.cc",
      "audio_processing/vad/voice_activity_detector_unittest.cc",
      "bitrate_controller/bitrate_controller_unittest.cc",
      "bitrate_controller/send_side_bandwidth_estimation_unittest.cc",
      "congestion_controller/congestion_controller_unittest.cc",
      "media_file/media_file_unittest.cc",
      "module_common_types_unittest.cc",
      "pacing/bitrate_prober_unittest.cc",
      "pacing/paced_sender_unittest.cc",
      "pacing/packet_router_unittest.cc",
      "remote_bitrate_estimator/bwe_simulations.cc",
      "remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h",
      "remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h",
      "remote_bitrate_estimator/inter_arrival_unittest.cc",
      "remote_bitrate_estimator/overuse_detector_unittest.cc",
      "remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc",
      "remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc",
      "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc",
      "remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h",
      "remote_bitrate_estimator/remote_estimator_proxy_unittest.cc",
      "remote_bitrate_estimator/send_time_history_unittest.cc",
      "remote_bitrate_estimator/test/bwe_test_framework_unittest.cc",
      "remote_bitrate_estimator/test/bwe_unittest.cc",
      "remote_bitrate_estimator/test/estimators/nada_unittest.cc",
      "remote_bitrate_estimator/test/metric_recorder_unittest.cc",
      "remote_bitrate_estimator/transport_feedback_adapter_unittest.cc",
      "rtp_rtcp/source/byte_io_unittest.cc",
      "rtp_rtcp/source/fec_receiver_unittest.cc",
      "rtp_rtcp/source/fec_test_helper.cc",
      "rtp_rtcp/source/fec_test_helper.h",
      "rtp_rtcp/source/mock/mock_rtp_payload_strategy.h",
      "rtp_rtcp/source/nack_rtx_unittest.cc",
      "rtp_rtcp/source/packet_loss_stats_unittest.cc",
      "rtp_rtcp/source/producer_fec_unittest.cc",
      "rtp_rtcp/source/receive_statistics_unittest.cc",
      "rtp_rtcp/source/remote_ntp_time_estimator_unittest.cc",
      "rtp_rtcp/source/rtcp_format_remb_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/app_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/bye_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/common_header_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/compound_packet_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/dlrr_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/extended_jitter_report_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/extended_reports_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/fir_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/nack_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/pli_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/rapid_resync_request_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/remb_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/report_block_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/rpsi_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/rrtr_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/sdes_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/sli_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/tmmbn_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/tmmbr_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc",
      "rtp_rtcp/source/rtcp_packet/voip_metric_unittest.cc",
      "rtp_rtcp/source/rtcp_packet_unittest.cc",
      "rtp_rtcp/source/rtcp_receiver_unittest.cc",
      "rtp_rtcp/source/rtcp_sender_unittest.cc",
      "rtp_rtcp/source/rtcp_utility_unittest.cc",
      "rtp_rtcp/source/rtp_fec_unittest.cc",
      "rtp_rtcp/source/rtp_format_h264_unittest.cc",
      "rtp_rtcp/source/rtp_format_vp8_test_helper.cc",
      "rtp_rtcp/source/rtp_format_vp8_test_helper.h",
      "rtp_rtcp/source/rtp_format_vp8_unittest.cc",
      "rtp_rtcp/source/rtp_format_vp9_unittest.cc",
      "rtp_rtcp/source/rtp_header_extension_unittest.cc",
      "rtp_rtcp/source/rtp_packet_history_unittest.cc",
      "rtp_rtcp/source/rtp_packet_unittest.cc",
      "rtp_rtcp/source/rtp_payload_registry_unittest.cc",
      "rtp_rtcp/source/rtp_rtcp_impl_unittest.cc",
      "rtp_rtcp/source/rtp_sender_unittest.cc",
      "rtp_rtcp/source/time_util_unittest.cc",
      "rtp_rtcp/source/vp8_partition_aggregator_unittest.cc",
      "rtp_rtcp/test/testAPI/test_api.cc",
      "rtp_rtcp/test/testAPI/test_api.h",
      "rtp_rtcp/test/testAPI/test_api_audio.cc",
      "rtp_rtcp/test/testAPI/test_api_rtcp.cc",
      "rtp_rtcp/test/testAPI/test_api_video.cc",
      "utility/source/audio_frame_operations_unittest.cc",
      "utility/source/file_player_unittests.cc",
      "utility/source/process_thread_impl_unittest.cc",
      "video_coding/codecs/test/packet_manipulator_unittest.cc",
      "video_coding/codecs/test/stats_unittest.cc",
      "video_coding/codecs/test/videoprocessor_unittest.cc",
      "video_coding/codecs/vp8/default_temporal_layers_unittest.cc",
      "video_coding/codecs/vp8/reference_picture_selection_unittest.cc",
      "video_coding/codecs/vp8/screenshare_layers_unittest.cc",
      "video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc",
      "video_coding/codecs/vp8/simulcast_unittest.cc",
      "video_coding/codecs/vp8/simulcast_unittest.h",
      "video_coding/decoding_state_unittest.cc",
      "video_coding/frame_buffer2_unittest.cc",
      "video_coding/histogram_unittest.cc",
      "video_coding/include/mock/mock_vcm_callbacks.h",
      "video_coding/jitter_buffer_unittest.cc",
      "video_coding/jitter_estimator_tests.cc",
      "video_coding/nack_module_unittest.cc",
      "video_coding/percentile_filter_unittest.cc",
      "video_coding/protection_bitrate_calculator_unittest.cc",
      "video_coding/receiver_unittest.cc",
      "video_coding/sequence_number_util_unittest.cc",
      "video_coding/session_info_unittest.cc",
      "video_coding/test/stream_generator.cc",
      "video_coding/test/stream_generator.h",
      "video_coding/timing_unittest.cc",
      "video_coding/utility/frame_dropper_unittest.cc",
      "video_coding/utility/h264_bitstream_parser_unittest.cc",
      "video_coding/utility/ivf_file_writer_unittest.cc",
      "video_coding/utility/quality_scaler_unittest.cc",
      "video_coding/video_coding_robustness_unittest.cc",
      "video_coding/video_packet_buffer_unittest.cc",
      "video_coding/video_receiver_unittest.cc",
      "video_coding/video_sender_unittest.cc",
      "video_processing/test/denoiser_test.cc",
      "video_processing/test/video_processing_unittest.cc",
      "video_processing/test/video_processing_unittest.h",
    ]

    if (rtc_libvpx_build_vp9) {
      sources +=
          [ "video_coding/codecs/vp9/vp9_screenshare_layers_unittest.cc" ]
    }

    if (rtc_desktop_capture_supported || is_android) {
      deps += [ "desktop_capture" ]
      sources += [
        "desktop_capture/desktop_region_unittest.cc",
        "desktop_capture/differ_block_unittest.cc",
        "desktop_capture/differ_unittest.cc",
      ]
    }

    if (rtc_desktop_capture_supported) {
      deps += [ "desktop_capture" ]
      sources += [
        "desktop_capture/desktop_and_cursor_composer_unittest.cc",
        "desktop_capture/mouse_cursor_monitor_unittest.cc",
        "desktop_capture/screen_capturer_helper_unittest.cc",
        "desktop_capture/screen_capturer_mac_unittest.cc",
        "desktop_capture/screen_capturer_mock_objects.h",
        "desktop_capture/screen_capturer_unittest.cc",
        "desktop_capture/win/cursor_unittest.cc",
        "desktop_capture/win/cursor_unittest_resources.h",
        "desktop_capture/win/cursor_unittest_resources.rc",
        "desktop_capture/window_capturer_unittest.cc",
      ]
    }

    if (rtc_prefer_fixed_point) {
      defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ]
    } else {
      defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ]
    }

    if (rtc_enable_protobuf) {
      defines += [
        "WEBRTC_AUDIOPROC_DEBUG_DUMP",
        "WEBRTC_NETEQ_UNITTEST_BITEXACT",
      ]
      deps += [
        "audio_coding:neteq_unittest_proto",
        "audio_processing:audioproc_protobuf_utils",
        "audio_processing:audioproc_unittest_proto",
      ]
      sources += [
        "audio_processing/audio_processing_impl_locking_unittest.cc",
        "audio_processing/audio_processing_impl_unittest.cc",
        "audio_processing/audio_processing_unittest.cc",
        "audio_processing/echo_cancellation_bit_exact_unittest.cc",
        "audio_processing/echo_control_mobile_unittest.cc",
        "audio_processing/gain_control_unittest.cc",
        "audio_processing/high_pass_filter_unittest.cc",
        "audio_processing/level_estimator_unittest.cc",
        "audio_processing/noise_suppression_unittest.cc",
        "audio_processing/test/audio_buffer_tools.cc",
        "audio_processing/test/audio_buffer_tools.h",
        "audio_processing/test/bitexactness_tools.cc",
        "audio_processing/test/bitexactness_tools.h",
        "audio_processing/test/debug_dump_replayer.cc",
        "audio_processing/test/debug_dump_replayer.h",
        "audio_processing/test/debug_dump_test.cc",
        "audio_processing/test/test_utils.h",
        "audio_processing/voice_detection_unittest.cc",
      ]
    }

    if (rtc_build_libvpx) {
      deps += [ rtc_libvpx_dir ]
    }

    configs += [ "..:common_config" ]
    public_configs = [ "..:common_inherited_config" ]

    # TODO(jschuh): bugs.webrtc.org/1348: fix this warning.
    configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

    if (is_clang) {
      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
      configs -= [ "//build/config/clang:find_bad_constructs" ]
    }

    if (is_win) {
      cflags = [
        # TODO(kjellander): bugs.webrtc.org/261: Fix this warning.
        "/wd4373",  # virtual function override.
      ]
    }

    deps += [
      "..:webrtc_common",
      "../base:rtc_base",  # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
      "../common_audio",
      "../common_video",
      "../system_wrappers:system_wrappers",
      "../test:rtp_test_utils",
      "../test:test_common",
      "../test:test_support_main",
      "../test:test_support_main",
      "../test:video_test_common",
      "../tools:agc_test_utils",
      "audio_coding",
      "audio_coding:acm_receive_test",
      "audio_coding:acm_send_test",
      "audio_coding:builtin_audio_decoder_factory",
      "audio_coding:cng",
      "audio_coding:isac_fix",
      "audio_coding:neteq",
      "audio_coding:neteq_test_support",
      "audio_coding:neteq_unittest_tools",
      "audio_coding:pcm16b",
      "audio_coding:red",
      "audio_coding:webrtc_opus",
      "audio_conference_mixer",
      "audio_device",
      "audio_processing",
      "audio_processing:audioproc_test_utils",
      "bitrate_controller",
      "media_file",
      "pacing",
      "remote_bitrate_estimator",
      "remote_bitrate_estimator:bwe_simulator",
      "rtp_rtcp",
      "utility",
      "video_capture",
      "video_coding",
      "video_coding:video_codecs_test_framework",
      "video_coding:webrtc_vp8",
      "video_coding:webrtc_vp9",
      "video_processing",
      "//testing/gmock",
      "//testing/gtest",
      "//third_party/gflags",
    ]

    if (is_android) {
      deps += [ "//testing/android/native_test:native_test_support" ]

      # Need to disable error due to the line in
      # base/android/jni_android.h triggering it:
      # const BASE_EXPORT jobject GetApplicationContext()
      # error: type qualifiers ignored on function return type
      cflags = [ "-Wno-ignored-qualifiers" ]
      sources += [
        "audio_device/android/audio_device_unittest.cc",
        "audio_device/android/audio_manager_unittest.cc",
        "audio_device/android/ensure_initialized.cc",
        "audio_device/android/ensure_initialized.h",
      ]

      # This needs to be kept in sync with the .isolate file.
      # TODO(kjellander); Move this to android_assets targets instead.
      data = [
        "//data/audio_processing/output_data_fixed.pb",
        "//data/audio_processing/output_data_float.pb",
        "//data/audio_processing/output_data_mac.pb",
        "//data/voice_engine/audio_tiny48.wav",
        "//resources/att-downlink.rx",
        "//resources/att-uplink.rx",
        "//resources/audio_coding/neteq_opus.rtp",
        "//resources/audio_coding/neteq_universal_new.rtp",
        "//resources/audio_coding/speech_mono_16kHz.pcm",
        "//resources/audio_coding/speech_mono_32_48kHz.pcm",
        "//resources/audio_coding/testfile32kHz.pcm",
        "//resources/audio_coding/teststereo32kHz.pcm",
        "//resources/audio_device/audio_short16.pcm",
        "//resources/audio_device/audio_short44.pcm",
        "//resources/audio_device/audio_short48.pcm",
        "//resources/audio_processing/agc/agc_audio.pcm",
        "//resources/audio_processing/agc/agc_no_circular_buffer.dat",
        "//resources/audio_processing/agc/agc_pitch_gain.dat",
        "//resources/audio_processing/agc/agc_pitch_lag.dat",
        "//resources/audio_processing/agc/agc_spectral_peak.dat",
        "//resources/audio_processing/agc/agc_vad.dat",
        "//resources/audio_processing/agc/agc_voicing_prob.dat",
        "//resources/audio_processing/agc/agc_with_circular_buffer.dat",
        "//resources/audio_processing/transient/ajm-macbook-1-spke16m.pcm",
        "//resources/audio_processing/transient/audio16kHz.pcm",
        "//resources/audio_processing/transient/audio32kHz.pcm",
        "//resources/audio_processing/transient/audio48kHz.pcm",
        "//resources/audio_processing/transient/audio8kHz.pcm",
        "//resources/audio_processing/transient/detect16kHz.dat",
        "//resources/audio_processing/transient/detect32kHz.dat",
        "//resources/audio_processing/transient/detect48kHz.dat",
        "//resources/audio_processing/transient/detect8kHz.dat",
        "//resources/audio_processing/transient/double-utils.dat",
        "//resources/audio_processing/transient/float-utils.dat",
        "//resources/audio_processing/transient/suppressed16kHz.pcm",
        "//resources/audio_processing/transient/suppressed32kHz.pcm",
        "//resources/audio_processing/transient/suppressed8kHz.pcm",
        "//resources/audio_processing/transient/wpd0.dat",
        "//resources/audio_processing/transient/wpd1.dat",
        "//resources/audio_processing/transient/wpd2.dat",
        "//resources/audio_processing/transient/wpd3.dat",
        "//resources/audio_processing/transient/wpd4.dat",
        "//resources/audio_processing/transient/wpd5.dat",
        "//resources/audio_processing/transient/wpd6.dat",
        "//resources/audio_processing/transient/wpd7.dat",
        "//resources/deflicker_before_cif_short.yuv",
        "//resources/far16_stereo.pcm",
        "//resources/far32_stereo.pcm",
        "//resources/far44_stereo.pcm",
        "//resources/far48_stereo.pcm",
        "//resources/far8_stereo.pcm",
        "//resources/foremanColorEnhanced_cif_short.yuv",
        "//resources/foreman_cif.yuv",
        "//resources/foreman_cif_short.yuv",
        "//resources/near16_stereo.pcm",
        "//resources/near32_stereo.pcm",
        "//resources/near44_stereo.pcm",
        "//resources/near48_stereo.pcm",
        "//resources/near8_stereo.pcm",
        "//resources/ref03.aecdump",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_TOF.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_AST.bin",
        "//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_TOF.bin",
        "//resources/short_mixed_mono_48.dat",
        "//resources/short_mixed_mono_48_arm.dat",
        "//resources/short_mixed_mono_48.pcm",
        "//resources/short_mixed_stereo_48.dat",
        "//resources/short_mixed_stereo_48.pcm",
        "//resources/sprint-downlink.rx",
        "//resources/sprint-uplink.rx",
        "//resources/synthetic-trace.rx",
        "//resources/tmobile-downlink.rx",
        "//resources/tmobile-uplink.rx",
        "//resources/utility/encapsulated_pcm16b_8khz.wav",
        "//resources/utility/encapsulated_pcmu_8khz.wav",
        "//resources/verizon3g-downlink.rx",
        "//resources/verizon3g-uplink.rx",
        "//resources/verizon4g-downlink.rx",
        "//resources/verizon4g-uplink.rx",
      ]
    }

    if (is_ios) {
      configs += [
        "..:common_objc",
        "//build/config/compiler:enable_arc",
      ]

      sources += [
        "audio_device/ios/audio_device_unittest_ios.cc",
        "audio_device/ios/objc/RTCAudioSessionTest.mm",
        "video_coding/codecs/h264/h264_video_toolbox_nalu_unittest.cc",
      ]

      ldflags = [ "-ObjC" ]

      # TODO(kjellander): Mac bundle files.
    }
  }
}
