Revert of Revert of Add d8 target to the GN build. (patchset #1 id:1 of https://codereview.chromium.org/838983002/)
Reason for revert: Relanding because this is not actually blocking the roll. Original issue's description: > Revert of Add d8 target to the GN build. (patchset #2 id:40001 of https://codereview.chromium.org/834113005/) > > Reason for revert: > V8 roll fails due to this change. (see https://codereview.chromium.org/843673003/) > > Original issue's description: > > Add d8 target to the GN build. > > > > Also formats the rest of the file with "gn format". This accounts for all the changes except for the "d8" target additions. > > > > Committed: https://crrev.com/36383f08c1f692ea797d54a27d7c6b3d3d53b440 > > Cr-Commit-Position: refs/heads/master@{#25984} > > TBR=jochen@chromium.org,machenbach@chromium.org,brettw@chromium.org > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/ef50fdfdb05e1a3a3822962f5235b804218a5f4e > Cr-Commit-Position: refs/heads/master@{#25985} TBR=jochen@chromium.org,machenbach@chromium.org,brettw@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/833563004 Cr-Commit-Position: refs/heads/master@{#25996}
This commit is contained in:
parent
d06f1db31f
commit
ebf3c34fb9
332
BUILD.gn
332
BUILD.gn
@ -22,7 +22,6 @@ v8_enable_extra_checks = is_debug
|
||||
v8_target_arch = cpu_arch
|
||||
v8_random_seed = "314159265"
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Configurations
|
||||
#
|
||||
@ -63,54 +62,34 @@ config("features") {
|
||||
defines = []
|
||||
|
||||
if (v8_enable_disassembler == true) {
|
||||
defines += [
|
||||
"ENABLE_DISASSEMBLER",
|
||||
]
|
||||
defines += [ "ENABLE_DISASSEMBLER" ]
|
||||
}
|
||||
if (v8_enable_gdbjit == true) {
|
||||
defines += [
|
||||
"ENABLE_GDB_JIT_INTERFACE",
|
||||
]
|
||||
defines += [ "ENABLE_GDB_JIT_INTERFACE" ]
|
||||
}
|
||||
if (v8_object_print == true) {
|
||||
defines += [
|
||||
"OBJECT_PRINT",
|
||||
]
|
||||
defines += [ "OBJECT_PRINT" ]
|
||||
}
|
||||
if (v8_enable_verify_heap == true) {
|
||||
defines += [
|
||||
"VERIFY_HEAP",
|
||||
]
|
||||
defines += [ "VERIFY_HEAP" ]
|
||||
}
|
||||
if (v8_interpreted_regexp == true) {
|
||||
defines += [
|
||||
"V8_INTERPRETED_REGEXP",
|
||||
]
|
||||
defines += [ "V8_INTERPRETED_REGEXP" ]
|
||||
}
|
||||
if (v8_deprecation_warnings == true) {
|
||||
defines += [
|
||||
"V8_DEPRECATION_WARNINGS",
|
||||
]
|
||||
defines += [ "V8_DEPRECATION_WARNINGS" ]
|
||||
}
|
||||
if (v8_enable_i18n_support == true) {
|
||||
defines += [
|
||||
"V8_I18N_SUPPORT",
|
||||
]
|
||||
defines += [ "V8_I18N_SUPPORT" ]
|
||||
}
|
||||
if (v8_enable_extra_checks == true) {
|
||||
defines += [
|
||||
"ENABLE_EXTRA_CHECKS",
|
||||
]
|
||||
defines += [ "ENABLE_EXTRA_CHECKS" ]
|
||||
}
|
||||
if (v8_enable_handle_zapping == true) {
|
||||
defines += [
|
||||
"ENABLE_HANDLE_ZAPPING",
|
||||
]
|
||||
defines += [ "ENABLE_HANDLE_ZAPPING" ]
|
||||
}
|
||||
if (v8_use_external_startup_data == true) {
|
||||
defines += [
|
||||
"V8_USE_EXTERNAL_STARTUP_DATA",
|
||||
]
|
||||
defines += [ "V8_USE_EXTERNAL_STARTUP_DATA" ]
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,24 +102,16 @@ config("toolchain") {
|
||||
# TODO(jochen): Add support for arm, mips, mipsel.
|
||||
|
||||
if (v8_target_arch == "arm64") {
|
||||
defines += [
|
||||
"V8_TARGET_ARCH_ARM64",
|
||||
]
|
||||
defines += [ "V8_TARGET_ARCH_ARM64" ]
|
||||
}
|
||||
if (v8_target_arch == "x86") {
|
||||
defines += [
|
||||
"V8_TARGET_ARCH_IA32",
|
||||
]
|
||||
defines += [ "V8_TARGET_ARCH_IA32" ]
|
||||
}
|
||||
if (v8_target_arch == "x64") {
|
||||
defines += [
|
||||
"V8_TARGET_ARCH_X64",
|
||||
]
|
||||
defines += [ "V8_TARGET_ARCH_X64" ]
|
||||
}
|
||||
if (is_win) {
|
||||
defines += [
|
||||
"WIN32",
|
||||
]
|
||||
defines += [ "WIN32" ]
|
||||
# TODO(jochen): Support v8_enable_prof.
|
||||
}
|
||||
|
||||
@ -203,7 +174,7 @@ action("js2c") {
|
||||
]
|
||||
|
||||
outputs = [
|
||||
"$target_gen_dir/libraries.cc"
|
||||
"$target_gen_dir/libraries.cc",
|
||||
]
|
||||
|
||||
if (v8_enable_i18n_support) {
|
||||
@ -211,19 +182,36 @@ action("js2c") {
|
||||
}
|
||||
|
||||
args = [
|
||||
rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
|
||||
"CORE",
|
||||
] + rebase_path(sources, root_build_dir)
|
||||
rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
|
||||
"CORE",
|
||||
] + rebase_path(sources, root_build_dir)
|
||||
|
||||
if (v8_use_external_startup_data) {
|
||||
outputs += [ "$target_gen_dir/libraries.bin" ]
|
||||
args += [
|
||||
"--startup_blob",
|
||||
rebase_path("$target_gen_dir/libraries.bin", root_build_dir)
|
||||
rebase_path("$target_gen_dir/libraries.bin", root_build_dir),
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
action("d8_js2c") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
script = "tools/js2c.py"
|
||||
|
||||
inputs = [
|
||||
"src/d8.js",
|
||||
"src/macros.py",
|
||||
]
|
||||
outputs = [
|
||||
"$target_gen_dir/d8-js.cc",
|
||||
]
|
||||
|
||||
args = rebase_path(outputs, root_build_dir) + [ "D8" ] +
|
||||
rebase_path(inputs, root_build_dir)
|
||||
}
|
||||
|
||||
action("js2c_experimental") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
@ -244,23 +232,24 @@ action("js2c_experimental") {
|
||||
"src/harmony-classes.js",
|
||||
"src/harmony-tostring.js",
|
||||
"src/harmony-templates.js",
|
||||
"src/harmony-regexp.js"
|
||||
"src/harmony-regexp.js",
|
||||
]
|
||||
|
||||
outputs = [
|
||||
"$target_gen_dir/experimental-libraries.cc"
|
||||
"$target_gen_dir/experimental-libraries.cc",
|
||||
]
|
||||
|
||||
args = [
|
||||
rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir),
|
||||
"EXPERIMENTAL",
|
||||
] + rebase_path(sources, root_build_dir)
|
||||
rebase_path("$target_gen_dir/experimental-libraries.cc",
|
||||
root_build_dir),
|
||||
"EXPERIMENTAL",
|
||||
] + rebase_path(sources, root_build_dir)
|
||||
|
||||
if (v8_use_external_startup_data) {
|
||||
outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
|
||||
args += [
|
||||
"--startup_blob",
|
||||
rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir)
|
||||
rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir),
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -271,16 +260,16 @@ if (v8_use_external_startup_data) {
|
||||
|
||||
deps = [
|
||||
":js2c",
|
||||
":js2c_experimental"
|
||||
":js2c_experimental",
|
||||
]
|
||||
|
||||
sources = [
|
||||
"$target_gen_dir/libraries.bin",
|
||||
"$target_gen_dir/libraries_experimental.bin"
|
||||
"$target_gen_dir/libraries_experimental.bin",
|
||||
]
|
||||
|
||||
outputs = [
|
||||
"$root_out_dir/natives_blob.bin"
|
||||
"$root_out_dir/natives_blob.bin",
|
||||
]
|
||||
|
||||
script = "tools/concatenate-files.py"
|
||||
@ -300,23 +289,24 @@ action("postmortem-metadata") {
|
||||
]
|
||||
|
||||
outputs = [
|
||||
"$target_gen_dir/debug-support.cc"
|
||||
"$target_gen_dir/debug-support.cc",
|
||||
]
|
||||
|
||||
args =
|
||||
rebase_path(outputs, root_build_dir) +
|
||||
rebase_path(sources, root_build_dir)
|
||||
args = rebase_path(outputs, root_build_dir) +
|
||||
rebase_path(sources, root_build_dir)
|
||||
}
|
||||
|
||||
action("run_mksnapshot") {
|
||||
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
||||
|
||||
deps = [ ":mksnapshot($host_toolchain)" ]
|
||||
deps = [
|
||||
":mksnapshot($host_toolchain)",
|
||||
]
|
||||
|
||||
script = "tools/run.py"
|
||||
|
||||
outputs = [
|
||||
"$target_gen_dir/snapshot.cc"
|
||||
"$target_gen_dir/snapshot.cc",
|
||||
]
|
||||
|
||||
args = [
|
||||
@ -324,24 +314,27 @@ action("run_mksnapshot") {
|
||||
"root_out_dir") + "/mksnapshot",
|
||||
root_build_dir),
|
||||
"--log-snapshot-positions",
|
||||
"--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
|
||||
rebase_path("$target_gen_dir/snapshot.cc", root_build_dir)
|
||||
"--logfile",
|
||||
rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
|
||||
rebase_path("$target_gen_dir/snapshot.cc", root_build_dir),
|
||||
]
|
||||
|
||||
if (v8_random_seed != "0") {
|
||||
args += [ "--random-seed", v8_random_seed ]
|
||||
args += [
|
||||
"--random-seed",
|
||||
v8_random_seed,
|
||||
]
|
||||
}
|
||||
|
||||
if (v8_use_external_startup_data) {
|
||||
outputs += [ "$root_out_dir/snapshot_blob.bin" ]
|
||||
args += [
|
||||
"--startup_blob",
|
||||
rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir)
|
||||
rebase_path("$root_out_dir/snapshot_blob.bin", root_build_dir),
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Source Sets (aka static libraries)
|
||||
#
|
||||
@ -363,7 +356,11 @@ source_set("v8_nosnapshot") {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("v8_snapshot") {
|
||||
@ -384,7 +381,11 @@ source_set("v8_snapshot") {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
}
|
||||
|
||||
if (v8_use_external_startup_data) {
|
||||
@ -406,7 +407,11 @@ if (v8_use_external_startup_data) {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -1211,7 +1216,11 @@ source_set("v8_base") {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
if (!is_debug) {
|
||||
configs -= [ "//build/config/compiler:optimize" ]
|
||||
@ -1219,7 +1228,9 @@ source_set("v8_base") {
|
||||
}
|
||||
|
||||
defines = []
|
||||
deps = [ ":v8_libbase" ]
|
||||
deps = [
|
||||
":v8_libbase",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
|
||||
@ -1231,6 +1242,7 @@ source_set("v8_base") {
|
||||
if (is_win) {
|
||||
deps += [ "//third_party/icu:icudata" ]
|
||||
}
|
||||
|
||||
# TODO(jochen): Add support for icu_use_data_file_flag
|
||||
defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ]
|
||||
} else {
|
||||
@ -1299,7 +1311,11 @@ source_set("v8_libbase") {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config_base", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config_base",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
if (!is_debug) {
|
||||
configs -= [ "//build/config/compiler:optimize" ]
|
||||
@ -1309,15 +1325,11 @@ source_set("v8_libbase") {
|
||||
defines = []
|
||||
|
||||
if (is_posix) {
|
||||
sources += [
|
||||
"src/base/platform/platform-posix.cc"
|
||||
]
|
||||
sources += [ "src/base/platform/platform-posix.cc" ]
|
||||
}
|
||||
|
||||
if (is_linux) {
|
||||
sources += [
|
||||
"src/base/platform/platform-linux.cc"
|
||||
]
|
||||
sources += [ "src/base/platform/platform-linux.cc" ]
|
||||
|
||||
libs = [ "rt" ]
|
||||
} else if (is_android) {
|
||||
@ -1346,7 +1358,10 @@ source_set("v8_libbase") {
|
||||
|
||||
defines += [ "_CRT_RAND_S" ] # for rand_s()
|
||||
|
||||
libs = [ "winmm.lib", "ws2_32.lib" ]
|
||||
libs = [
|
||||
"winmm.lib",
|
||||
"ws2_32.lib",
|
||||
]
|
||||
}
|
||||
|
||||
# TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
|
||||
@ -1365,7 +1380,11 @@ source_set("v8_libplatform") {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config_base", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config_base",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
if (!is_debug) {
|
||||
configs -= [ "//build/config/compiler:optimize" ]
|
||||
@ -1391,7 +1410,11 @@ if (current_toolchain == host_toolchain) {
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":v8_base",
|
||||
@ -1400,6 +1423,43 @@ if (current_toolchain == host_toolchain) {
|
||||
"//build/config/sanitizers:deps",
|
||||
]
|
||||
}
|
||||
|
||||
executable("d8") {
|
||||
sources = [
|
||||
"src/d8.cc",
|
||||
]
|
||||
deps = [
|
||||
":d8_js2c",
|
||||
":v8",
|
||||
":v8_libplatform",
|
||||
]
|
||||
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
# TODO(GYP): Build option for readline support.
|
||||
|
||||
if (is_posix) {
|
||||
sources += [ "src/d8-posix.cc" ]
|
||||
} else if (is_win) {
|
||||
sources += [ "src/d8-windows.cc" ]
|
||||
}
|
||||
|
||||
if (component_mode != "shared_library") {
|
||||
sources += [
|
||||
"src/d8-debug.cc",
|
||||
"$target_gen_dir/d8-js.cc",
|
||||
]
|
||||
}
|
||||
if (v8_enable_i18n_support) {
|
||||
deps += [ "//third_party/icu" ]
|
||||
}
|
||||
|
||||
# TODO(GYP) v8_enable_vtunejit support in d8.
|
||||
}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -1407,64 +1467,64 @@ if (current_toolchain == host_toolchain) {
|
||||
#
|
||||
|
||||
if (component_mode == "shared_library") {
|
||||
component("v8") {
|
||||
sources = [
|
||||
"src/v8dll-main.cc",
|
||||
]
|
||||
|
||||
component("v8") {
|
||||
sources = [
|
||||
"src/v8dll-main.cc",
|
||||
]
|
||||
if (v8_use_snapshot && v8_use_external_startup_data) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_external_snapshot",
|
||||
]
|
||||
} else if (v8_use_snapshot) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_snapshot",
|
||||
]
|
||||
} else {
|
||||
assert(!v8_use_external_startup_data)
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_nosnapshot",
|
||||
]
|
||||
}
|
||||
|
||||
if (v8_use_snapshot && v8_use_external_startup_data) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_external_snapshot",
|
||||
]
|
||||
} else if (v8_use_snapshot) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_snapshot",
|
||||
]
|
||||
} else {
|
||||
assert(!v8_use_external_startup_data)
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_nosnapshot",
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [
|
||||
":internal_config",
|
||||
":features",
|
||||
":toolchain",
|
||||
]
|
||||
|
||||
direct_dependent_configs = [ ":external_config" ]
|
||||
|
||||
libs = []
|
||||
if (is_android && current_toolchain != host_toolchain) {
|
||||
libs += [ "log" ]
|
||||
}
|
||||
}
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":internal_config", ":features", ":toolchain" ]
|
||||
|
||||
direct_dependent_configs = [ ":external_config" ]
|
||||
|
||||
libs = []
|
||||
if (is_android && current_toolchain != host_toolchain) {
|
||||
libs += [ "log" ]
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
group("v8") {
|
||||
if (v8_use_snapshot && v8_use_external_startup_data) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_external_snapshot",
|
||||
]
|
||||
} else if (v8_use_snapshot) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_snapshot",
|
||||
]
|
||||
} else {
|
||||
assert(!v8_use_external_startup_data)
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_nosnapshot",
|
||||
]
|
||||
}
|
||||
|
||||
group("v8") {
|
||||
if (v8_use_snapshot && v8_use_external_startup_data) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_external_snapshot",
|
||||
]
|
||||
} else if (v8_use_snapshot) {
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_snapshot",
|
||||
]
|
||||
} else {
|
||||
assert(!v8_use_external_startup_data)
|
||||
deps = [
|
||||
":v8_base",
|
||||
":v8_nosnapshot",
|
||||
]
|
||||
direct_dependent_configs = [ ":external_config" ]
|
||||
}
|
||||
|
||||
direct_dependent_configs = [ ":external_config" ]
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user