# Copyright (c) 2013 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.
{
  'conditions': [
    ['OS=="linux" or OS=="mac" or OS=="win" or OS=="android"', {
      'variables': {
        'files': [
          '<(DEPTH)/resources/audio_coding/speech_mono_16kHz.pcm',
          '<(DEPTH)/resources/audio_coding/testfile32kHz.pcm',
          '<(DEPTH)/resources/ConferenceMotion_1280_720_50.yuv',
          '<(DEPTH)/resources/foreman_cif.yuv',
          '<(DEPTH)/resources/paris_qcif.yuv',
          '<(DEPTH)/resources/voice_engine/audio_long16.pcm',
          '<(DEPTH)/resources/difficult_photo_1850_1110.yuv',
          '<(DEPTH)/resources/photo_1850_1110.yuv',
          '<(DEPTH)/resources/presentation_1850_1110.yuv',
          '<(DEPTH)/resources/web_screenshot_1850_1110.yuv',
          '<(DEPTH)/resources/google-wifi-3mbps.rx',
          '<(DEPTH)/resources/verizon4g-downlink.rx',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/webrtc_perf_tests<(EXECUTABLE_SUFFIX)',
        ],
        'files': [
          '<(DEPTH)/DEPS',
          '<(PRODUCT_DIR)/webrtc_perf_tests<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
  ],
}
