blob: 41c800aced60163d69349b8eadc7a62d1049a400 [file] [log] [blame]
# 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/crypto.gni")
import("//build/config/features.gni")
import("//build/config/ui.gni")
gypi_values = exec_script(
"//build/gypi_to_gn.py",
[ rebase_path("../../chrome_browser_extensions.gypi") ],
"scope",
[ "../../chrome_browser_extensions.gypi" ])
# GYP version: chrome/chrome_browser_extensions.gypi:browser_extensions
static_library("extensions") {
sources = []
sources += rebase_path(
gypi_values.chrome_browser_extensions_enabled_sources,
".", "//chrome")
defines = []
# Since browser and browser_extensions actually depend on each other,
# we must omit the dependency from browser_extensions to browser.
# However, this means browser_extensions and browser should more or less
# have the same dependencies. Once browser_extensions is untangled from
# browser, then we can clean up these dependencies.
public_deps = [
"//chrome/common/extensions/api",
"//content/public/browser",
]
deps = [
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
"//chrome/app/resources:platform_locale_settings",
"//chrome/app/theme:theme_resources",
"//chrome/browser/devtools",
"//chrome/browser/history:in_memory_url_index_cache_proto",
"//chrome/common",
"//chrome/common/extensions/api:api_registration",
"//chrome/common/net",
"//chrome/common/safe_browsing:proto",
"//chrome/installer/util",
"//components/copresence",
"//components/omaha_query_params",
"//components/onc",
"//components/proximity_auth",
"//components/strings",
"//components/url_matcher",
"//content/app/resources",
"//content/public/common",
"//crypto",
"//device/bluetooth",
"//device/hid",
"//extensions/browser",
"//extensions/common/api",
"//extensions/common/api:api_registration",
"//extensions/strings",
"//net",
"//skia",
"//storage/common",
"//sync",
"//third_party/WebKit/public:resources",
"//third_party/cacheinvalidation",
"//third_party/icu",
"//third_party/leveldatabase",
"//third_party/re2",
"//third_party/webrtc/modules/desktop_capture",
"//ui/accessibility:ax_gen",
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/resources",
"//ui/strings",
"//url",
"//storage/browser",
]
if (is_chromeos) {
sources += rebase_path(
gypi_values.chrome_browser_extensions_chromeos_sources,
".", "//chrome")
configs += [ "//build/config/linux:dbus" ]
deps += [
"//third_party/libevent",
"//third_party/protobuf:protobuf_lite",
"//chromeos/ime:gencode",
]
} else {
sources += [
"default_apps.cc",
"default_apps.h'"
]
sources += rebase_path(
gypi_values.chrome_browser_extensions_non_chromeos_sources,
".", "//chrome")
}
if (use_ash) {
sources += [
"api/tabs/ash_panel_contents.cc",
"api/tabs/ash_panel_contents.h",
]
}
if (use_athena) {
defines += [ USE_ATHENA ]
sources += rebase_path(
gypi_values.chrome_browser_extensions_athena_sources,
".", "//chrome")
} else {
sources += rebase_path(
gypi_values.chrome_browser_extensions_non_athena_sources,
".", "//chrome")
}
if (is_linux) {
configs += [ "//build/config/linux:fontconfig" ]
deps += [ "//dbus" ]
if (use_x11) {
configs += [
"//build/config/linux:x11",
]
deps += [
"//ui/events:events_base",
"//ui/events/platform",
"//ui/events/platform/x11",
]
}
} else {
sources += [
"api/audio/audio_service.cc",
]
}
if (enable_configuration_policy) {
deps += [ "//components/policy" ]
sources += [
"policy_handlers.cc",
"policy_handlers.h",
]
sources += rebase_path(
gypi_values.chrome_browser_extensions_policy_sources,
".", "//chrome")
}
if (enable_webrtc) {
sources += [
"api/webrtc_logging_private/webrtc_logging_private_api.cc",
]
} else {
sources += [
"api/webrtc_logging_private/webrtc_logging_private_api_stub.cc",
]
}
if (use_brlapi) {
deps += [ "//build/config/linux:libbrlapi" ]
sources += rebase_path(gypi_values.chrome_browser_extensions_brlapi_sources,
".", "//chrome")
} else {
sources += [
"api/braille_display_private/braille_controller_stub.cc",
]
}
if (use_aura) {
deps += [
"//ui/keyboard",
"//ui/keyboard:resources",
]
}
if (!use_x11) {
sources -= [
"global_shortcut_listener_x11.cc",
"global_shortcut_listener_x11.h",
]
}
if (safe_browsing_mode == 1) {
defines += [ "FULL_SAFE_BROWSING" ]
}
if (safe_browsing_mode == 2) {
defines += [ "MOBILE_SAFE_BROWSING" ]
}
if (is_win || is_mac) {
deps += [ "//components/wifi" ]
sources += rebase_path(
gypi_values.chrome_browser_extensions_networking_private_sources_winmac,
".", "//chrome")
}
if (is_linux) {
sources += rebase_path(
gypi_values.chrome_browser_extensions_networking_private_sources_linux,
".", "//chrome")
}
if (is_win) {
deps += [
"//third_party/iaccessible2",
"//third_party/isimpledom",
]
} else if (!is_chromeos) {
sources += [
"display_info_provider_aura.cc",
"display_info_provider_aura.h",
]
}
if (enable_app_list) {
sources += rebase_path(
gypi_values.chrome_browser_extensions_app_list_sources,
".", "//chrome")
}
if (!use_ozone) {
sources -= [
"global_shortcut_listener_ozone.cc",
]
}
}