| # Copyright 2014 The Chromium Authors |
| # 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/blink/renderer/config.gni") |
| blink_modules_output_dir = "$root_gen_dir/third_party/blink/renderer/modules" |
| |
| # 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/blink/renderer/modules/*" ] |
| |
| deps = [ |
| "//third_party/blink/renderer/core", |
| "//third_party/blink/renderer/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_modules_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 += [ |
| "//third_party/blink/renderer:config", |
| "//third_party/blink/renderer/modules:modules_implementation", |
| "//third_party/blink/renderer:non_test_config", |
| "//third_party/blink/renderer:inside_blink", |
| ] |
| configs -= [ "//build/config/compiler:default_symbols" ] |
| configs += blink_symbols_config |
| } |