blob: 326498c288fe88ae1ba12d0cad650fa6bed56a99 [file] [log] [blame]
# 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/split_static_library.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 {
if (!defined(invoker.split_count)) {
target_type = "static_library"
} else {
target_type = "split_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
}
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 += [ "//build/config/compiler:no_symbols" ]
}
}