# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
  'conditions': [
    ['OS=="linux"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/chrome.pak',
          '<(PRODUCT_DIR)/libclearkeycdm.so',
          '<(PRODUCT_DIR)/libclearkeycdmadapter.so',
          '<(PRODUCT_DIR)/libffmpegsumo.so',
          '<(PRODUCT_DIR)/libosmesa.so',
          '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so',
          '<(PRODUCT_DIR)/nacl_helper<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/nacl_helper_bootstrap<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['OS=="linux" or OS=="win"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/chrome<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/chrome<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/chrome_100_percent.pak',
          '<(PRODUCT_DIR)/locales/en-US.pak',
          '<(PRODUCT_DIR)/locales/fr.pak',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          '<(PRODUCT_DIR)/resources.pak',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/lib64/',
          '<(PRODUCT_DIR)/plugins/',
          '<(PRODUCT_DIR)/resources/extension/',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/Chromium.app/Contents/MacOS/Chromium',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/Chromium Framework.framework/',
          '<(PRODUCT_DIR)/Chromium.app/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/D3DCompiler_43.dll',
          '<(PRODUCT_DIR)/chrome.dll',
          '<(PRODUCT_DIR)/clearkeycdm.dll',
          '<(PRODUCT_DIR)/clearkeycdmadapter.dll',
          '<(PRODUCT_DIR)/d3dcompiler_46.dll',
          '<(PRODUCT_DIR)/ffmpegsumo.dll',
          '<(PRODUCT_DIR)/icudt.dll',
          '<(PRODUCT_DIR)/libEGL.dll',
          '<(PRODUCT_DIR)/libGLESv2.dll',
          '<(PRODUCT_DIR)/nacl64<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/osmesa.dll',
          '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
        ],
      },
    }],
  ],
}
