Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / BUILD.gn
1 # 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
5 import("//build/config/crypto.gni")
6 import("//build/config/features.gni")
7 import("//build/config/ui.gni")
8
9 gypi_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
16 static_library("extensions") {
17   sources = []
18   sources += rebase_path(
19       gypi_values.chrome_browser_extensions_enabled_sources,
20       ".", "//chrome")
21
22   defines = []
23
24   # 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.
29   public_deps = [
30     "//chrome/common/extensions/api",
31     "//content/public/browser",
32   ]
33   deps = [
34     "//chrome:extra_resources",
35     "//chrome:resources",
36     "//chrome:strings",
37     "//chrome/app/resources:platform_locale_settings",
38     "//chrome/app/theme:theme_resources",
39     "//chrome/browser/devtools",
40     "//chrome/browser/history:in_memory_url_index_cache_proto",
41     "//chrome/common",
42     "//chrome/common/extensions/api:api_registration",
43     "//chrome/common/net",
44     "//chrome/common/safe_browsing:proto",
45     "//chrome/installer/util",
46     "//components/copresence",
47     "//components/omaha_query_params",
48     "//components/onc",
49     "//components/proximity_auth",
50     "//components/strings",
51     "//components/url_matcher",
52     "//content/app/resources",
53     "//content/public/common",
54     "//crypto",
55     "//device/bluetooth",
56     "//device/hid",
57     "//extensions/browser",
58     "//extensions/common/api",
59     "//extensions/common/api:api_registration",
60     "//extensions/strings",
61     "//net",
62     "//skia",
63     "//storage/common",
64     "//sync",
65     "//third_party/WebKit/public:resources",
66     "//third_party/cacheinvalidation",
67     "//third_party/icu",
68     "//third_party/leveldatabase",
69     "//third_party/re2",
70     "//third_party/webrtc/modules/desktop_capture",
71     "//ui/accessibility:ax_gen",
72     "//ui/base",
73     "//ui/gfx",
74     "//ui/gfx/geometry",
75     "//ui/resources",
76     "//ui/strings",
77     "//url",
78     "//storage/browser",
79   ]
80
81   if (is_chromeos) {
82     sources += rebase_path(
83         gypi_values.chrome_browser_extensions_chromeos_sources,
84         ".", "//chrome")
85     configs += [ "//build/config/linux:dbus" ]
86     deps += [
87       "//third_party/libevent",
88       "//third_party/protobuf:protobuf_lite",
89       #'../chromeos/ime/input_method.gyp:gencode',  TODO(GYP)
90     ]
91   } else {
92     sources += [
93       "default_apps.cc",
94       "default_apps.h'"
95     ]
96     sources += rebase_path(
97         gypi_values.chrome_browser_extensions_non_chromeos_sources,
98         ".", "//chrome")
99   }
100
101   if (use_ash) {
102     sources += [
103       "api/tabs/ash_panel_contents.cc",
104       "api/tabs/ash_panel_contents.h",
105     ]
106   }
107   if (!use_athena) {
108     sources += rebase_path(
109         gypi_values.chrome_browser_extensions_non_athena_sources,
110         ".", "//chrome")
111   }
112
113   if (is_linux) {
114     configs += [ "//build/config/linux:fontconfig" ]
115     deps += [ "//dbus" ]
116     if (use_x11) {
117       configs += [
118         "//build/config/linux:x11",
119       ]
120       deps += [
121         "//ui/events:events_base",
122         "//ui/events/platform",
123         "//ui/events/platform/x11",
124       ]
125     }
126   } else {
127     sources += [
128       "api/audio/audio_service.cc",
129     ]
130   }
131
132   if (enable_configuration_policy) {
133     deps += [ "//components/policy" ]
134     sources += [
135       "policy_handlers.cc",
136       "policy_handlers.h",
137     ]
138     sources += rebase_path(
139         gypi_values.chrome_browser_extensions_policy_sources,
140         ".", "//chrome")
141   }
142
143   if (enable_webrtc) {
144     sources += [
145       "api/webrtc_logging_private/webrtc_logging_private_api.cc",
146     ]
147   } else {
148     sources += [
149       "api/webrtc_logging_private/webrtc_logging_private_api_stub.cc",
150     ]
151   }
152
153   if (use_brlapi) {
154     deps += [ "//build/config/linux:libbrlapi" ]
155     sources += rebase_path(gypi_values.chrome_browser_extensions_brlapi_sources,
156                            ".", "//chrome")
157   } else {
158     sources += [
159       "api/braille_display_private/braille_controller_stub.cc",
160     ]
161   }
162
163   if (use_aura) {
164     deps += [
165       "//ui/keyboard",
166       "//ui/keyboard:resources",
167     ]
168   }
169
170   if (!use_x11) {
171     sources -= [
172       "global_shortcut_listener_x11.cc",
173       "global_shortcut_listener_x11.h",
174     ]
175   }
176
177   if (safe_browsing_mode == 1) {
178     defines += [ "FULL_SAFE_BROWSING" ]
179   }
180   if (safe_browsing_mode == 2) {
181     defines += [ "MOBILE_SAFE_BROWSING" ]
182   }
183
184   if (is_win || is_mac) {
185     deps += [ "//components/wifi" ]
186     sources += rebase_path(
187         gypi_values.chrome_browser_extensions_networking_private_sources,
188         ".", "//chrome")
189   }
190
191   if (is_win) {
192     deps += [
193       "//third_party/iaccessible2",
194       "//third_party/isimpledom",
195     ]
196   } else if (!is_chromeos) {
197     sources += [
198       "display_info_provider_aura.cc",
199       "display_info_provider_aura.h",
200     ]
201   }
202
203   if (enable_app_list) {
204     sources += rebase_path(
205         gypi_values.chrome_browser_extensions_app_list_sources,
206         ".", "//chrome")
207   }
208
209   if (!use_ozone) {
210     sources -= [
211       "global_shortcut_listener_ozone.cc",
212     ]
213   }
214 }