# 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.
#
# TODO(maruel): this file should live in third_party/nss but two factors get in
# the way:
# - .isolate files do not support conditional includes. This works in gyp by
#   using the 'dependencies': [ 'path/to/file.gyp:project' ] which dynamically
#   loads project files.
# - third_party/nss is conditionally checked out. It is not checked out on
#   linux.
{
  'conditions': [
    ['OS=="mac" and component=="shared_library"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/libcrnspr.dylib',
          '<(PRODUCT_DIR)/libcrnss.dylib',
        ],
      },
    }],
    ['OS=="win" and component=="shared_library"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/crnspr.dll',
          '<(PRODUCT_DIR)/crnss.dll',
        ],
      },
    }],
  ],
}
