blob: bd1ed50b777de0ce723aa472617f78712c5280b4 [file] [log] [blame]
[email protected]fb2799e2014-07-15 23:50:291# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/crypto.gni")
6import("//build/config/features.gni")
7import("//build/config/ui.gni")
8
9gypi_values = exec_script(
10 "//build/gypi_to_gn.py",
11 [ rebase_path("../../chrome_browser_extensions.gypi") ],
12 "scope",
13 [ "../../chrome_browser_extensions.gypi" ])
14
15# GYP version: chrome/chrome_browser_extensions.gypi:browser_extensions
16static_library("extensions") {
[email protected]d5a74be2014-08-08 01:01:2717 sources = []
[email protected]94e77192014-08-12 03:00:0218 sources += rebase_path(
19 gypi_values.chrome_browser_extensions_enabled_sources,
20 ".", "//chrome")
21
[email protected]fb2799e2014-07-15 23:50:2922 defines = []
23
[email protected]fb2799e2014-07-15 23:50:2924 # Since browser and browser_extensions actually depend on each other,
25 # we must omit the dependency from browser_extensions to browser.
26 # However, this means browser_extensions and browser should more or less
27 # have the same dependencies. Once browser_extensions is untangled from
28 # browser, then we can clean up these dependencies.
Brett Wilsone53895272014-09-23 23:41:4629 public_deps = [
30 "//chrome/common/extensions/api",
31 "//content/public/browser",
32 ]
[email protected]fb2799e2014-07-15 23:50:2933 deps = [
34 "//chrome:extra_resources",
35 "//chrome:resources",
36 "//chrome:strings",
37 "//chrome/app/resources:platform_locale_settings",
[email protected]fb2799e2014-07-15 23:50:2938 "//chrome/app/theme:theme_resources",
[email protected]55699f392014-08-20 22:16:3039 "//chrome/browser/devtools",
[email protected]fb2799e2014-07-15 23:50:2940 "//chrome/browser/history:in_memory_url_index_cache_proto",
[email protected]fb2799e2014-07-15 23:50:2941 "//chrome/common",
yoz774dcda2d2014-08-27 03:32:5842 "//chrome/common/extensions/api:api_registration",
[email protected]fb2799e2014-07-15 23:50:2943 "//chrome/common/net",
44 "//chrome/common/safe_browsing:proto",
[email protected]55699f392014-08-20 22:16:3045 "//chrome/installer/util",
[email protected]6294f0d2014-08-20 17:43:0946 "//components/copresence",
[email protected]55699f392014-08-20 22:16:3047 "//components/omaha_query_params",
[email protected]fb2799e2014-07-15 23:50:2948 "//components/onc",
isherman25cab40a2014-09-18 03:51:5149 "//components/proximity_auth",
[email protected]fb2799e2014-07-15 23:50:2950 "//components/strings",
51 "//components/url_matcher",
[email protected]a9ca8d52014-08-22 10:21:0852 "//content/app/resources",
[email protected]fb2799e2014-07-15 23:50:2953 "//content/public/common",
54 "//crypto",
[email protected]55699f392014-08-20 22:16:3055 "//device/bluetooth",
56 "//device/hid",
57 "//extensions/browser",
[email protected]fb2799e2014-07-15 23:50:2958 "//extensions/common/api",
yoz774dcda2d2014-08-27 03:32:5859 "//extensions/common/api:api_registration",
[email protected]fb2799e2014-07-15 23:50:2960 "//extensions/strings",
61 "//net",
62 "//skia",
pilgrimf55d19fc2014-09-04 00:05:2463 "//storage/common",
[email protected]fb2799e2014-07-15 23:50:2964 "//sync",
[email protected]4eebe74d2014-08-13 02:54:4665 "//third_party/WebKit/public:resources",
[email protected]fb2799e2014-07-15 23:50:2966 "//third_party/cacheinvalidation",
67 "//third_party/icu",
68 "//third_party/leveldatabase",
69 "//third_party/re2",
Brett Wilson83fd4242014-09-02 19:45:3370 "//third_party/webrtc/modules/desktop_capture",
[email protected]fb2799e2014-07-15 23:50:2971 "//ui/accessibility:ax_gen",
72 "//ui/base",
73 "//ui/gfx",
74 "//ui/gfx/geometry",
75 "//ui/resources",
76 "//ui/strings",
77 "//url",
pilgrim4af8c212014-09-05 17:30:1578 "//storage/browser",
[email protected]fb2799e2014-07-15 23:50:2979 ]
80
[email protected]fb2799e2014-07-15 23:50:2981 if (is_chromeos) {
82 sources += rebase_path(
83 gypi_values.chrome_browser_extensions_chromeos_sources,
84 ".", "//chrome")
mukai55134a02014-10-29 00:30:2285 sources -= [
86 "api/audio/audio_service_linux.cc",
87 "api/music_manager_private/device_id_linux.cc",
88 ]
[email protected]fb2799e2014-07-15 23:50:2989 configs += [ "//build/config/linux:dbus" ]
90 deps += [
91 "//third_party/libevent",
[email protected]94e77192014-08-12 03:00:0292 "//third_party/protobuf:protobuf_lite",
mukai8c99b882014-10-15 03:07:5993 "//chromeos/ime:gencode",
[email protected]fb2799e2014-07-15 23:50:2994 ]
95 } else {
96 sources += [
97 "default_apps.cc",
98 "default_apps.h'"
99 ]
[email protected]94e77192014-08-12 03:00:02100 sources += rebase_path(
101 gypi_values.chrome_browser_extensions_non_chromeos_sources,
102 ".", "//chrome")
[email protected]fb2799e2014-07-15 23:50:29103 }
104
105 if (use_ash) {
106 sources += [
107 "api/tabs/ash_panel_contents.cc",
108 "api/tabs/ash_panel_contents.h",
109 ]
110 }
oshimab70d0f82014-10-02 02:11:26111 if (use_athena) {
112 defines += [ USE_ATHENA ]
113 sources += rebase_path(
114 gypi_values.chrome_browser_extensions_athena_sources,
115 ".", "//chrome")
116 } else {
117 sources += rebase_path(
118 gypi_values.chrome_browser_extensions_non_athena_sources,
119 ".", "//chrome")
120 }
[email protected]fb2799e2014-07-15 23:50:29121
[email protected]94e77192014-08-12 03:00:02122 if (is_linux) {
123 configs += [ "//build/config/linux:fontconfig" ]
124 deps += [ "//dbus" ]
125 if (use_x11) {
126 configs += [
127 "//build/config/linux:x11",
128 ]
129 deps += [
Brett Wilson4263a742014-09-10 00:02:24130 "//ui/events:events_base",
[email protected]94e77192014-08-12 03:00:02131 "//ui/events/platform",
132 "//ui/events/platform/x11",
133 ]
134 }
135 } else {
136 sources += [
137 "api/audio/audio_service.cc",
[email protected]fb2799e2014-07-15 23:50:29138 ]
[email protected]94e77192014-08-12 03:00:02139 }
[email protected]fb2799e2014-07-15 23:50:29140
[email protected]94e77192014-08-12 03:00:02141 if (enable_configuration_policy) {
142 deps += [ "//components/policy" ]
143 sources += [
144 "policy_handlers.cc",
145 "policy_handlers.h",
146 ]
147 sources += rebase_path(
148 gypi_values.chrome_browser_extensions_policy_sources,
149 ".", "//chrome")
150 }
[email protected]fb2799e2014-07-15 23:50:29151
[email protected]94e77192014-08-12 03:00:02152 if (enable_webrtc) {
153 sources += [
154 "api/webrtc_logging_private/webrtc_logging_private_api.cc",
155 ]
156 } else {
157 sources += [
158 "api/webrtc_logging_private/webrtc_logging_private_api_stub.cc",
159 ]
160 }
[email protected]fb2799e2014-07-15 23:50:29161
[email protected]94e77192014-08-12 03:00:02162 if (use_brlapi) {
163 deps += [ "//build/config/linux:libbrlapi" ]
164 sources += rebase_path(gypi_values.chrome_browser_extensions_brlapi_sources,
165 ".", "//chrome")
166 } else {
167 sources += [
168 "api/braille_display_private/braille_controller_stub.cc",
169 ]
170 }
[email protected]fb2799e2014-07-15 23:50:29171
[email protected]94e77192014-08-12 03:00:02172 if (use_aura) {
173 deps += [
174 "//ui/keyboard",
175 "//ui/keyboard:resources",
176 ]
177 }
[email protected]fb2799e2014-07-15 23:50:29178
mukai55134a02014-10-29 00:30:22179 # chromeos uses its own global_shortcut_listener, _x11 is not necessary.
180 if (is_chromeos || !use_x11) {
[email protected]94e77192014-08-12 03:00:02181 sources -= [
182 "global_shortcut_listener_x11.cc",
183 "global_shortcut_listener_x11.h",
184 ]
185 }
[email protected]fb2799e2014-07-15 23:50:29186
[email protected]94e77192014-08-12 03:00:02187 if (safe_browsing_mode == 1) {
188 defines += [ "FULL_SAFE_BROWSING" ]
189 }
190 if (safe_browsing_mode == 2) {
191 defines += [ "MOBILE_SAFE_BROWSING" ]
192 }
[email protected]fb2799e2014-07-15 23:50:29193
[email protected]94e77192014-08-12 03:00:02194 if (is_win || is_mac) {
195 deps += [ "//components/wifi" ]
196 sources += rebase_path(
zentaroc0f330b2014-10-09 19:44:37197 gypi_values.chrome_browser_extensions_networking_private_sources_winmac,
198 ".", "//chrome")
199 }
200
mukai55134a02014-10-29 00:30:22201 if (is_desktop_linux) {
zentaroc0f330b2014-10-09 19:44:37202 sources += rebase_path(
203 gypi_values.chrome_browser_extensions_networking_private_sources_linux,
[email protected]94e77192014-08-12 03:00:02204 ".", "//chrome")
205 }
[email protected]fb2799e2014-07-15 23:50:29206
[email protected]94e77192014-08-12 03:00:02207 if (is_win) {
208 deps += [
209 "//third_party/iaccessible2",
210 "//third_party/isimpledom",
211 ]
212 } else if (!is_chromeos) {
[email protected]723b76b2014-08-21 23:48:59213 sources += [
214 "display_info_provider_aura.cc",
215 "display_info_provider_aura.h",
216 ]
[email protected]94e77192014-08-12 03:00:02217 }
[email protected]fb2799e2014-07-15 23:50:29218
[email protected]94e77192014-08-12 03:00:02219 if (enable_app_list) {
220 sources += rebase_path(
221 gypi_values.chrome_browser_extensions_app_list_sources,
222 ".", "//chrome")
223 }
[email protected]fb2799e2014-07-15 23:50:29224
[email protected]94e77192014-08-12 03:00:02225 if (!use_ozone) {
226 sources -= [
227 "global_shortcut_listener_ozone.cc",
228 ]
[email protected]fb2799e2014-07-15 23:50:29229 }
230}