# 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.

source_set("os_crypt") {
  sources = [
    "ie7_password_win.cc",
    "ie7_password_win.h",
    "keychain_password_mac.h",
    "keychain_password_mac.mm",
    "os_crypt.h",
    "os_crypt_mac.mm",
    "os_crypt_posix.cc",
    "os_crypt_switches.cc",
    "os_crypt_switches.h",
    "os_crypt_win.cc",
  ]

  deps = [
    "//base",
    "//crypto",
    # TODO(tfarina): Remove this dep when http://crbug.com/363749 is fixed.
    "//crypto:platform",
  ]

  if (is_mac) {
    sources -= [ "os_crypt_posix.cc" ]
  }

  if (is_ios) {
    sources += [
      "keychain_password_mac.mm",
      "os_crypt_mac.mm",
    ]
  }
}
