Conditionally convert V8 build overrides to declare_args.

We're converting the build_overrides system to the new default_args list of
overrides that can be listed in the toplevel .gn file. This will allow args to
be set on a per-repo basis.

This change conditionally adds the variables currently defined in
build_overrides/v8.gni to build args. This allows V8's build to be used in both
the new and old systems. Once all Chrome and pdfium have been updated, v8's
build overrides and the conditional checks around the new args can be removed.

BUG=684096

Review-Url: https://codereview.chromium.org/2654663003
Cr-Commit-Position: refs/heads/master@{#42639}
This commit is contained in:
brettw 2017-01-24 16:20:56 -08:00 committed by Commit bot
parent e56437b630
commit 98dbcfde26
3 changed files with 52 additions and 34 deletions

View File

@ -30,7 +30,15 @@ declare_args() {
v8_deprecation_warnings = false v8_deprecation_warnings = false
# Enable compiler warnings when using V8_DEPRECATE_SOON apis. # Enable compiler warnings when using V8_DEPRECATE_SOON apis.
v8_imminent_deprecation_warnings = "" #
# TODO(brettw) http://crbug.com/684096 Remove the define condition and the
# v8_imminent_deprecation_warnings_default variable when the build_override
# conversion is complete. This value should just default to true.
if (defined(v8_imminent_deprecation_warnings_default)) {
v8_imminent_deprecation_warnings = v8_imminent_deprecation_warnings_default
} else {
v8_imminent_deprecation_warnings = false
}
# Embeds the given script into the snapshot. # Embeds the given script into the snapshot.
v8_embed_script = "" v8_embed_script = ""
@ -76,22 +84,38 @@ declare_args() {
# Similar to the ARM hard float ABI but on MIPS. # Similar to the ARM hard float ABI but on MIPS.
v8_use_mips_abi_hardfloat = true v8_use_mips_abi_hardfloat = true
}
# Set project-specific defaults for some args if not provided in args.gn. The # List of extra files to snapshot. They will be snapshotted in order so
# defaults can be set in the respective build_overrides files. # if files export symbols used by later files, they should go first.
if (v8_imminent_deprecation_warnings == "") { #
if (defined(v8_imminent_deprecation_warnings_default)) { # This default is used by cctests. Projects using V8 will want to override.
v8_imminent_deprecation_warnings = v8_imminent_deprecation_warnings_default #
} else { # TODO(brettw) http://crbug.com/684096 Remove the define condition when the
v8_imminent_deprecation_warnings = false # build_override conversion is complete.
if (!defined(v8_extra_library_files)) {
v8_extra_library_files = [
"//test/cctest/test-extra.js"
]
} }
}
if (v8_enable_gdbjit == "") { # Like v8_extra_library_files but for experimental features.
#
# This default is used by cctests. Projects using V8 will want to override.
#
# TODO(brettw) http://crbug.com/684096 Remove the define condition when the
# build_override conversion is complete.
if (!defined(v8_experimental_extra_library_files)) {
v8_experimental_extra_library_files = [
"//test/cctest/test-experimental-extra.js",
]
}
if (defined(v8_enable_gdbjit_default)) { if (defined(v8_enable_gdbjit_default)) {
v8_enable_gdbjit = v8_enable_gdbjit_default v8_enable_gdbjit = v8_enable_gdbjit_default
} else { } else {
v8_enable_gdbjit = false v8_enable_gdbjit = ((v8_current_cpu == "x86" || v8_current_cpu == "x64" ||
v8_current_cpu == "x87") && (is_linux || is_mac)) ||
(v8_current_cpu == "ppc64" && is_linux)
} }
} }

View File

@ -2,24 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/v8_target_cpu.gni") # This file should be empty.
if (((v8_current_cpu == "x86" || v8_current_cpu == "x64" || # TODO(brettw) http://crbug.com/684096 Remove this when all callers are updated
v8_current_cpu == "x87") && (is_linux || is_mac)) || # to use the new build overrides system.
(v8_current_cpu == "ppc64" && is_linux)) {
v8_enable_gdbjit_default = true
}
v8_imminent_deprecation_warnings_default = true
# Add simple extras solely for the purpose of the cctests.
v8_extra_library_files = [ "//test/cctest/test-extra.js" ]
v8_experimental_extra_library_files =
[ "//test/cctest/test-experimental-extra.js" ]
v8_enable_inspector_override = true
declare_args() {
# Use static libraries instead of source_sets.
v8_static_library = false
}

View File

@ -35,8 +35,19 @@ declare_args() {
# add a dependency on the ICU library. # add a dependency on the ICU library.
v8_enable_i18n_support = true v8_enable_i18n_support = true
# Enable inspector. See include/v8-inspector.h. # TODO(brettw) http://crbug.com/684096 Remove the define condition and the
v8_enable_inspector = v8_enable_inspector_override # v8_enable_inspector_override variable when the build_override conversion is
# complete. This value should just default to true.
if (defined(v8_enable_inspector_override)) {
# Enable inspector. See include/v8-inspector.h.
v8_enable_inspector = v8_enable_inspector_override
} else {
# Enable inspector. See include/v8-inspector.h.
v8_enable_inspector = true
}
# Use static libraries instead of source_sets.
v8_static_library = false
} }
if (v8_use_external_startup_data == "") { if (v8_use_external_startup_data == "") {