blob: ddadf69d3e1bd50daaad8137ffa6b0cc5e311ed7 [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
24 # TODO(GYP) remove this when webrtc is ported.
25 configs += [ "//content:webrtc_stub_config" ]
26
27 # Since browser and browser_extensions actually depend on each other,
28 # we must omit the dependency from browser_extensions to browser.
29 # However, this means browser_extensions and browser should more or less
30 # have the same dependencies. Once browser_extensions is untangled from
31 # browser, then we can clean up these dependencies.
32 deps = [
33 "//chrome:extra_resources",
34 "//chrome:resources",
35 "//chrome:strings",
36 "//chrome/app/resources:platform_locale_settings",
[email protected]fb2799e2014-07-15 23:50:2937 "//chrome/app/theme:theme_resources",
[email protected]55699f392014-08-20 22:16:3038 "//chrome/browser/devtools",
[email protected]fb2799e2014-07-15 23:50:2939 "//chrome/browser/history:in_memory_url_index_cache_proto",
[email protected]fb2799e2014-07-15 23:50:2940 "//chrome/common",
41 "//chrome/common/extensions/api",
42 "//chrome/common/net",
43 "//chrome/common/safe_browsing:proto",
[email protected]55699f392014-08-20 22:16:3044 "//chrome/installer/util",
[email protected]6294f0d2014-08-20 17:43:0945 "//components/copresence",
[email protected]55699f392014-08-20 22:16:3046 "//components/omaha_query_params",
[email protected]fb2799e2014-07-15 23:50:2947 "//components/onc",
48 "//components/strings",
49 "//components/url_matcher",
50 "//content/public/browser",
51 "//content/public/common",
52 "//crypto",
[email protected]55699f392014-08-20 22:16:3053 "//device/bluetooth",
54 "//device/hid",
55 "//extensions/browser",
[email protected]fb2799e2014-07-15 23:50:2956 "//extensions/common/api",
57 "//extensions/strings",
58 "//net",
59 "//skia",
60 "//sync",
[email protected]4eebe74d2014-08-13 02:54:4661 "//third_party/WebKit/public:resources",
[email protected]fb2799e2014-07-15 23:50:2962 "//third_party/cacheinvalidation",
63 "//third_party/icu",
64 "//third_party/leveldatabase",
65 "//third_party/re2",
66 "//ui/accessibility:ax_gen",
67 "//ui/base",
68 "//ui/gfx",
69 "//ui/gfx/geometry",
70 "//ui/resources",
71 "//ui/strings",
72 "//url",
[email protected]fb2799e2014-07-15 23:50:2973 "//webkit/browser:storage",
74 "//webkit/common:storage",
[email protected]4eebe74d2014-08-13 02:54:4675 "//webkit/glue/resources",
[email protected]fb2799e2014-07-15 23:50:2976 #"../third_party/webrtc/modules/modules.gyp:desktop_capture", TODO(GYP)
77 ]
78
79 forward_dependent_configs_from = [
80 "//chrome/common/extensions/api",
81 "//content/public/browser",
82 ]
83
84 if (is_chromeos) {
85 sources += rebase_path(
86 gypi_values.chrome_browser_extensions_chromeos_sources,
87 ".", "//chrome")
88 configs += [ "//build/config/linux:dbus" ]
89 deps += [
90 "//third_party/libevent",
[email protected]94e77192014-08-12 03:00:0291 "//third_party/protobuf:protobuf_lite",
[email protected]fb2799e2014-07-15 23:50:2992 #'../chromeos/ime/input_method.gyp:gencode', TODO(GYP)
93 ]
94 } else {
95 sources += [
96 "default_apps.cc",
97 "default_apps.h'"
98 ]
[email protected]94e77192014-08-12 03:00:0299 sources += rebase_path(
100 gypi_values.chrome_browser_extensions_non_chromeos_sources,
101 ".", "//chrome")
[email protected]fb2799e2014-07-15 23:50:29102 }
103
104 if (use_ash) {
105 sources += [
106 "api/tabs/ash_panel_contents.cc",
107 "api/tabs/ash_panel_contents.h",
108 ]
109 }
110
[email protected]94e77192014-08-12 03:00:02111 if (is_linux) {
112 configs += [ "//build/config/linux:fontconfig" ]
113 deps += [ "//dbus" ]
114 if (use_x11) {
115 configs += [
116 "//build/config/linux:x11",
117 ]
118 deps += [
119 "//ui/events/platform",
120 "//ui/events/platform/x11",
121 ]
122 }
123 } else {
124 sources += [
125 "api/audio/audio_service.cc",
[email protected]fb2799e2014-07-15 23:50:29126 ]
[email protected]94e77192014-08-12 03:00:02127 }
[email protected]fb2799e2014-07-15 23:50:29128
[email protected]94e77192014-08-12 03:00:02129 if (enable_configuration_policy) {
130 deps += [ "//components/policy" ]
131 sources += [
132 "policy_handlers.cc",
133 "policy_handlers.h",
134 ]
135 sources += rebase_path(
136 gypi_values.chrome_browser_extensions_policy_sources,
137 ".", "//chrome")
138 }
[email protected]fb2799e2014-07-15 23:50:29139
[email protected]94e77192014-08-12 03:00:02140 if (enable_webrtc) {
141 sources += [
142 "api/webrtc_logging_private/webrtc_logging_private_api.cc",
143 ]
144 } else {
145 sources += [
146 "api/webrtc_logging_private/webrtc_logging_private_api_stub.cc",
147 ]
148 }
[email protected]fb2799e2014-07-15 23:50:29149
[email protected]94e77192014-08-12 03:00:02150 if (use_brlapi) {
151 deps += [ "//build/config/linux:libbrlapi" ]
152 sources += rebase_path(gypi_values.chrome_browser_extensions_brlapi_sources,
153 ".", "//chrome")
154 } else {
155 sources += [
156 "api/braille_display_private/braille_controller_stub.cc",
157 ]
158 }
[email protected]fb2799e2014-07-15 23:50:29159
[email protected]94e77192014-08-12 03:00:02160 if (use_aura) {
161 deps += [
162 "//ui/keyboard",
163 "//ui/keyboard:resources",
164 ]
165 }
[email protected]fb2799e2014-07-15 23:50:29166
[email protected]94e77192014-08-12 03:00:02167 if (!use_x11) {
168 sources -= [
169 "global_shortcut_listener_x11.cc",
170 "global_shortcut_listener_x11.h",
171 ]
172 }
[email protected]fb2799e2014-07-15 23:50:29173
[email protected]94e77192014-08-12 03:00:02174 if (safe_browsing_mode == 1) {
175 defines += [ "FULL_SAFE_BROWSING" ]
176 }
177 if (safe_browsing_mode == 2) {
178 defines += [ "MOBILE_SAFE_BROWSING" ]
179 }
[email protected]fb2799e2014-07-15 23:50:29180
[email protected]94e77192014-08-12 03:00:02181 if (is_win || is_mac) {
182 deps += [ "//components/wifi" ]
183 sources += rebase_path(
184 gypi_values.chrome_browser_extensions_networking_private_sources,
185 ".", "//chrome")
186 }
[email protected]fb2799e2014-07-15 23:50:29187
[email protected]94e77192014-08-12 03:00:02188 if (is_win) {
189 deps += [
190 "//third_party/iaccessible2",
191 "//third_party/isimpledom",
192 ]
193 } else if (!is_chromeos) {
[email protected]723b76b2014-08-21 23:48:59194 sources += [
195 "display_info_provider_aura.cc",
196 "display_info_provider_aura.h",
197 ]
[email protected]94e77192014-08-12 03:00:02198 }
[email protected]fb2799e2014-07-15 23:50:29199
[email protected]94e77192014-08-12 03:00:02200 if (enable_app_list) {
201 sources += rebase_path(
202 gypi_values.chrome_browser_extensions_app_list_sources,
203 ".", "//chrome")
204 }
[email protected]fb2799e2014-07-15 23:50:29205
[email protected]94e77192014-08-12 03:00:02206 if (!use_ozone) {
207 sources -= [
208 "global_shortcut_listener_ozone.cc",
209 ]
[email protected]fb2799e2014-07-15 23:50:29210 }
211}