| OLD | NEW |
| 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 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 assert_files_flags += [ | 251 assert_files_flags += [ |
| 252 "--assert-file-list=" + rebase_path(asserted_list_file, root_build_dir), | 252 "--assert-file-list=" + rebase_path(asserted_list_file, root_build_dir), |
| 253 ] | 253 ] |
| 254 grit_outputs = get_path_info( | 254 grit_outputs = get_path_info( |
| 255 rebase_path(invoker.outputs, ".", output_dir), | 255 rebase_path(invoker.outputs, ".", output_dir), |
| 256 "abspath") | 256 "abspath") |
| 257 | 257 |
| 258 # The config and the action below get this visibility son only the generated | 258 # 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 | 259 # 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. | 260 # overwritten inside the inner classes so we need to compute it here. |
| 261 target_visibility = [ ":$target_name" ] | 261 target_visibility = ":$target_name" |
| 262 | 262 |
| 263 # The current grit setup makes an file in $output_dir/grit/foo.h that | 263 # 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 | 264 # 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 | 265 # change this to including absolute paths relative to the root gen directory |
| 266 # (like "mycomponent/foo.h"). This config sets up the include path. | 266 # (like "mycomponent/foo.h"). This config sets up the include path. |
| 267 grit_config = target_name + "_grit_config" | 267 grit_config = target_name + "_grit_config" |
| 268 config(grit_config) { | 268 config(grit_config) { |
| 269 if (!defined(invoker.use_qualified_include) || | 269 if (!defined(invoker.use_qualified_include) || |
| 270 !invoker.use_qualified_include) { | 270 !invoker.use_qualified_include) { |
| 271 include_dirs = [ output_dir ] | 271 include_dirs = [ output_dir ] |
| (...skipping 22 matching lines...) Expand all Loading... |
| 294 | 294 |
| 295 # Add extra defines with -D flags. | 295 # Add extra defines with -D flags. |
| 296 if (defined(invoker.defines)) { | 296 if (defined(invoker.defines)) { |
| 297 foreach (i, invoker.defines) { | 297 foreach (i, invoker.defines) { |
| 298 args += [ "-D", i ] | 298 args += [ "-D", i ] |
| 299 } | 299 } |
| 300 } | 300 } |
| 301 | 301 |
| 302 args += grit_flags + assert_files_flags | 302 args += grit_flags + assert_files_flags |
| 303 | 303 |
| 304 if (defined(invoker.visibility)) { | 304 visibility = target_visibility |
| 305 # This needs to include both what the invoker specified (since they | |
| 306 # probably include generated headers from this target), as well as the | |
| 307 # generated source set (since there's no guarantee that the visibility | |
| 308 # specified by the invoker includes our target). | |
| 309 # | |
| 310 # Only define visibility at all if the invoker specified it. Otherwise, | |
| 311 # we want to keep the public "no visibility specified" default. | |
| 312 visibility = target_visibility | |
| 313 | |
| 314 # This won't work if the invoker specifies a list of targets (an uncommon | |
| 315 # case). We may need to enhance the language to make this possible. | |
| 316 visibility += [ invoker.visibility ] | |
| 317 } | |
| 318 | 305 |
| 319 deps = [ "//tools/grit:grit_sources" ] | 306 deps = [ "//tools/grit:grit_sources" ] |
| 320 if (defined(invoker.deps)) { | 307 if (defined(invoker.deps)) { |
| 321 deps += invoker.deps | 308 deps += invoker.deps |
| 322 } | 309 } |
| 323 } | 310 } |
| 324 | 311 |
| 325 # This is the thing that people actually link with, it must be named the | 312 # This is the thing that people actually link with, it must be named the |
| 326 # same as the argument the template was invoked with. | 313 # same as the argument the template was invoked with. |
| 327 source_set(target_name) { | 314 source_set(target_name) { |
| 328 # Since we generate a file, we need to be run before the targets that | 315 # Since we generate a file, we need to be run before the targets that |
| 329 # depend on us. | 316 # depend on us. |
| 330 sources = grit_outputs | 317 sources = grit_outputs |
| 331 | 318 |
| 332 # Deps set on the template invocation will go on the grit script running | 319 # Deps set on the template invocation will go on the grit script running |
| 333 # target rather than this library. | 320 # target rather than this library. |
| 334 deps = [ ":$grit_custom_target" ] | 321 deps = [ ":$grit_custom_target" ] |
| 335 direct_dependent_configs = [ ":$grit_config" ] | 322 direct_dependent_configs = [ ":$grit_config" ] |
| 336 | 323 |
| 337 if (defined(invoker.visibility)) { | 324 if (defined(invoker.visibility)) { |
| 338 visibility = invoker.visibility | 325 visibility = invoker.visibility |
| 339 } | 326 } |
| 340 output_name = grit_output_name | 327 output_name = grit_output_name |
| 341 } | 328 } |
| 342 } | 329 } |
| OLD | NEW |