# Copyright 2014 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.
{
  'includes': [
    # While the target 'base' doesn't depend on ../third_party/icu/icu.gyp
    # itself, virtually all targets using it has to include icu. The only
    # exception is the Windows sandbox (?).
    '../third_party/icu/icu.isolate',
  ],
  'conditions': [
    ['OS=="win" and component=="shared_library" and CONFIGURATION_NAME=="Debug"', {
      'variables': {
        'isolate_dependency_tracked': [
          # Copy the VS runtime DLLs into the isolate so that they
          # don't have to be preinstalled on the target machine.
          '<(PRODUCT_DIR)/msvcp120d.dll',
          '<(PRODUCT_DIR)/msvcr120d.dll',
        ],
      },
    }],
    ['OS=="win" and component=="shared_library" and CONFIGURATION_NAME=="Release"', {
      'variables': {
        'isolate_dependency_tracked': [
          # Copy the VS runtime DLLs into the isolate so that they
          # don't have to be preinstalled on the target machine.
          '<(PRODUCT_DIR)/msvcp120.dll',
          '<(PRODUCT_DIR)/msvcr120.dll',
        ],
      },
    }],
  ],
}
