From 778c6f7fd7c1aa9680180dad5d44af7a3158b94e Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 20 Jan 2015 03:31:44 -0800 Subject: [PATCH] Add d8 target to BUILD.gn R=machenbach@chromium.org,brettw@chromium.org LOG=n BUG=none Review URL: https://codereview.chromium.org/846743004 Cr-Commit-Position: refs/heads/master@{#26151} --- BUILD.gn | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/BUILD.gn b/BUILD.gn index 1be045c483..1605495e68 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -20,6 +20,7 @@ v8_postmortem_support = false v8_use_snapshot = true v8_target_arch = cpu_arch v8_random_seed = "314159265" +v8_toolset_for_d8 = "host" ############################################################################### # Configurations @@ -233,6 +234,24 @@ action("js2c_experimental") { } } +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) +} + if (v8_use_external_startup_data) { action("natives_blob") { visibility = [ ":*" ] # Only targets in this file can depend on this. @@ -1474,3 +1493,46 @@ if (component_mode == "shared_library") { direct_dependent_configs = [ ":external_config" ] } } + +if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || + (current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) { + executable("d8") { + sources = [ + "src/d8.cc", + "src/d8.h", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + configs += [ + ":internal_config", + ":features", + ":toolchain", + ] + + deps = [ + ":d8_js2c", + ":v8", + ":v8_libplatform", + "//build/config/sanitizers:deps", + ] + + # TODO(jochen): Add support for readline and vtunejit. + + 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" ] + } + } +}