[build] Split v8_base on static-library builds on windows

Bug: v8:6461
Change-Id: Iafabf2d53aa6492b78a9e5ae683f010453bb195d
Reviewed-on: https://chromium-review.googlesource.com/533014
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45922}
This commit is contained in:
Michael Achenbach 2017-06-13 16:21:07 +02:00 committed by Commit Bot
parent d701edfc15
commit a0aec7b29e
2 changed files with 16 additions and 13 deletions

View File

@ -1081,6 +1081,9 @@ v8_header_set("v8_headers") {
v8_source_set("v8_base") { v8_source_set("v8_base") {
visibility = [ ":*" ] # Only targets in this file can depend on this. visibility = [ ":*" ] # Only targets in this file can depend on this.
# Split static libraries on windows into two.
split_count = 2
sources = [ sources = [
"//base/trace_event/common/trace_event_common.h", "//base/trace_event/common/trace_event_common.h",

View File

@ -4,6 +4,7 @@
import("//build/config/sanitizers/sanitizers.gni") import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/v8_target_cpu.gni") import("//build/config/v8_target_cpu.gni")
import("//build/split_static_library.gni")
declare_args() { declare_args() {
# Includes files needed for correctness fuzzing. # Includes files needed for correctness fuzzing.
@ -91,20 +92,19 @@ if (is_posix && v8_enable_backtrace) {
# All templates should be kept in sync. # All templates should be kept in sync.
template("v8_source_set") { template("v8_source_set") {
if (defined(v8_static_library) && v8_static_library) { if (defined(invoker.split_count) && invoker.split_count > 1 &&
static_library(target_name) { defined(v8_static_library) && v8_static_library && is_win) {
forward_variables_from(invoker, "*", [ "configs" ]) link_target_type = "split_static_library"
configs += invoker.configs } else if (defined(v8_static_library) && v8_static_library) {
configs -= v8_remove_configs link_target_type = "static_library"
configs += v8_add_configs
}
} else { } else {
source_set(target_name) { link_target_type = "source_set"
forward_variables_from(invoker, "*", [ "configs" ]) }
configs += invoker.configs target(link_target_type, target_name) {
configs -= v8_remove_configs forward_variables_from(invoker, "*", [ "configs" ])
configs += v8_add_configs configs += invoker.configs
} configs -= v8_remove_configs
configs += v8_add_configs
} }
} }