# 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/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',
        ],
      },
    }],
    ['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)',
        ],
      },
    }],
  ],
}
