mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
194 lines
4.7 KiB
Plaintext
194 lines
4.7 KiB
Plaintext
|
# 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.
|
||
|
|
||
|
import("//build/config/chromecast_build.gni")
|
||
|
import("//build/config/features.gni")
|
||
|
import("//build/config/ui.gni")
|
||
|
import("//build/config/linux/pkg_config.gni")
|
||
|
import("//components/os_crypt/features.gni")
|
||
|
|
||
|
if (use_gnome_keyring) {
|
||
|
# Gnome-keyring is normally dynamically loaded. The gnome_keyring config
|
||
|
# will set this up.
|
||
|
pkg_config("gnome_keyring") {
|
||
|
packages = [ "gnome-keyring-1" ]
|
||
|
defines = [ "USE_GNOME_KEYRING" ]
|
||
|
ignore_libs = true
|
||
|
}
|
||
|
|
||
|
# If you want to link gnome-keyring directly (use only for unit tests)
|
||
|
# ADDITIONALLY add this config on top of ":gnome_keyring". pkg-config is a
|
||
|
# bit slow, so prefer not to run it again. In practice, gnome-keyring's libs
|
||
|
# are just itself and common gnome ones we link already, so we can get away
|
||
|
# with additionally just coding the library name here.
|
||
|
# TODO(cfroussios): This is only used by
|
||
|
# chrome/browser/password_manager/native_backend_gnome_x_unittest.cc
|
||
|
# We should deprecate both.
|
||
|
config("gnome_keyring_direct") {
|
||
|
libs = [ "gnome-keyring" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static_library("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_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_posix || is_fuchsia) && !is_mac && !is_ios &&
|
||
|
(!is_desktop_linux || is_chromecast)) {
|
||
|
sources += [ "os_crypt_posix.cc" ]
|
||
|
}
|
||
|
|
||
|
if (is_ios) {
|
||
|
set_sources_assignment_filter([])
|
||
|
sources += [
|
||
|
"keychain_password_mac.h",
|
||
|
"keychain_password_mac.mm",
|
||
|
"os_crypt_mac.mm",
|
||
|
]
|
||
|
set_sources_assignment_filter(sources_assignment_filter)
|
||
|
}
|
||
|
|
||
|
if (is_win) {
|
||
|
libs = [ "crypt32.lib" ]
|
||
|
}
|
||
|
|
||
|
if (is_desktop_linux && !is_chromecast) {
|
||
|
sources += [
|
||
|
"key_storage_config_linux.cc",
|
||
|
"key_storage_config_linux.h",
|
||
|
"key_storage_linux.cc",
|
||
|
"key_storage_linux.h",
|
||
|
"key_storage_util_linux.cc",
|
||
|
"key_storage_util_linux.h",
|
||
|
"os_crypt_linux.cc",
|
||
|
]
|
||
|
defines = []
|
||
|
|
||
|
if (use_gnome_keyring) {
|
||
|
sources += [
|
||
|
"key_storage_keyring.cc",
|
||
|
"key_storage_keyring.h",
|
||
|
"keyring_util_linux.cc",
|
||
|
"keyring_util_linux.h",
|
||
|
]
|
||
|
configs += [ ":gnome_keyring" ]
|
||
|
defines += [ "USE_KEYRING" ]
|
||
|
}
|
||
|
if (use_glib) {
|
||
|
sources += [
|
||
|
"key_storage_libsecret.cc",
|
||
|
"key_storage_libsecret.h",
|
||
|
"libsecret_util_linux.cc",
|
||
|
"libsecret_util_linux.h",
|
||
|
]
|
||
|
configs += [ "//build/config/linux:glib" ]
|
||
|
deps += [ "//third_party/libsecret" ]
|
||
|
defines += [ "USE_LIBSECRET" ]
|
||
|
}
|
||
|
if (use_dbus) {
|
||
|
sources += [
|
||
|
"key_storage_kwallet.cc",
|
||
|
"key_storage_kwallet.h",
|
||
|
"kwallet_dbus.cc",
|
||
|
"kwallet_dbus.h",
|
||
|
]
|
||
|
deps += [ "//dbus" ]
|
||
|
defines += [ "USE_KWALLET" ]
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static_library("test_support") {
|
||
|
testonly = true
|
||
|
sources = [
|
||
|
"os_crypt_mocker.cc",
|
||
|
"os_crypt_mocker.h",
|
||
|
]
|
||
|
deps = [
|
||
|
":os_crypt",
|
||
|
"//base",
|
||
|
"//testing/gtest",
|
||
|
]
|
||
|
if (is_desktop_linux) {
|
||
|
sources += [
|
||
|
"os_crypt_mocker_linux.cc",
|
||
|
"os_crypt_mocker_linux.h",
|
||
|
]
|
||
|
defines = []
|
||
|
if (use_gnome_keyring) {
|
||
|
defines += [ "USE_KEYRING" ]
|
||
|
}
|
||
|
if (use_glib) {
|
||
|
defines += [ "USE_LIBSECRET" ]
|
||
|
}
|
||
|
if (use_dbus) {
|
||
|
defines += [ "USE_KWALLET" ]
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
source_set("unit_tests") {
|
||
|
testonly = true
|
||
|
sources = [
|
||
|
"ie7_password_win_unittest.cc",
|
||
|
"keychain_password_mac_unittest.mm",
|
||
|
"os_crypt_unittest.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
":os_crypt",
|
||
|
":test_support",
|
||
|
"//base",
|
||
|
"//base/test:test_support",
|
||
|
"//crypto",
|
||
|
"//testing/gmock",
|
||
|
"//testing/gtest",
|
||
|
]
|
||
|
|
||
|
if (is_desktop_linux) {
|
||
|
sources += [
|
||
|
"key_storage_linux_unittest.cc",
|
||
|
"key_storage_util_linux_unittest.cc",
|
||
|
"os_crypt_linux_unittest.cc",
|
||
|
]
|
||
|
defines = []
|
||
|
|
||
|
if (use_gnome_keyring) {
|
||
|
sources += [ "key_storage_keyring_unittest.cc" ]
|
||
|
configs += [ ":gnome_keyring" ]
|
||
|
deps += [ "//base/test:test_support" ]
|
||
|
defines += [ "USE_KEYRING" ]
|
||
|
}
|
||
|
if (use_glib) {
|
||
|
sources += [ "key_storage_libsecret_unittest.cc" ]
|
||
|
deps += [ "//third_party/libsecret" ]
|
||
|
defines += [ "USE_LIBSECRET" ]
|
||
|
}
|
||
|
if (use_dbus) {
|
||
|
sources += [
|
||
|
"key_storage_kwallet_unittest.cc",
|
||
|
"kwallet_dbus_unittest.cc",
|
||
|
]
|
||
|
deps += [ "//dbus:test_support" ]
|
||
|
defines += [ "USE_KWALLET" ]
|
||
|
}
|
||
|
}
|
||
|
}
|