| # 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("//build/config/jumbo.gni") |
| import("//build/split_static_library.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 { |
| if (!defined(invoker.split_count)) { |
| target_type = "static_library" |
| } else { |
| target_type = "split_static_library" |
| } |
| } |
| |
| target("jumbo_" + 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 |
| } |
| if (target_type == "split_static_library") { |
| split_count = invoker.split_count |
| } |
| |
| # Take everything else not handled above from the invoker. |
| forward_variables_from(invoker, |
| "*", |
| [ |
| "deps", |
| "split_count", |
| ]) |
| } |
| } |
| 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 += [ |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| "//build/config/compiler:no_size_t_to_int_warning", |
| "//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 |
| } |