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 |