[build] Compile compiler with optimizations in fast mksnapshot mode
This changes debug builds [1] to compile src/compiler sources twice: 1. with optimizations, used in mksnapshot to improve performance. 2. without optimizations, linked into d8 and v8 libraries. While this adds ~200 compilation targets, these can be built in parallel and should not add much time overall. This brings mksnapshot runtime back down to 11 seconds on my machine. [1] The full condition is: is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot Cq-Include-Trybots: luci.chromium.try:android_arm64_dbg_recipe Cq-Include-Trybots: luci.chromium.try:fuchsia_x64 Bug: v8:8767 Change-Id: Iac57bf8331395d9eda9be5d192e8eeeded182ae6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532335 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60713}
This commit is contained in:
parent
d196d7d9e1
commit
7e896fe596
414
BUILD.gn
414
BUILD.gn
@ -707,6 +707,20 @@ config("toolchain") {
|
||||
}
|
||||
}
|
||||
|
||||
# For code that is hot during mksnapshot. In fast-mksnapshot builds, we
|
||||
# optimize some files even in debug builds to speed up mksnapshot times.
|
||||
config("always_optimize") {
|
||||
configs = [ ":internal_config" ]
|
||||
|
||||
# TODO(crbug.com/621335) Rework this so that we don't have the confusion
|
||||
# between "optimize_speed" and "optimize_max".
|
||||
if (((is_posix && !is_android) || is_fuchsia) && !using_sanitizer) {
|
||||
configs += [ "//build/config/compiler:optimize_speed" ]
|
||||
} else {
|
||||
configs += [ "//build/config/compiler:optimize_max" ]
|
||||
}
|
||||
}
|
||||
|
||||
# Configs for code coverage with gcov. Separate configs for cflags and ldflags
|
||||
# to selectively influde cflags in non-test targets only.
|
||||
config("v8_gcov_coverage_cflags") {
|
||||
@ -1327,9 +1341,15 @@ v8_source_set("v8_nosnapshot") {
|
||||
|
||||
deps = [
|
||||
":js2c_extras",
|
||||
":v8_base",
|
||||
":torque_generated_initializers",
|
||||
]
|
||||
|
||||
if (v8_enable_i18n_support) {
|
||||
public_deps = [
|
||||
"//third_party/icu",
|
||||
]
|
||||
}
|
||||
|
||||
sources = [
|
||||
"$target_gen_dir/extras-libraries.cc",
|
||||
"src/snapshot/embedded-empty.cc",
|
||||
@ -1350,14 +1370,18 @@ if (v8_use_snapshot && !v8_use_external_startup_data) {
|
||||
|
||||
deps = [
|
||||
":js2c_extras",
|
||||
":v8_base",
|
||||
]
|
||||
|
||||
public_deps = [
|
||||
# This should be public so downstream targets can declare the snapshot
|
||||
# output file as their inputs.
|
||||
":run_mksnapshot_default",
|
||||
]
|
||||
|
||||
if (v8_enable_i18n_support) {
|
||||
public_deps += [ "//third_party/icu" ]
|
||||
}
|
||||
|
||||
# Do not publicize any header to remove build dependency.
|
||||
public = []
|
||||
|
||||
@ -1443,10 +1467,6 @@ v8_source_set("v8_initializers") {
|
||||
":torque_generated_initializers",
|
||||
]
|
||||
|
||||
public_deps = [
|
||||
":v8_base",
|
||||
]
|
||||
|
||||
sources = [
|
||||
### gcmole(all) ###
|
||||
"src/builtins/builtins-arguments-gen.cc",
|
||||
@ -1654,162 +1674,7 @@ v8_header_set("v8_shared_internal_headers") {
|
||||
]
|
||||
}
|
||||
|
||||
v8_source_set("v8_base") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
# Split static libraries on windows into two.
|
||||
split_count = 2
|
||||
|
||||
sources = [
|
||||
"//base/trace_event/common/trace_event_common.h",
|
||||
|
||||
### gcmole(all) ###
|
||||
"$target_gen_dir/builtins-generated/bytecodes-builtins-list.h",
|
||||
"include/v8-inspector-protocol.h",
|
||||
"include/v8-inspector.h",
|
||||
"include/v8-internal.h",
|
||||
"include/v8-platform.h",
|
||||
"include/v8-profiler.h",
|
||||
"include/v8-testing.h",
|
||||
"include/v8-util.h",
|
||||
"include/v8-wasm-trap-handler-posix.h",
|
||||
"include/v8.h",
|
||||
"include/v8config.h",
|
||||
"src/accessors.cc",
|
||||
"src/accessors.h",
|
||||
"src/address-map.cc",
|
||||
"src/address-map.h",
|
||||
"src/allocation-site-scopes-inl.h",
|
||||
"src/allocation-site-scopes.h",
|
||||
"src/allocation.cc",
|
||||
"src/allocation.h",
|
||||
"src/api-arguments-inl.h",
|
||||
"src/api-arguments.cc",
|
||||
"src/api-arguments.h",
|
||||
"src/api-natives.cc",
|
||||
"src/api-natives.h",
|
||||
"src/api.cc",
|
||||
"src/api.h",
|
||||
"src/arguments-inl.h",
|
||||
"src/arguments.cc",
|
||||
"src/arguments.h",
|
||||
"src/asan.h",
|
||||
"src/asmjs/asm-js.cc",
|
||||
"src/asmjs/asm-js.h",
|
||||
"src/asmjs/asm-names.h",
|
||||
"src/asmjs/asm-parser.cc",
|
||||
"src/asmjs/asm-parser.h",
|
||||
"src/asmjs/asm-scanner.cc",
|
||||
"src/asmjs/asm-scanner.h",
|
||||
"src/asmjs/asm-types.cc",
|
||||
"src/asmjs/asm-types.h",
|
||||
"src/assembler-arch.h",
|
||||
"src/assembler-inl.h",
|
||||
"src/assembler.cc",
|
||||
"src/assembler.h",
|
||||
"src/assert-scope.cc",
|
||||
"src/assert-scope.h",
|
||||
"src/ast/ast-function-literal-id-reindexer.cc",
|
||||
"src/ast/ast-function-literal-id-reindexer.h",
|
||||
"src/ast/ast-source-ranges.h",
|
||||
"src/ast/ast-traversal-visitor.h",
|
||||
"src/ast/ast-value-factory.cc",
|
||||
"src/ast/ast-value-factory.h",
|
||||
"src/ast/ast.cc",
|
||||
"src/ast/ast.h",
|
||||
"src/ast/modules.cc",
|
||||
"src/ast/modules.h",
|
||||
"src/ast/prettyprinter.cc",
|
||||
"src/ast/prettyprinter.h",
|
||||
"src/ast/scopes.cc",
|
||||
"src/ast/scopes.h",
|
||||
"src/ast/source-range-ast-visitor.cc",
|
||||
"src/ast/source-range-ast-visitor.h",
|
||||
"src/ast/variables.cc",
|
||||
"src/ast/variables.h",
|
||||
"src/bailout-reason.cc",
|
||||
"src/bailout-reason.h",
|
||||
"src/basic-block-profiler.cc",
|
||||
"src/basic-block-profiler.h",
|
||||
"src/bignum-dtoa.cc",
|
||||
"src/bignum-dtoa.h",
|
||||
"src/bignum.cc",
|
||||
"src/bignum.h",
|
||||
"src/bit-vector.cc",
|
||||
"src/bit-vector.h",
|
||||
"src/bootstrapper.cc",
|
||||
"src/bootstrapper.h",
|
||||
"src/boxed-float.h",
|
||||
"src/builtins/builtins-api.cc",
|
||||
"src/builtins/builtins-array.cc",
|
||||
"src/builtins/builtins-arraybuffer.cc",
|
||||
"src/builtins/builtins-bigint.cc",
|
||||
"src/builtins/builtins-boolean.cc",
|
||||
"src/builtins/builtins-call.cc",
|
||||
"src/builtins/builtins-callsite.cc",
|
||||
"src/builtins/builtins-collections.cc",
|
||||
"src/builtins/builtins-console.cc",
|
||||
"src/builtins/builtins-constructor.h",
|
||||
"src/builtins/builtins-dataview.cc",
|
||||
"src/builtins/builtins-date.cc",
|
||||
"src/builtins/builtins-definitions.h",
|
||||
"src/builtins/builtins-descriptors.h",
|
||||
"src/builtins/builtins-error.cc",
|
||||
"src/builtins/builtins-extras-utils.cc",
|
||||
"src/builtins/builtins-function.cc",
|
||||
"src/builtins/builtins-global.cc",
|
||||
"src/builtins/builtins-internal.cc",
|
||||
"src/builtins/builtins-intl.cc",
|
||||
"src/builtins/builtins-json.cc",
|
||||
"src/builtins/builtins-math.cc",
|
||||
"src/builtins/builtins-number.cc",
|
||||
"src/builtins/builtins-object.cc",
|
||||
"src/builtins/builtins-promise.cc",
|
||||
"src/builtins/builtins-promise.h",
|
||||
"src/builtins/builtins-reflect.cc",
|
||||
"src/builtins/builtins-regexp.cc",
|
||||
"src/builtins/builtins-sharedarraybuffer.cc",
|
||||
"src/builtins/builtins-string.cc",
|
||||
"src/builtins/builtins-symbol.cc",
|
||||
"src/builtins/builtins-trace.cc",
|
||||
"src/builtins/builtins-typed-array.cc",
|
||||
"src/builtins/builtins-utils-inl.h",
|
||||
"src/builtins/builtins-utils.h",
|
||||
"src/builtins/builtins-weak-refs.cc",
|
||||
"src/builtins/builtins.cc",
|
||||
"src/builtins/builtins.h",
|
||||
"src/builtins/constants-table-builder.cc",
|
||||
"src/builtins/constants-table-builder.h",
|
||||
"src/cached-powers.cc",
|
||||
"src/cached-powers.h",
|
||||
"src/callable.h",
|
||||
"src/cancelable-task.cc",
|
||||
"src/cancelable-task.h",
|
||||
"src/char-predicates-inl.h",
|
||||
"src/char-predicates.cc",
|
||||
"src/char-predicates.h",
|
||||
"src/checks.h",
|
||||
"src/code-comments.cc",
|
||||
"src/code-comments.h",
|
||||
"src/code-desc.cc",
|
||||
"src/code-desc.h",
|
||||
"src/code-events.h",
|
||||
"src/code-factory.cc",
|
||||
"src/code-factory.h",
|
||||
"src/code-reference.cc",
|
||||
"src/code-reference.h",
|
||||
"src/code-tracer.h",
|
||||
"src/collector.h",
|
||||
"src/compilation-cache.cc",
|
||||
"src/compilation-cache.h",
|
||||
"src/compilation-statistics.cc",
|
||||
"src/compilation-statistics.h",
|
||||
"src/compiler-dispatcher/compiler-dispatcher.cc",
|
||||
"src/compiler-dispatcher/compiler-dispatcher.h",
|
||||
"src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
|
||||
"src/compiler-dispatcher/optimizing-compile-dispatcher.h",
|
||||
"src/compiler.cc",
|
||||
"src/compiler.h",
|
||||
v8_compiler_sources = [
|
||||
"src/compiler/access-builder.cc",
|
||||
"src/compiler/access-builder.h",
|
||||
"src/compiler/access-info.cc",
|
||||
@ -2026,6 +1891,221 @@ v8_source_set("v8_base") {
|
||||
"src/compiler/wasm-compiler.h",
|
||||
"src/compiler/zone-stats.cc",
|
||||
"src/compiler/zone-stats.h",
|
||||
]
|
||||
|
||||
# The src/compiler files with optimizations.
|
||||
v8_source_set("v8_compiler_opt") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
sources = v8_compiler_sources
|
||||
|
||||
public_deps = [
|
||||
":generate_bytecode_builtins_list",
|
||||
":run_torque",
|
||||
]
|
||||
|
||||
if (v8_enable_i18n_support) {
|
||||
public_deps += [ "//third_party/icu" ]
|
||||
}
|
||||
|
||||
if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) {
|
||||
# The :no_optimize config is added to v8_add_configs in v8.gni.
|
||||
remove_configs = [ "//build/config/compiler:no_optimize" ]
|
||||
configs = [ ":always_optimize" ]
|
||||
} else {
|
||||
# Without this else branch, gn fails to generate build files for non-debug
|
||||
# builds (because we try to remove a config that is not present).
|
||||
# So we include it, even if this config is not used outside of debug builds.
|
||||
configs = [ ":internal_config" ]
|
||||
}
|
||||
}
|
||||
|
||||
# The src/compiler files with default optimization behavior.
|
||||
v8_source_set("v8_compiler") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
sources = v8_compiler_sources
|
||||
|
||||
public_deps = [
|
||||
":generate_bytecode_builtins_list",
|
||||
":run_torque",
|
||||
]
|
||||
|
||||
if (v8_enable_i18n_support) {
|
||||
public_deps += [ "//third_party/icu" ]
|
||||
}
|
||||
|
||||
configs = [ ":internal_config" ]
|
||||
}
|
||||
|
||||
group("v8_compiler_for_mksnapshot") {
|
||||
if (is_debug && !v8_optimized_debug && v8_enable_fast_mksnapshot) {
|
||||
deps = [
|
||||
":v8_compiler_opt",
|
||||
]
|
||||
} else {
|
||||
deps = [
|
||||
":v8_compiler",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
v8_source_set("v8_base_without_compiler") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
# Split static libraries on windows into two.
|
||||
split_count = 2
|
||||
|
||||
sources = [
|
||||
"//base/trace_event/common/trace_event_common.h",
|
||||
|
||||
### gcmole(all) ###
|
||||
"$target_gen_dir/builtins-generated/bytecodes-builtins-list.h",
|
||||
"include/v8-inspector-protocol.h",
|
||||
"include/v8-inspector.h",
|
||||
"include/v8-internal.h",
|
||||
"include/v8-platform.h",
|
||||
"include/v8-profiler.h",
|
||||
"include/v8-testing.h",
|
||||
"include/v8-util.h",
|
||||
"include/v8-wasm-trap-handler-posix.h",
|
||||
"include/v8.h",
|
||||
"include/v8config.h",
|
||||
"src/accessors.cc",
|
||||
"src/accessors.h",
|
||||
"src/address-map.cc",
|
||||
"src/address-map.h",
|
||||
"src/allocation-site-scopes-inl.h",
|
||||
"src/allocation-site-scopes.h",
|
||||
"src/allocation.cc",
|
||||
"src/allocation.h",
|
||||
"src/api-arguments-inl.h",
|
||||
"src/api-arguments.cc",
|
||||
"src/api-arguments.h",
|
||||
"src/api-natives.cc",
|
||||
"src/api-natives.h",
|
||||
"src/api.cc",
|
||||
"src/api.h",
|
||||
"src/arguments-inl.h",
|
||||
"src/arguments.cc",
|
||||
"src/arguments.h",
|
||||
"src/asan.h",
|
||||
"src/asmjs/asm-js.cc",
|
||||
"src/asmjs/asm-js.h",
|
||||
"src/asmjs/asm-names.h",
|
||||
"src/asmjs/asm-parser.cc",
|
||||
"src/asmjs/asm-parser.h",
|
||||
"src/asmjs/asm-scanner.cc",
|
||||
"src/asmjs/asm-scanner.h",
|
||||
"src/asmjs/asm-types.cc",
|
||||
"src/asmjs/asm-types.h",
|
||||
"src/assembler-arch.h",
|
||||
"src/assembler-inl.h",
|
||||
"src/assembler.cc",
|
||||
"src/assembler.h",
|
||||
"src/assert-scope.cc",
|
||||
"src/assert-scope.h",
|
||||
"src/ast/ast-function-literal-id-reindexer.cc",
|
||||
"src/ast/ast-function-literal-id-reindexer.h",
|
||||
"src/ast/ast-source-ranges.h",
|
||||
"src/ast/ast-traversal-visitor.h",
|
||||
"src/ast/ast-value-factory.cc",
|
||||
"src/ast/ast-value-factory.h",
|
||||
"src/ast/ast.cc",
|
||||
"src/ast/ast.h",
|
||||
"src/ast/modules.cc",
|
||||
"src/ast/modules.h",
|
||||
"src/ast/prettyprinter.cc",
|
||||
"src/ast/prettyprinter.h",
|
||||
"src/ast/scopes.cc",
|
||||
"src/ast/scopes.h",
|
||||
"src/ast/source-range-ast-visitor.cc",
|
||||
"src/ast/source-range-ast-visitor.h",
|
||||
"src/ast/variables.cc",
|
||||
"src/ast/variables.h",
|
||||
"src/bailout-reason.cc",
|
||||
"src/bailout-reason.h",
|
||||
"src/basic-block-profiler.cc",
|
||||
"src/basic-block-profiler.h",
|
||||
"src/bignum-dtoa.cc",
|
||||
"src/bignum-dtoa.h",
|
||||
"src/bignum.cc",
|
||||
"src/bignum.h",
|
||||
"src/bit-vector.cc",
|
||||
"src/bit-vector.h",
|
||||
"src/bootstrapper.cc",
|
||||
"src/bootstrapper.h",
|
||||
"src/boxed-float.h",
|
||||
"src/builtins/builtins-api.cc",
|
||||
"src/builtins/builtins-array.cc",
|
||||
"src/builtins/builtins-arraybuffer.cc",
|
||||
"src/builtins/builtins-bigint.cc",
|
||||
"src/builtins/builtins-boolean.cc",
|
||||
"src/builtins/builtins-call.cc",
|
||||
"src/builtins/builtins-callsite.cc",
|
||||
"src/builtins/builtins-collections.cc",
|
||||
"src/builtins/builtins-console.cc",
|
||||
"src/builtins/builtins-constructor.h",
|
||||
"src/builtins/builtins-dataview.cc",
|
||||
"src/builtins/builtins-date.cc",
|
||||
"src/builtins/builtins-definitions.h",
|
||||
"src/builtins/builtins-descriptors.h",
|
||||
"src/builtins/builtins-error.cc",
|
||||
"src/builtins/builtins-extras-utils.cc",
|
||||
"src/builtins/builtins-function.cc",
|
||||
"src/builtins/builtins-global.cc",
|
||||
"src/builtins/builtins-internal.cc",
|
||||
"src/builtins/builtins-intl.cc",
|
||||
"src/builtins/builtins-json.cc",
|
||||
"src/builtins/builtins-math.cc",
|
||||
"src/builtins/builtins-number.cc",
|
||||
"src/builtins/builtins-object.cc",
|
||||
"src/builtins/builtins-promise.cc",
|
||||
"src/builtins/builtins-promise.h",
|
||||
"src/builtins/builtins-reflect.cc",
|
||||
"src/builtins/builtins-regexp.cc",
|
||||
"src/builtins/builtins-sharedarraybuffer.cc",
|
||||
"src/builtins/builtins-string.cc",
|
||||
"src/builtins/builtins-symbol.cc",
|
||||
"src/builtins/builtins-trace.cc",
|
||||
"src/builtins/builtins-typed-array.cc",
|
||||
"src/builtins/builtins-utils-inl.h",
|
||||
"src/builtins/builtins-utils.h",
|
||||
"src/builtins/builtins-weak-refs.cc",
|
||||
"src/builtins/builtins.cc",
|
||||
"src/builtins/builtins.h",
|
||||
"src/builtins/constants-table-builder.cc",
|
||||
"src/builtins/constants-table-builder.h",
|
||||
"src/cached-powers.cc",
|
||||
"src/cached-powers.h",
|
||||
"src/callable.h",
|
||||
"src/cancelable-task.cc",
|
||||
"src/cancelable-task.h",
|
||||
"src/char-predicates-inl.h",
|
||||
"src/char-predicates.cc",
|
||||
"src/char-predicates.h",
|
||||
"src/checks.h",
|
||||
"src/code-comments.cc",
|
||||
"src/code-comments.h",
|
||||
"src/code-desc.cc",
|
||||
"src/code-desc.h",
|
||||
"src/code-events.h",
|
||||
"src/code-factory.cc",
|
||||
"src/code-factory.h",
|
||||
"src/code-reference.cc",
|
||||
"src/code-reference.h",
|
||||
"src/code-tracer.h",
|
||||
"src/collector.h",
|
||||
"src/compilation-cache.cc",
|
||||
"src/compilation-cache.h",
|
||||
"src/compilation-statistics.cc",
|
||||
"src/compilation-statistics.h",
|
||||
"src/compiler-dispatcher/compiler-dispatcher.cc",
|
||||
"src/compiler-dispatcher/compiler-dispatcher.h",
|
||||
"src/compiler-dispatcher/optimizing-compile-dispatcher.cc",
|
||||
"src/compiler-dispatcher/optimizing-compile-dispatcher.h",
|
||||
"src/compiler.cc",
|
||||
"src/compiler.h",
|
||||
"src/constant-pool.cc",
|
||||
"src/constant-pool.h",
|
||||
"src/constants-arch.h",
|
||||
@ -3192,6 +3272,13 @@ v8_source_set("v8_base") {
|
||||
}
|
||||
}
|
||||
|
||||
group("v8_base") {
|
||||
public_deps = [
|
||||
":v8_base_without_compiler",
|
||||
":v8_compiler",
|
||||
]
|
||||
}
|
||||
|
||||
v8_source_set("torque_base") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
@ -3608,7 +3695,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
|
||||
configs = [ ":internal_config" ]
|
||||
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_base_without_compiler",
|
||||
":v8_compiler_for_mksnapshot",
|
||||
":v8_init",
|
||||
":v8_libbase",
|
||||
":v8_libplatform",
|
||||
|
14
gni/v8.gni
14
gni/v8.gni
@ -156,21 +156,21 @@ template("v8_source_set") {
|
||||
"configs",
|
||||
"remove_configs",
|
||||
])
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
if (defined(invoker.remove_configs)) {
|
||||
configs -= invoker.remove_configs
|
||||
}
|
||||
configs += invoker.configs
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
}
|
||||
}
|
||||
|
||||
template("v8_header_set") {
|
||||
jumbo_source_set(target_name) {
|
||||
forward_variables_from(invoker, "*", [ "configs" ])
|
||||
configs += invoker.configs
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
configs += invoker.configs
|
||||
}
|
||||
}
|
||||
|
||||
@ -182,12 +182,12 @@ template("v8_executable") {
|
||||
"configs",
|
||||
"remove_configs",
|
||||
])
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
if (defined(invoker.remove_configs)) {
|
||||
configs -= invoker.remove_configs
|
||||
}
|
||||
configs += invoker.configs
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
if (is_linux) {
|
||||
# For enabling ASLR.
|
||||
ldflags = [ "-pie" ]
|
||||
@ -210,9 +210,9 @@ template("v8_executable") {
|
||||
template("v8_component") {
|
||||
component(target_name) {
|
||||
forward_variables_from(invoker, "*", [ "configs" ])
|
||||
configs += invoker.configs
|
||||
configs -= v8_remove_configs
|
||||
configs += v8_add_configs
|
||||
configs += invoker.configs
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,9 +220,9 @@ template("v8_static_library") {
|
||||
static_library(target_name) {
|
||||
complete_static_lib = true
|
||||
forward_variables_from(invoker, "*", [ "configs" ])
|
||||
configs += invoker.configs
|
||||
configs -= v8_remove_configs
|
||||
configs -= [ "//build/config/compiler:thin_archive" ]
|
||||
configs += v8_add_configs
|
||||
configs += invoker.configs
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user