| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # DON'T INCLUDE modules_idl_files.gni FROM HERE. |
| # |
| # This file is shared with all modules' BUILD files which shouldn't need access |
| # to the huge and slow lists of sources. If sharing is necessary, make a |
| # separate .gni. |
| import("//third_party/WebKit/Source/config.gni") |
| |
| # Defines a part of blink modules. This is either a source set or a static |
| # library with defaults for commonly-used values. |
| # |
| # deps |
| # Default deps are automatically appended to any specified on the caller. |
| # |
| # visibility |
| # Normal meaning if defined. If undefined, defaults to everything in core. |
| template("blink_modules_sources") { |
| if (is_component_build) { |
| target_type = "source_set" |
| } else { |
| target_type = "static_library" |
| } |
| |
| target(target_type, target_name) { |
| # The visibility will get overridden by forward_variables_from below if the |
| # invoker defined it. |
| visibility = [ "//third_party/WebKit/Source/modules/*" ] |
| |
| deps = [ |
| "//third_party/WebKit/Source/core", |
| "//third_party/WebKit/Source/modules:make_modules_generated", |
| "//third_party/icu", |
| ] |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| |
| # Take everything else not handled above from the invoker. |
| forward_variables_from(invoker, "*", [ "deps" ]) |
| } |
| } |
| set_defaults("blink_modules_sources") { |
| # This sets the default list of configs when the blink_core_sources target |
| # is defined. The default_compiler_configs comes from BUILDCONFIG.gn and |
| # is the list normally applied to static libraries and source sets. |
| configs = default_compiler_configs |
| configs += [ |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| "//build/config/compiler:no_size_t_to_int_warning", |
| "//third_party/WebKit/Source:config", |
| "//third_party/WebKit/Source/modules:modules_implementation", |
| "//third_party/WebKit/Source:non_test_config", |
| "//third_party/WebKit/Source:inside_blink", |
| ] |
| if (remove_webcore_debug_symbols) { |
| configs -= [ "//build/config/compiler:default_symbols" ] |
| configs += [ "//build/config/compiler:no_symbols" ] |
| } |
| } |