Remove EWK_BRINGUPS for M120 #3
[platform/framework/web/chromium-efl.git] / chrome / app / BUILD.gn
1 # Copyright 2014 The Chromium Authors
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/chrome_build.gni")
6 import("//build/config/chromebox_for_meetings/buildflags.gni")
7 import("//build/config/chromeos/ui_mode.gni")
8 import("//build/config/locales.gni")
9 import("//build/config/ui.gni")
10 import("//chrome/common/features.gni")
11 import("//components/nacl/features.gni")
12 import("//crypto/features.gni")
13 import("//ppapi/buildflags/buildflags.gni")
14 import("//tools/grit/grit_rule.gni")
15 import("//tools/ipc_fuzzer/ipc_fuzzer.gni")
16
17 if (is_android) {
18   import("//build/config/android/rules.gni")
19 } else if (is_fuchsia) {
20   import("//build/config/fuchsia/packaged_content_embedder_excluded_dirs.gni")
21   import("//third_party/fuchsia-gn-sdk/src/component.gni")
22   import("//third_party/fuchsia-gn-sdk/src/package.gni")
23 }
24
25 # This target is for dependency tracking for the command ID header.
26 source_set("command_ids") {
27   sources = [ "chrome_command_ids.h" ]
28   public_deps = [
29     "//build:branding_buildflags",
30     "//build:chromeos_buildflags",
31     "//components/services/screen_ai/buildflags",
32   ]
33   deps = [ "//ui/base:constants" ]
34 }
35
36 # On Windows, links chrome_dll.rc. On other platforms, does nothing so you can
37 # unconditionally depend on it.
38 source_set("chrome_dll_resources") {
39   # This source is added unconditionally for include checking on non-Windows
40   # platforms.
41   sources = [ "chrome_dll_resource.h" ]
42
43   deps = [ ":command_ids" ]
44
45   if (is_win) {
46     sources += [
47       "chrome_dll.rc",
48       "etw_events/chrome_events_win.rc",
49     ]
50
51     deps += [
52       "//build:branding_buildflags",
53       "//printing/buildflags",
54     ]
55   }
56 }
57
58 if (is_win) {
59   source_set("chrome_exe_main_exports") {
60     sources = [ "chrome_exe_main_win.h" ]
61   }
62
63   source_set("exit_code_watcher") {
64     sources = [
65       "exit_code_watcher_win.cc",
66       "exit_code_watcher_win.h",
67     ]
68     public_deps = [ "//base:base" ]
69   }
70
71   source_set("win_unit_tests") {
72     testonly = true
73     sources = [
74       "chrome_crash_reporter_client_win_unittest.cc",
75       "exit_code_watcher_win_unittest.cc",
76     ]
77     deps = [
78       ":exit_code_watcher",
79       "//base:base",
80       "//base/test:test_support",
81       "//chrome/chrome_elf:crash",
82       "//testing/gtest:gtest",
83     ]
84   }
85 }
86
87 if (is_mac) {
88   source_set("notification_metrics") {
89     sources = [
90       "notification_metrics.cc",
91       "notification_metrics.h",
92     ]
93     deps = [ "//base" ]
94   }
95 }
96
97 if (is_android) {
98   android_generated_java_resources =
99       [ "java/res/values/generated_resources.xml" ] +
100       process_file_template(
101           android_bundle_locales_as_resources,
102           [ "java/res/values-{{source_name_part}}/generated_resources.xml" ])
103
104   strings_java_resources = [ "java/res/values/${branding_path_product}_strings.xml" ] + process_file_template(
105                                android_bundle_locales_as_resources,
106                                [ "java/res/values-{{source_name_part}}/${branding_path_product}_strings.xml" ])
107 }
108
109 grit("generated_resources") {
110   source = "generated_resources.grd"
111   defines = chrome_grit_defines + [ "is_cfm=${is_cfm}" ]
112   output_dir = "$root_gen_dir/chrome"
113   outputs =
114       [ "grit/generated_resources.h" ] +
115       process_file_template(all_chrome_locales,
116                             [ "generated_resources_{{source_name_part}}.pak" ])
117   if (is_android) {
118     outputs += android_generated_java_resources
119   }
120 }
121
122 if (is_android) {
123   java_strings_grd_prebuilt("java_strings_grd") {
124     grit_output_dir = "$root_gen_dir/chrome/java/res"
125     generated_files =
126         rebase_path(android_generated_java_resources, "java/res", ".") +
127         rebase_path(strings_java_resources, "java/res", ".")
128     deps = [
129       ":branded_strings",
130       ":generated_resources",
131     ]
132   }
133 }
134
135 grit("branded_strings") {
136   source = "${branding_path_product}_strings.grd"
137   defines = chrome_grit_defines
138   output_dir = "$root_gen_dir/chrome"
139   outputs = [ "grit/branded_strings.h" ] +
140             process_file_template(
141                 all_chrome_locales,
142                 [ "${branding_path_product}_strings_{{source_name_part}}.pak" ])
143
144   if (is_android) {
145     outputs += strings_java_resources
146   }
147 }
148
149 static_library("test_support") {
150   testonly = true
151   visibility = [ "//chrome/test:test_support" ]
152
153   sources = [
154     "chrome_main_delegate.cc",
155     "chrome_main_delegate.h",
156   ]
157
158   deps = [
159     "//base",
160     "//build:chromeos_buildflags",
161     "//chrome/browser",
162     "//chrome/browser:buildflags",
163     "//chrome/browser/policy:path_parser",
164     "//chrome/child",
165     "//chrome/common",
166     "//chrome/common:version_header",
167     "//chrome/gpu",
168     "//chrome/renderer",
169     "//chrome/utility",
170     "//components/about_ui",
171     "//components/devtools/devtools_pipe",
172     "//components/memory_system",
173     "//components/nacl/common:buildflags",
174     "//components/startup_metric_utils",
175     "//content/public/app",
176     "//content/public/common",
177     "//extensions/buildflags",
178     "//ppapi/buildflags",
179     "//printing/buildflags",
180     "//services/tracing/public/cpp",
181     "//ui/base",
182     "//v8:v8_headers",
183   ]
184   public_deps = []
185
186   if (!is_fuchsia) {
187     # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia.
188     deps += [
189       "//components/crash/core/app",
190       "//components/crash/core/app:test_support",
191     ]
192   }
193
194   if (is_android) {
195     deps += [
196       "//chrome/browser/flags:flags_android",
197       "//components/crash/android:crash_android",
198     ]
199   }
200
201   if (is_mac) {
202     sources += [ "chrome_main_mac.mm" ]
203
204     deps += [ "//chrome:chrome_framework" ]
205   }
206
207   if (is_win) {
208     deps += [
209       "//chrome/chrome_elf:test_stubs",
210       "//chrome/install_static:install_static_util",
211       "//sandbox/win:sandbox",
212     ]
213   }
214
215   if (is_chromeos) {
216     deps += [
217       "//chromeos/dbus/constants",
218       "//ui/gfx/linux:gbm",
219     ]
220   }
221
222   if (is_chromeos_ash) {
223     deps += [
224       "//ash/constants",
225       "//chrome/browser/ash",
226       "//chromeos",
227       "//chromeos/ash/components/memory:memory",
228     ]
229     public_deps += [ "//ui/lottie" ]
230   }
231
232   if (is_chromeos_lacros) {
233     deps += [
234       "//chromeos/crosapi/cpp:crosapi_constants",
235       "//chromeos/crosapi/mojom",
236       "//chromeos/lacros",
237       "//chromeos/lacros:lacros_paths",
238       "//chromeos/lacros/dbus",
239       "//chromeos/startup",
240     ]
241   }
242
243   if (enable_plugins && enable_nacl) {
244     deps += [
245       "//components/nacl/browser",
246       "//components/nacl/renderer/plugin:nacl_trusted_plugin",
247     ]
248   }
249 }
250
251 if (is_fuchsia) {
252   # Generate a packaged component, and an installer script to aid development.
253
254   fuchsia_component("chrome_component") {
255     visibility = [ ":*" ]
256     manifest = "chrome.cml"
257     data_deps = [ "//chrome:chrome_initial" ]
258   }
259
260   fuchsia_package("chrome_pkg") {
261     package_name = "chrome"
262     deps = [ ":chrome_component" ]
263
264     excluded_dirs = FUCHSIA_PACKAGED_CONTENT_EMBEDDER_EXCLUDED_DIRS
265   }
266
267   fuchsia_package_installer("chrome_fuchsia") {
268     visibility = [
269       ":*",  # See https://crbug.com/1328459#c4.
270       "//:gn_all",
271       "//chrome/test/*",
272       "//content/test/*",
273     ]
274     package = ":chrome_pkg"
275     package_name = "chrome"
276   }
277 }