| Index: BUILD.gn
|
| diff --git a/BUILD.gn b/BUILD.gn
|
| index 6534eea85948104dffd43635282a3d14f370bc82..08723de2a8fb6631e11e91c3ff3523d27c592acd 100644
|
| --- a/BUILD.gn
|
| +++ b/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",
|
| + ]
|
| }
|
| }
|
|
|
| @@ -1209,7 +1214,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" ]
|
| @@ -1217,7 +1226,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.
|
| @@ -1229,6 +1240,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 {
|
| @@ -1297,7 +1309,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" ]
|
| @@ -1307,15 +1323,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) {
|
| @@ -1344,7 +1356,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.
|
| @@ -1363,7 +1378,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" ]
|
| @@ -1389,7 +1408,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",
|
| @@ -1398,71 +1421,108 @@ if (current_toolchain == host_toolchain) {
|
| "//build/config/sanitizers:deps",
|
| ]
|
| }
|
| -}
|
| -
|
| -###############################################################################
|
| -# Public targets
|
| -#
|
| -
|
| -if (component_mode == "shared_library") {
|
| -
|
| -component("v8") {
|
| - sources = [
|
| - "src/v8dll-main.cc",
|
| - ]
|
|
|
| - if (v8_use_snapshot && v8_use_external_startup_data) {
|
| - deps = [
|
| - ":v8_base",
|
| - ":v8_external_snapshot",
|
| + executable("d8") {
|
| + sources = [
|
| + "src/d8.cc",
|
| ]
|
| - } else if (v8_use_snapshot) {
|
| deps = [
|
| - ":v8_base",
|
| - ":v8_snapshot",
|
| + ":d8_js2c",
|
| + ":v8",
|
| + ":v8_libplatform",
|
| ]
|
| - } else {
|
| - assert(!v8_use_external_startup_data)
|
| - deps = [
|
| - ":v8_base",
|
| - ":v8_nosnapshot",
|
| +
|
| + configs += [
|
| + ":internal_config",
|
| + ":features",
|
| + ":toolchain",
|
| ]
|
| - }
|
|
|
| - configs -= [ "//build/config/compiler:chromium_code" ]
|
| - configs += [ "//build/config/compiler:no_chromium_code" ]
|
| - configs += [ ":internal_config", ":features", ":toolchain" ]
|
| + # TODO(GYP): Build option for readline support.
|
|
|
| - direct_dependent_configs = [ ":external_config" ]
|
| + if (is_posix) {
|
| + sources += [ "src/d8-posix.cc" ]
|
| + } else if (is_win) {
|
| + sources += [ "src/d8-windows.cc" ]
|
| + }
|
|
|
| - libs = []
|
| - if (is_android && current_toolchain != host_toolchain) {
|
| - libs += [ "log" ]
|
| + 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.
|
| }
|
| }
|
|
|
| -} else {
|
| +###############################################################################
|
| +# Public targets
|
| +#
|
|
|
| -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",
|
| +if (component_mode == "shared_library") {
|
| + component("v8") {
|
| + sources = [
|
| + "src/v8dll-main.cc",
|
| ]
|
| - } 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" ]
|
| -}
|
| + 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",
|
| + ]
|
| + }
|
| +
|
| + direct_dependent_configs = [ ":external_config" ]
|
| + }
|
| }
|
|
|