Chromium Code Reviews| Index: build/config/BUILDCONFIG.gn |
| diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn |
| index b88619da6aeb5b424699b6b07303043869d7996b..0782179a37fb6ca3bfd4e0043a4c6ec18846554b 100644 |
| --- a/build/config/BUILDCONFIG.gn |
| +++ b/build/config/BUILDCONFIG.gn |
| @@ -604,7 +604,8 @@ if (is_win) { |
| # COMPONENT SETUP |
| # ============================================================================== |
| -# TODO(brettw) erase this once the built-in "component" function is removed. |
| +# TODO(brettw) Convert this to being a non-exported variable ('_' prefix) this |
|
Dirk Pranke
2015/08/04 18:19:22
clarify that "this" == "component_mode" ?
|
| +# once ICU's BUILD.gn file is updated to use is_component_build instead. |
| if (is_component_build) { |
| component_mode = "shared_library" |
| } else { |
| @@ -612,192 +613,14 @@ if (is_component_build) { |
| } |
| template("component") { |
| - if (is_component_build) { |
| - shared_library(target_name) { |
| - # Configs will always be defined since we set_defaults for a component |
| - # above. We want to use those rather than whatever came with the nested |
| - # shared/static library inside the component. |
| - configs = [] # Prevent list overwriting warning. |
| - configs = invoker.configs |
| - |
| - # The sources assignment filter will have already been applied when the |
| - # code was originally executed. We don't want to apply it again, since |
| - # the original target may have override it for some assignments. |
| - set_sources_assignment_filter([]) |
| - |
| - if (defined(invoker.all_dependent_configs)) { |
| - all_dependent_configs = invoker.all_dependent_configs |
| - } |
| - if (defined(invoker.allow_circular_includes_from)) { |
| - allow_circular_includes_from = invoker.allow_circular_includes_from |
| - } |
| - if (defined(invoker.cflags)) { |
| - cflags = invoker.cflags |
| - } |
| - if (defined(invoker.cflags_c)) { |
| - cflags_c = invoker.cflags_c |
| - } |
| - if (defined(invoker.cflags_cc)) { |
| - cflags_cc = invoker.cflags_cc |
| - } |
| - if (defined(invoker.cflags_objc)) { |
| - cflags_objc = invoker.cflags_objc |
| - } |
| - if (defined(invoker.cflags_objcc)) { |
| - cflags_objcc = invoker.cflags_objcc |
| - } |
| - if (defined(invoker.check_includes)) { |
| - check_includes = invoker.check_includes |
| - } |
| - if (defined(invoker.data)) { |
| - data = invoker.data |
| - } |
| - if (defined(invoker.data_deps)) { |
| - data_deps = invoker.data_deps |
| - } |
| - if (defined(invoker.datadeps)) { |
| - datadeps = invoker.datadeps |
| - } |
| - if (defined(invoker.defines)) { |
| - defines = invoker.defines |
| - } |
| - |
| - # All shared libraries must have the sanitizer deps to properly link in |
| - # asan mode (this target will be empty in other cases). |
| - if (defined(invoker.deps)) { |
| - deps = invoker.deps + [ "//build/config/sanitizers:deps" ] |
| - } else { |
| - deps = [ |
| - "//build/config/sanitizers:deps", |
| - ] |
| - } |
| - if (defined(invoker.forward_dependent_configs_from)) { |
| - forward_dependent_configs_from = invoker.forward_dependent_configs_from |
| - } |
| - if (defined(invoker.include_dirs)) { |
| - include_dirs = invoker.include_dirs |
| - } |
| - if (defined(invoker.ldflags)) { |
| - ldflags = invoker.ldflags |
| - } |
| - if (defined(invoker.lib_dirs)) { |
| - lib_dirs = invoker.lib_dirs |
| - } |
| - if (defined(invoker.libs)) { |
| - libs = invoker.libs |
| - } |
| - if (defined(invoker.output_extension)) { |
| - output_extension = invoker.output_extension |
| - } |
| - if (defined(invoker.output_name)) { |
| - output_name = invoker.output_name |
| - } |
| - if (defined(invoker.public)) { |
| - public = invoker.public |
| - } |
| - if (defined(invoker.public_configs)) { |
| - public_configs = invoker.public_configs |
| - } |
| - if (defined(invoker.public_deps)) { |
| - public_deps = invoker.public_deps |
| - } |
| - if (defined(invoker.sources)) { |
| - sources = invoker.sources |
| - } |
| - if (defined(invoker.testonly)) { |
| - testonly = invoker.testonly |
| - } |
| - if (defined(invoker.visibility)) { |
| - visibility = invoker.visibility |
| - } |
| - } |
| - } else { |
| - source_set(target_name) { |
| - # See above. |
| - configs = [] # Prevent list overwriting warning. |
| - configs = invoker.configs |
| - |
| - # See above call. |
| - set_sources_assignment_filter([]) |
| - |
| - if (defined(invoker.all_dependent_configs)) { |
| - all_dependent_configs = invoker.all_dependent_configs |
| - } |
| - if (defined(invoker.allow_circular_includes_from)) { |
| - allow_circular_includes_from = invoker.allow_circular_includes_from |
| - } |
| - if (defined(invoker.cflags)) { |
| - cflags = invoker.cflags |
| - } |
| - if (defined(invoker.cflags_c)) { |
| - cflags_c = invoker.cflags_c |
| - } |
| - if (defined(invoker.cflags_cc)) { |
| - cflags_cc = invoker.cflags_cc |
| - } |
| - if (defined(invoker.cflags_objc)) { |
| - cflags_objc = invoker.cflags_objc |
| - } |
| - if (defined(invoker.cflags_objcc)) { |
| - cflags_objcc = invoker.cflags_objcc |
| - } |
| - if (defined(invoker.check_includes)) { |
| - check_includes = invoker.check_includes |
| - } |
| - if (defined(invoker.data)) { |
| - data = invoker.data |
| - } |
| - if (defined(invoker.data_deps)) { |
| - data_deps = invoker.data_deps |
| - } |
| - if (defined(invoker.datadeps)) { |
| - datadeps = invoker.datadeps |
| - } |
| - if (defined(invoker.defines)) { |
| - defines = invoker.defines |
| - } |
| - if (defined(invoker.deps)) { |
| - deps = invoker.deps |
| - } |
| - if (defined(invoker.forward_dependent_configs_from)) { |
| - forward_dependent_configs_from = invoker.forward_dependent_configs_from |
| - } |
| - if (defined(invoker.include_dirs)) { |
| - include_dirs = invoker.include_dirs |
| - } |
| - if (defined(invoker.ldflags)) { |
| - ldflags = invoker.ldflags |
| - } |
| - if (defined(invoker.lib_dirs)) { |
| - lib_dirs = invoker.lib_dirs |
| - } |
| - if (defined(invoker.libs)) { |
| - libs = invoker.libs |
| - } |
| - if (defined(invoker.output_extension)) { |
| - output_extension = invoker.output_extension |
| - } |
| - if (defined(invoker.output_name)) { |
| - output_name = invoker.output_name |
| - } |
| - if (defined(invoker.public)) { |
| - public = invoker.public |
| - } |
| - if (defined(invoker.public_configs)) { |
| - public_configs = invoker.public_configs |
| - } |
| - if (defined(invoker.public_deps)) { |
| - public_deps = invoker.public_deps |
| - } |
| - if (defined(invoker.sources)) { |
| - sources = invoker.sources |
| - } |
| - if (defined(invoker.testonly)) { |
| - testonly = invoker.testonly |
| - } |
| - if (defined(invoker.visibility)) { |
| - visibility = invoker.visibility |
| - } |
| + target(component_mode, target_name) { |
| + forward_variables_from(invoker, "*") |
| + |
| + # All shared libraries must have the sanitizer deps to properly link in |
| + # asan mode (this target will be empty in other cases). |
| + if (!defined(deps)) { |
| + deps = [] |
| } |
| + deps += [ "//build/config/sanitizers:deps" ] |
| } |
| } |