Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / tools / gn / secondary / chrome / BUILD.gn
1 # Copyright (c) 2013 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/ui.gni")
6 import("//crypto/ssl/flags.gni")
7 import("//tools/grit/grit_rule.gni")
8
9 executable("chrome") {
10   sources = [
11     "app/breakpad_field_trial_win.cc",
12     "app/breakpad_field_trial_win.h",
13     "app/breakpad_win.cc",
14     "app/breakpad_win.h",
15     "app/chrome_dll_resource.h",
16     "app/chrome_exe_main_aura.cc",
17     "app/chrome_exe_main_gtk.cc",
18     "app/chrome_exe_main_mac.cc",
19     "app/chrome_exe_main_win.cc",
20     "app/chrome_exe_resource.h",
21     "app/chrome_main.cc",
22     "app/chrome_main_delegate.cc",
23     "app/chrome_main_delegate.h",
24     "app/client_util.cc",
25     "app/client_util.h",
26     "app/hard_error_handler_win.cc",
27     "app/hard_error_handler_win.h",
28     "app/metro_driver_win.cc",
29     "app/metro_driver_win.h",
30     "../content/app/startup_helper_win.cc",
31   ]
32
33   if (is_linux) {
34     configs += [
35       # TODO(brettw) this is wrong, it should be picked up from deps.
36       "//build/config/linux:gtk",
37       "//build/config/linux:x11",
38     ]
39   }
40
41   deps = [
42     # TODO(brettw) this is right on linux? Everything is linked into the
43     # exe, but wrong on Windows, where chrome_exe and chrome_dll are separate.
44     ":browser",
45     ":common",
46     ":debugger",
47     ":plugin",
48     ":renderer",
49     ":utility",
50     "//base",
51   ]
52
53   # TODO(brettw) this isn't right for all platforms.
54   if (!use_aura) {
55     sources -= [ "app/chrome_exe_main_aura.cc" ]
56   }
57
58   if (!is_win) {
59     sources -= [
60       "app/client_util.cc",
61       "app/client_util.h",
62     ]
63   }
64 }
65
66 static_library("browser") {
67   external = true
68
69   if (is_linux) {
70     if (toolkit_uses_gtk) {
71       libs = [ "gconf-2" ]
72     }
73   }
74   if (is_linux) {
75     configs += [
76       "//build/config/linux:x11",
77     ]
78   }
79
80   deps = [
81     "//third_party/expat",
82   ]
83 }
84
85 static_library("common") {
86   external = true
87
88   if (use_nss && is_linux) {
89     # common/net uses NSS.
90     # TODO(brettw) have a better way to express this without having to do
91     # "if (use_nss)" everywhere.
92     configs += [ "//third_party/nss:nss_linux_config" ]
93   }
94   deps = [
95   ]
96 }
97
98 # TODO(brettw) move to browser/devtools/BUILD.gn
99 source_set("debugger") {
100   sources = [
101     "browser/devtools/adb/android_rsa.cc",
102     "browser/devtools/adb/android_rsa.h",
103     "browser/devtools/adb/android_usb_device.cc",
104     "browser/devtools/adb/android_usb_device.h",
105     "browser/devtools/adb/android_usb_socket.cc",
106     "browser/devtools/adb/android_usb_socket.h",
107     "browser/devtools/adb_client_socket.cc",
108     "browser/devtools/adb_client_socket.h",
109     "browser/devtools/adb_web_socket.cc",
110     "browser/devtools/adb_web_socket.h",
111     "browser/devtools/browser_list_tabcontents_provider.cc",
112     "browser/devtools/browser_list_tabcontents_provider.h",
113     "browser/devtools/devtools_adb_bridge.cc",
114     "browser/devtools/devtools_adb_bridge.h",
115     "browser/devtools/devtools_contents_resizing_strategy.cc",
116     "browser/devtools/devtools_contents_resizing_strategy.h",
117     "browser/devtools/devtools_embedder_message_dispatcher.cc",
118     "browser/devtools/devtools_embedder_message_dispatcher.h",
119     "browser/devtools/devtools_file_helper.cc",
120     "browser/devtools/devtools_file_helper.h",
121     "browser/devtools/devtools_file_system_indexer.cc",
122     "browser/devtools/devtools_file_system_indexer.h",
123     "browser/devtools/devtools_protocol.cc",
124     "browser/devtools/devtools_protocol.h",
125     "browser/devtools/devtools_toggle_action.h",
126     "browser/devtools/devtools_window.cc",
127     "browser/devtools/devtools_window.h",
128     "browser/devtools/port_forwarding_controller.cc",
129     "browser/devtools/port_forwarding_controller.h",
130     "browser/devtools/remote_debugging_server.cc",
131     "browser/devtools/remote_debugging_server.h",
132   ]
133
134   deps = [
135 #    ":chrome_extra_resources",
136 #    ":chrome_resources",
137 #    ":chrome_strings",
138 #    ":theme_resources",
139     "//base",
140     "//net",
141     "//net:http_server",
142     "//skia",
143     "//third_party/icu:icui18n",
144     "//third_party/icu:icuuc",
145     "//third_party/leveldatabase",
146     "//third_party/libusb",
147   ]
148
149   if (is_android) {
150     sources -= [
151       "browser/devtools/adb/android_rsa.cc",
152       "browser/devtools/browser_list_tabcontents_provider.cc",
153       "browser/devtools/devtools_file_system_indexer.cc",
154       "browser/devtools/devtools_window.cc",
155       "browser/devtools/remote_debugging_server.cc",
156     ]
157     deps -= [ "//third_party/libusb" ]
158   }
159
160   # TODO implement debug_devtools
161   # if (debug_devtools) {
162   #   defines = [ "DEBUG_DEVTOOLS=1" ]
163   # }
164   # TODO(brettw) this may be required on Windows:
165   # if (is_win) {
166   #   TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
167   #   'msvs_disabled_warnings': [ 4267, ]
168   # }
169
170 }
171
172 source_set("plugin") {
173   external = true
174 }
175
176 source_set("renderer") {
177   external = true
178 }
179
180 source_set("utility") {
181   external = true
182 }
183
184
185 # Credits ----------------------------------------------------------------------
186
187 about_credits_file = "$root_gen_dir/about_credits.html"
188 build_relative_about_credits_file =
189   rebase_path(about_credits_file, ".", root_build_dir)
190
191 custom("about_credits") {
192   script = "//tools/licenses.py"
193   outputs = [ about_credits_file ]
194
195   # This script is impossible to write proper input dependencies for because it
196   # basically greps the source tree for third_party directories. If a directory
197   # is added or removed, it will change the result, but there is no way to
198   # express this as a build dependency. We approximate this by depending on
199   # the last change file to force an update whenever the code is updated.
200   source_prereqs = [ "//build/util/LASTCHANGE" ]
201
202   hard_dep = true
203
204   args = [ "credits", build_relative_about_credits_file ]
205 }
206
207 # Resources --------------------------------------------------------------------
208
209 #group("chrome_resources") {
210 #  deps = [
211 #    ":browser_resources",
212 #    ":common_resources",
213 #    ":renderer_resources",
214 #  ]
215 #}
216 #grit("browser_resources") {
217 #  source = "browser/browser_resources.grd"
218 #  grit_flags = [ "-E", "about_credits_file=$build_relative_about_credits_file" ]
219 #  deps = [ ":about_credits" ]
220 #}
221 #grit("common_resources") {
222 #  source = "common/common_resources.grd"
223 #}
224 #grit("renderer_resources") {
225 #  source = "renderer/resources/renderer_resources.grd"
226 #}
227 #
228 #group("chrome_strings") {
229 #  deps = [
230 #    ":locale_settings",
231 #    ":chromium_strings",
232 #    ":generated_resources",
233 #    ":google_chrome_strings",
234 #  ]
235 #}
236 #grit("locale_settings") {
237 #  source = "app/resources/locale_settings.grd"
238 #}
239 #grit("chromium_strings") {
240 #  source = "app/chromium_strings.grd"
241 #}
242 #grit("generated_resources") {
243 #  source = "app/generated_resources.grd"
244 #}
245 #grit("google_chrome_strings") {
246 #  source = "app/google_chrome_strings.grd"
247 #}
248 #
249 #group("chrome_extra_resources") {
250 #  deps = [
251 #    ":memory_internals_resources",
252 #    ":net_internals_resources",
253 #    ":signin_internals_resources",
254 #    ":sync_internals_resources",
255 #    ":translate_internals_resources",
256 #  ]
257 #
258 #  if (!is_ios) {
259 #    deps += [
260 #      ":component_extension_resources",
261 #      ":devtools_discovery_page_resources",
262 #      ":options_resources",
263 #      ":quota_internals_resources",
264 #      ":sync_file_system_internals_resources",
265 #    ]
266 #  }
267 #}
268 #grit("component_extension_resources") {
269 #  source = "browser/resources/component_extension_resources.grd"
270 #}
271 #grit("devtools_discovery_page_resources") {
272 #  source = "browser/devtools/frontend/devtools_discovery_page_resources.grd"
273 #}
274 #grit("memory_internals_resources") {
275 #  source = "browser/resources/memory_internals_resources.grd"
276 #}
277 #grit("quota_internals_resources") {
278 #  source = "browser/resources/quota_internals_resources.grd"
279 #}
280 #grit("net_internals_resources") {
281 #  source = "browser/resources/net_internals_resources.grd"
282 #}
283 #grit("options_resources") {
284 #  source = "browser/resources/options_resources.grd"
285 #}
286 #grit("signin_internals_resources") {
287 #  source = "browser/resources/signin_internals_resources.grd"
288 #}
289 #grit("sync_file_system_internals_resources") {
290 #  source = "browser/resources/sync_file_system_internals_resources.grd"
291 #}
292 #grit("sync_internals_resources") {
293 #  source = "browser/resources/sync_internals_resources.grd"
294 #}
295 #grit("translate_internals_resources") {
296 #  source = "browser/resources/translate_internals_resources.grd"
297 #}
298 #
299 #group("theme_resources") {
300 #  deps = [
301 #    ":theme_resources_gen",
302 #    #"//ui:ui_resources",
303 #  ]
304 #}
305 #
306 ## TODO(brettw) rename "app_theme_resources" or something when we don't support
307 ## GYP any more. This name is required to match the GYP build.
308 #grit("theme_resources_gen") {
309 #  source = "app/theme/theme_resources.grd"
310 #}