# 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"', {
      '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. Note
          # that depending on whether the build is Debug or Release,
          # half of these dependencies will be broken, so these
          # dependencies require --ignore-broken-items to be passed to
          # the isolate driver.
          '<(PRODUCT_DIR)/msvcp120d.dll',
          '<(PRODUCT_DIR)/msvcp120.dll',
          '<(PRODUCT_DIR)/msvcr120d.dll',
          '<(PRODUCT_DIR)/msvcr120.dll',
        ],
      },
    }],
  ],
}
