# 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/WebKit/Source/config.gni") blink_modules_output_dir = "$root_gen_dir/blink/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/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 } 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/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 += remove_webcore_symbols_config } }