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

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

Issue 1416683004: Port enable_resource_whitelist_generation GYP->GN (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move cflags to public_config Created 5 years, 1 month 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 | « no previous file | no next file » | 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 # 76 #
77 # grit_flags = [ "-E", "foo=bar" ] # Optional extra flags. 77 # grit_flags = [ "-E", "foo=bar" ] # Optional extra flags.
78 # # You can also put deps here if the grit source depends on generated 78 # # You can also put deps here if the grit source depends on generated
79 # # files. 79 # # files.
80 # } 80 # }
81 import("//build/config/chrome_build.gni") 81 import("//build/config/chrome_build.gni")
82 import("//build/config/crypto.gni") 82 import("//build/config/crypto.gni")
83 import("//build/config/features.gni") 83 import("//build/config/features.gni")
84 import("//build/config/ui.gni") 84 import("//build/config/ui.gni")
85 85
86 declare_args() {
87 # Enables used resource whitelist generation.
88 enable_resource_whitelist_generation = false
89 }
90
86 grit_defines = [] 91 grit_defines = []
87 92
88 # Mac and iOS want Title Case strings. 93 # Mac and iOS want Title Case strings.
89 use_titlecase_in_grd_files = is_mac || is_ios 94 use_titlecase_in_grd_files = is_mac || is_ios
90 if (use_titlecase_in_grd_files) { 95 if (use_titlecase_in_grd_files) {
91 grit_defines += [ 96 grit_defines += [
92 "-D", 97 "-D",
93 "use_titlecase", 98 "use_titlecase",
94 ] 99 ]
95 } 100 }
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 } 333 }
329 334
330 # These are all passed as arguments to the script so have to be relative to 335 # These are all passed as arguments to the script so have to be relative to
331 # the build directory. 336 # the build directory.
332 if (resource_ids != "") { 337 if (resource_ids != "") {
333 resource_ids = rebase_path(resource_ids, root_build_dir) 338 resource_ids = rebase_path(resource_ids, root_build_dir)
334 } 339 }
335 rebased_output_dir = rebase_path(output_dir, root_build_dir) 340 rebased_output_dir = rebase_path(output_dir, root_build_dir)
336 source_path = rebase_path(invoker.source, root_build_dir) 341 source_path = rebase_path(invoker.source, root_build_dir)
337 342
343 grit_flags = []
344 if (enable_resource_whitelist_generation) {
345 grit_flags += [ "-h" ]
346 if (is_win) {
347 grit_flags += [ "#define {textual_id} __pragma(message(\"whitelisted_resou rce_{numeric_id}\")) {numeric_id}" ]
348 } else {
349 grit_flags += [ "#define {textual_id} _Pragma(\"whitelisted_resource_{nume ric_id}\") {numeric_id}" ]
350 }
351 }
338 if (defined(invoker.grit_flags)) { 352 if (defined(invoker.grit_flags)) {
339 grit_flags = invoker.grit_flags 353 grit_flags += invoker.grit_flags
340 } else {
341 grit_flags = [] # These are optional so default to empty list.
342 } 354 }
343 355
344 assert_files_flags = [] 356 assert_files_flags = []
345 357
346 # We want to make sure the declared outputs actually match what Grit is 358 # We want to make sure the declared outputs actually match what Grit is
347 # writing. We write the list to a file (some of the output lists are long 359 # writing. We write the list to a file (some of the output lists are long
348 # enough to not fit on a Windows command line) and ask Grit to verify those 360 # enough to not fit on a Windows command line) and ask Grit to verify those
349 # are the actual outputs at runtime. 361 # are the actual outputs at runtime.
350 asserted_list_file = 362 asserted_list_file =
351 "$target_out_dir/${grit_output_name}_expected_outputs.txt" 363 "$target_out_dir/${grit_output_name}_expected_outputs.txt"
(...skipping 12 matching lines...) Expand all
364 # The current grit setup makes an file in $output_dir/grit/foo.h that 376 # The current grit setup makes an file in $output_dir/grit/foo.h that
365 # the source code expects to include via "grit/foo.h". It would be nice to 377 # the source code expects to include via "grit/foo.h". It would be nice to
366 # change this to including absolute paths relative to the root gen directory 378 # change this to including absolute paths relative to the root gen directory
367 # (like "mycomponent/foo.h"). This config sets up the include path. 379 # (like "mycomponent/foo.h"). This config sets up the include path.
368 grit_config = target_name + "_grit_config" 380 grit_config = target_name + "_grit_config"
369 config(grit_config) { 381 config(grit_config) {
370 if (!defined(invoker.use_qualified_include) || 382 if (!defined(invoker.use_qualified_include) ||
371 !invoker.use_qualified_include) { 383 !invoker.use_qualified_include) {
372 include_dirs = [ output_dir ] 384 include_dirs = [ output_dir ]
373 } 385 }
386
387 if ((is_linux || is_android) && enable_resource_whitelist_generation) {
388 cflags = [
389 "-Wunknown-pragmas",
390 "-Wno-error=unknown-pragmas",
391 ]
392 }
374 visibility = target_visibility 393 visibility = target_visibility
375 } 394 }
376 395
377 grit_custom_target = target_name + "_grit" 396 grit_custom_target = target_name + "_grit"
378 action(grit_custom_target) { 397 action(grit_custom_target) {
379 script = "//tools/grit/grit.py" 398 script = "//tools/grit/grit.py"
380 inputs = grit_inputs 399 inputs = grit_inputs
381 400
382 depfile = "$depfile_dir/${grit_output_name}_stamp.d" 401 depfile = "$depfile_dir/${grit_output_name}_stamp.d"
383 outputs = [ "${depfile}.stamp" ] + grit_outputs 402 outputs = [ "${depfile}.stamp" ] + grit_outputs
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 if (defined(invoker.configs)) { 480 if (defined(invoker.configs)) {
462 configs += invoker.configs 481 configs += invoker.configs
463 } 482 }
464 483
465 if (defined(invoker.visibility)) { 484 if (defined(invoker.visibility)) {
466 visibility = invoker.visibility 485 visibility = invoker.visibility
467 } 486 }
468 output_name = grit_output_name 487 output_name = grit_output_name
469 } 488 }
470 } 489 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698