Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(403)

Side by Side Diff: build/secondary/tools/grit/grit_rule.gni

Issue 761903003: Update from https://crrev.com/306655 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/secondary/tools/grit/BUILD.gn ('k') | build/toolchain/android/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # Instantiate grit. This will produce a script target to run grit, and a 5 # Instantiate grit. This will produce a script target to run grit, and a
6 # static library that compiles the .cc files. 6 # static library that compiles the .cc files.
7 # 7 #
8 # Parameters 8 # Parameters
9 # 9 #
10 # source (required) 10 # source (required)
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 # source = "myfile.grd" 64 # source = "myfile.grd"
65 # outputs = [ 65 # outputs = [
66 # "foo_strings.h", 66 # "foo_strings.h",
67 # "foo_strings.pak", 67 # "foo_strings.pak",
68 # ] 68 # ]
69 # 69 #
70 # grit_flags = [ "-E", "foo=bar" ] # Optional extra flags. 70 # grit_flags = [ "-E", "foo=bar" ] # Optional extra flags.
71 # # You can also put deps here if the grit source depends on generated 71 # # You can also put deps here if the grit source depends on generated
72 # # files. 72 # # files.
73 # } 73 # }
74 import ("//build/config/crypto.gni") 74 import("//build/config/crypto.gni")
75 import ("//build/config/features.gni") 75 import("//build/config/features.gni")
76 import ("//build/config/ui.gni") 76 import("//build/config/ui.gni")
77 77
78 grit_defines = [] 78 grit_defines = []
79 79
80 # Mac and iOS want Title Case strings. 80 # Mac and iOS want Title Case strings.
81 use_titlecase_in_grd_files = is_mac || is_ios 81 use_titlecase_in_grd_files = is_mac || is_ios
82 if (use_titlecase_in_grd_files) { 82 if (use_titlecase_in_grd_files) {
83 grit_defines += [ "-D", "use_titlecase" ] 83 grit_defines += [
84 "-D",
85 "use_titlecase",
86 ]
84 } 87 }
85 88
86 if (is_chrome_branded) { 89 if (is_chrome_branded) {
87 grit_defines += [ 90 grit_defines += [
88 "-D", "_google_chrome", 91 "-D",
89 "-E", "CHROMIUM_BUILD=google_chrome", 92 "_google_chrome",
93 "-E",
94 "CHROMIUM_BUILD=google_chrome",
90 ] 95 ]
91 } else { 96 } else {
92 grit_defines += [ 97 grit_defines += [
93 "-D", "_chromium", 98 "-D",
94 "-E", "CHROMIUM_BUILD=chromium", 99 "_chromium",
100 "-E",
101 "CHROMIUM_BUILD=chromium",
95 ] 102 ]
96 } 103 }
97 104
98 if (is_chromeos) { 105 if (is_chromeos) {
99 grit_defines += [ 106 grit_defines += [
100 "-D", "chromeos", 107 "-D",
101 "-D", "scale_factors=2x" 108 "chromeos",
109 "-D",
110 "scale_factors=2x",
102 ] 111 ]
103 } 112 }
104 113
105 if (is_desktop_linux) { 114 if (is_desktop_linux) {
106 grit_defines += [ "-D", "desktop_linux" ] 115 grit_defines += [
116 "-D",
117 "desktop_linux",
118 ]
107 } 119 }
108 120
109 if (toolkit_views) { 121 if (toolkit_views) {
110 grit_defines += [ "-D", "toolkit_views" ] 122 grit_defines += [
123 "-D",
124 "toolkit_views",
125 ]
111 } 126 }
112 127
113 if (use_aura) { 128 if (use_aura) {
114 grit_defines += [ "-D", "use_aura" ] 129 grit_defines += [
130 "-D",
131 "use_aura",
132 ]
115 } 133 }
116 134
117 if (use_ash) { 135 if (use_ash) {
118 grit_defines += [ "-D", "use_ash" ] 136 grit_defines += [
137 "-D",
138 "use_ash",
139 ]
119 } 140 }
120 141
121 if (use_nss_certs) { 142 if (use_nss_certs) {
122 grit_defines += [ "-D", "use_nss" ] 143 grit_defines += [
144 "-D",
145 "use_nss",
146 ]
123 } 147 }
124 148
125 if (use_ozone) { 149 if (use_ozone) {
126 grit_defines += [ "-D", "use_ozone" ] 150 grit_defines += [
151 "-D",
152 "use_ozone",
153 ]
127 } 154 }
128 155
129 if (enable_image_loader_extension) { 156 if (enable_image_loader_extension) {
130 grit_defines += [ "-D", "image_loader_extension" ] 157 grit_defines += [
158 "-D",
159 "image_loader_extension",
160 ]
131 } 161 }
132 162
133 if (enable_remoting) { 163 if (enable_remoting) {
134 grit_defines += [ "-D", "remoting" ] 164 grit_defines += [
165 "-D",
166 "remoting",
167 ]
135 } 168 }
136 169
137 if (is_android) { 170 if (is_android) {
138 grit_defines += [ 171 grit_defines += [
139 "-t", "android", 172 "-t",
140 "-E", "ANDROID_JAVA_TAGGED_ONLY=true", 173 "android",
174 "-E",
175 "ANDROID_JAVA_TAGGED_ONLY=true",
141 ] 176 ]
142 } 177 }
143 178
144 if (is_mac || is_ios) { 179 if (is_mac || is_ios) {
145 grit_defines += [ "-D", "scale_factors=2x" ] 180 grit_defines += [
181 "-D",
182 "scale_factors=2x",
183 ]
146 } 184 }
147 185
148 if (is_ios) { 186 if (is_ios) {
149 grit_defines += [ 187 grit_defines += [
150 "-t", "ios", 188 "-t",
189 "ios",
190
151 # iOS uses a whitelist to filter resources. 191 # iOS uses a whitelist to filter resources.
152 "-w", rebase_path("//build/ios/grit_whitelist.txt", root_build_dir), 192 "-w",
193 rebase_path("//build/ios/grit_whitelist.txt", root_build_dir),
153 ] 194 ]
154 } 195 }
155 196
156 if (enable_extensions) { 197 if (enable_extensions) {
157 grit_defines += [ "-D", "enable_extensions" ] 198 grit_defines += [
199 "-D",
200 "enable_extensions",
201 ]
158 } 202 }
159 if (enable_plugins) { 203 if (enable_plugins) {
160 grit_defines += [ "-D", "enable_plugins" ] 204 grit_defines += [
205 "-D",
206 "enable_plugins",
207 ]
161 } 208 }
162 if (enable_basic_printing || enable_print_preview) { 209 if (enable_basic_printing || enable_print_preview) {
163 grit_defines += [ "-D", "enable_printing" ] 210 grit_defines += [
211 "-D",
212 "enable_printing",
213 ]
164 if (enable_print_preview) { 214 if (enable_print_preview) {
165 grit_defines += [ "-D", "enable_print_preview" ] 215 grit_defines += [
216 "-D",
217 "enable_print_preview",
218 ]
166 } 219 }
167 } 220 }
168 if (enable_themes) { 221 if (enable_themes) {
169 grit_defines += [ "-D", "enable_themes" ] 222 grit_defines += [
223 "-D",
224 "enable_themes",
225 ]
170 } 226 }
171 if (enable_app_list) { 227 if (enable_app_list) {
172 grit_defines += [ "-D", "enable_app_list" ] 228 grit_defines += [
229 "-D",
230 "enable_app_list",
231 ]
173 } 232 }
174 if (enable_settings_app) { 233 if (enable_settings_app) {
175 grit_defines += [ "-D", "enable_settings_app" ] 234 grit_defines += [
235 "-D",
236 "enable_settings_app",
237 ]
176 } 238 }
177 if (enable_google_now) { 239 if (enable_google_now) {
178 grit_defines += [ "-D", "enable_google_now" ] 240 grit_defines += [
179 } 241 "-D",
242 "enable_google_now",
243 ]
244 }
245
180 # Note: use_concatenated_impulse_responses is omitted. It is never used and 246 # Note: use_concatenated_impulse_responses is omitted. It is never used and
181 # should probably be removed from GYP build. 247 # should probably be removed from GYP build.
182 if (enable_webrtc) { 248 if (enable_webrtc) {
183 grit_defines += [ "-D", "enable_webrtc" ] 249 grit_defines += [
184 } 250 "-D",
185 # Note: enable_hangout_services_extension is omitted. It is never set in the 251 "enable_webrtc",
186 # GYP build. Need to figure out what it's for. 252 ]
253 }
254 if (enable_hangout_services_extension) {
255 grit_defines += [
256 "-D",
257 "enable_hangout_services_extension",
258 ]
259 }
187 if (enable_task_manager) { 260 if (enable_task_manager) {
188 grit_defines += [ "-D", "enable_task_manager" ] 261 grit_defines += [
262 "-D",
263 "enable_task_manager",
264 ]
189 } 265 }
190 if (enable_notifications) { 266 if (enable_notifications) {
191 grit_defines += [ "-D", "enable_notifications" ] 267 grit_defines += [
268 "-D",
269 "enable_notifications",
270 ]
192 } 271 }
193 if (enable_wifi_bootstrapping) { 272 if (enable_wifi_bootstrapping) {
194 grit_defines += [ "-D", "enable_wifi_bootstrapping" ] 273 grit_defines += [
274 "-D",
275 "enable_wifi_bootstrapping",
276 ]
195 } 277 }
196 if (enable_service_discovery) { 278 if (enable_service_discovery) {
197 grit_defines += [ "-D", "enable_service_discovery" ] 279 grit_defines += [
280 "-D",
281 "enable_service_discovery",
282 ]
198 } 283 }
199 284
200 grit_resource_id_file = "//tools/gritsettings/resource_ids" 285 grit_resource_id_file = "//tools/gritsettings/resource_ids"
201 grit_info_script = "//tools/grit/grit_info.py" 286 grit_info_script = "//tools/grit/grit_info.py"
202 287
203 template("grit") { 288 template("grit") {
204 assert(defined(invoker.source), 289 assert(defined(invoker.source),
205 "\"source\" must be defined for the grit template $target_name") 290 "\"source\" must be defined for the grit template $target_name")
206 291
207 if (defined(invoker.resource_ids)) { 292 if (defined(invoker.resource_ids)) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 assert_files_flags = [] 326 assert_files_flags = []
242 327
243 # We want to make sure the declared outputs actually match what Grit is 328 # We want to make sure the declared outputs actually match what Grit is
244 # writing. We write the list to a file (some of the output lists are long 329 # writing. We write the list to a file (some of the output lists are long
245 # enough to not fit on a Windows command line) and ask Grit to verify those 330 # enough to not fit on a Windows command line) and ask Grit to verify those
246 # are the actual outputs at runtime. 331 # are the actual outputs at runtime.
247 asserted_list_file = 332 asserted_list_file =
248 "$target_out_dir/${grit_output_name}_expected_outputs.txt" 333 "$target_out_dir/${grit_output_name}_expected_outputs.txt"
249 write_file(asserted_list_file, 334 write_file(asserted_list_file,
250 rebase_path(invoker.outputs, root_build_dir, output_dir)) 335 rebase_path(invoker.outputs, root_build_dir, output_dir))
251 assert_files_flags += [ 336 assert_files_flags += [ "--assert-file-list=" +
252 "--assert-file-list=" + rebase_path(asserted_list_file, root_build_dir), 337 rebase_path(asserted_list_file, root_build_dir) ]
253 ] 338 grit_outputs =
254 grit_outputs = get_path_info( 339 get_path_info(rebase_path(invoker.outputs, ".", output_dir), "abspath")
255 rebase_path(invoker.outputs, ".", output_dir),
256 "abspath")
257 340
258 # The config and the action below get this visibility son only the generated 341 # The config and the action below get this visibility son only the generated
259 # source set can depend on them. The variable "target_name" will get 342 # source set can depend on them. The variable "target_name" will get
260 # overwritten inside the inner classes so we need to compute it here. 343 # overwritten inside the inner classes so we need to compute it here.
261 target_visibility = [ ":$target_name" ] 344 target_visibility = [ ":$target_name" ]
262 345
263 # The current grit setup makes an file in $output_dir/grit/foo.h that 346 # The current grit setup makes an file in $output_dir/grit/foo.h that
264 # the source code expects to include via "grit/foo.h". It would be nice to 347 # the source code expects to include via "grit/foo.h". It would be nice to
265 # change this to including absolute paths relative to the root gen directory 348 # change this to including absolute paths relative to the root gen directory
266 # (like "mycomponent/foo.h"). This config sets up the include path. 349 # (like "mycomponent/foo.h"). This config sets up the include path.
267 grit_config = target_name + "_grit_config" 350 grit_config = target_name + "_grit_config"
268 config(grit_config) { 351 config(grit_config) {
269 if (!defined(invoker.use_qualified_include) || 352 if (!defined(invoker.use_qualified_include) ||
270 !invoker.use_qualified_include) { 353 !invoker.use_qualified_include) {
271 include_dirs = [ output_dir ] 354 include_dirs = [ output_dir ]
272 } 355 }
273 visibility = target_visibility 356 visibility = target_visibility
274 } 357 }
275 358
276 grit_custom_target = target_name + "_grit" 359 grit_custom_target = target_name + "_grit"
277 action(grit_custom_target) { 360 action(grit_custom_target) {
278 script = "//tools/grit/grit.py" 361 script = "//tools/grit/grit.py"
279 inputs = grit_inputs 362 inputs = grit_inputs
280 outputs = grit_outputs 363 outputs = grit_outputs
281 depfile = "$output_dir/${grit_output_name}.d" 364 depfile = "$output_dir/${grit_output_name}.d"
282 365
283 args = [ 366 args = [
284 "-i", source_path, "build", 367 "-i",
368 source_path,
369 "build",
285 ] 370 ]
286 if (resource_ids != "") { 371 if (resource_ids != "") {
287 args += [ "-f", resource_ids ] 372 args += [
373 "-f",
374 resource_ids,
375 ]
288 } 376 }
289 args += [ 377 args += [
290 "-o", rebased_output_dir, 378 "-o",
291 "--depdir", ".", 379 rebased_output_dir,
292 "--depfile", rebase_path(depfile, root_build_dir), 380 "--depdir",
293 ] + grit_defines 381 ".",
382 "--depfile",
383 rebase_path(depfile, root_build_dir),
384 ] + grit_defines
294 385
295 # Add extra defines with -D flags. 386 # Add extra defines with -D flags.
296 if (defined(invoker.defines)) { 387 if (defined(invoker.defines)) {
297 foreach (i, invoker.defines) { 388 foreach(i, invoker.defines) {
298 args += [ "-D", i ] 389 args += [
390 "-D",
391 i,
392 ]
299 } 393 }
300 } 394 }
301 395
302 args += grit_flags + assert_files_flags 396 args += grit_flags + assert_files_flags
303 397
304 if (defined(invoker.visibility)) { 398 if (defined(invoker.visibility)) {
305 # This needs to include both what the invoker specified (since they 399 # This needs to include both what the invoker specified (since they
306 # probably include generated headers from this target), as well as the 400 # probably include generated headers from this target), as well as the
307 # generated source set (since there's no guarantee that the visibility 401 # generated source set (since there's no guarantee that the visibility
308 # specified by the invoker includes our target). 402 # specified by the invoker includes our target).
309 # 403 #
310 # Only define visibility at all if the invoker specified it. Otherwise, 404 # Only define visibility at all if the invoker specified it. Otherwise,
311 # we want to keep the public "no visibility specified" default. 405 # we want to keep the public "no visibility specified" default.
312 visibility = target_visibility + invoker.visibility 406 visibility = target_visibility + invoker.visibility
313 } 407 }
314 408
315 deps = [ "//tools/grit:grit_sources" ] 409 deps = [
410 "//tools/grit:grit_sources",
411 ]
316 if (defined(invoker.deps)) { 412 if (defined(invoker.deps)) {
317 deps += invoker.deps 413 deps += invoker.deps
318 } 414 }
319 } 415 }
320 416
321 # This is the thing that people actually link with, it must be named the 417 # This is the thing that people actually link with, it must be named the
322 # same as the argument the template was invoked with. 418 # same as the argument the template was invoked with.
323 source_set(target_name) { 419 source_set(target_name) {
324 # Since we generate a file, we need to be run before the targets that 420 # Since we generate a file, we need to be run before the targets that
325 # depend on us. 421 # depend on us.
326 sources = grit_outputs 422 sources = grit_outputs
327 423
328 # Deps set on the template invocation will go on the grit script running 424 # Deps set on the template invocation will go on the grit script running
329 # target rather than this library. 425 # target rather than this library.
330 deps = [ ":$grit_custom_target" ] 426 deps = [
427 ":$grit_custom_target",
428 ]
331 public_configs = [ ":$grit_config" ] 429 public_configs = [ ":$grit_config" ]
332 430
333 if (defined(invoker.public_configs)) { 431 if (defined(invoker.public_configs)) {
334 public_configs += invoker.public_configs 432 public_configs += invoker.public_configs
335 } 433 }
336 434
337 if (defined(invoker.visibility)) { 435 if (defined(invoker.visibility)) {
338 visibility = invoker.visibility 436 visibility = invoker.visibility
339 } 437 }
340 output_name = grit_output_name 438 output_name = grit_output_name
341 } 439 }
342 } 440 }
OLDNEW
« no previous file with comments | « build/secondary/tools/grit/BUILD.gn ('k') | build/toolchain/android/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698