| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # Because standalone V8 builds are not supported, assume this is part of a | 5 # Because standalone V8 builds are not supported, assume this is part of a |
| 6 # Chromium build. | 6 # Chromium build. |
| 7 import("//build/module_args/v8.gni") | 7 import("//build/module_args/v8.gni") |
| 8 | 8 |
| 9 # TODO(jochen): These will need to be user-settable to support standalone V8 | 9 # TODO(jochen): These will need to be user-settable to support standalone V8 |
| 10 # builds. | 10 # builds. |
| 11 v8_deprecation_warnings = false | 11 v8_deprecation_warnings = false |
| 12 v8_enable_disassembler = false | 12 v8_enable_disassembler = false |
| 13 v8_enable_gdbjit = false | 13 v8_enable_gdbjit = false |
| 14 v8_enable_handle_zapping = true | 14 v8_enable_handle_zapping = true |
| 15 v8_enable_i18n_support = true | 15 v8_enable_i18n_support = true |
| 16 v8_enable_verify_heap = false | 16 v8_enable_verify_heap = false |
| 17 v8_interpreted_regexp = false | 17 v8_interpreted_regexp = false |
| 18 v8_object_print = false | 18 v8_object_print = false |
| 19 v8_postmortem_support = false | 19 v8_postmortem_support = false |
| 20 v8_use_snapshot = true | 20 v8_use_snapshot = true |
| 21 v8_target_arch = cpu_arch | 21 v8_target_arch = cpu_arch |
| 22 v8_random_seed = "314159265" | 22 v8_random_seed = "314159265" |
| 23 v8_toolset_for_d8 = "host" |
| 23 | 24 |
| 24 ############################################################################### | 25 ############################################################################### |
| 25 # Configurations | 26 # Configurations |
| 26 # | 27 # |
| 27 config("internal_config") { | 28 config("internal_config") { |
| 28 visibility = [ ":*" ] # Only targets in this file can depend on this. | 29 visibility = [ ":*" ] # Only targets in this file can depend on this. |
| 29 | 30 |
| 30 include_dirs = [ "." ] | 31 include_dirs = [ "." ] |
| 31 | 32 |
| 32 if (component_mode == "shared_library") { | 33 if (component_mode == "shared_library") { |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 | 227 |
| 227 if (v8_use_external_startup_data) { | 228 if (v8_use_external_startup_data) { |
| 228 outputs += [ "$target_gen_dir/libraries_experimental.bin" ] | 229 outputs += [ "$target_gen_dir/libraries_experimental.bin" ] |
| 229 args += [ | 230 args += [ |
| 230 "--startup_blob", | 231 "--startup_blob", |
| 231 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), | 232 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir), |
| 232 ] | 233 ] |
| 233 } | 234 } |
| 234 } | 235 } |
| 235 | 236 |
| 237 action("d8_js2c") { |
| 238 visibility = [ ":*" ] # Only targets in this file can depend on this. |
| 239 |
| 240 script = "tools/js2c.py" |
| 241 |
| 242 inputs = [ |
| 243 "src/d8.js", |
| 244 "src/macros.py", |
| 245 ] |
| 246 |
| 247 outputs = [ |
| 248 "$target_gen_dir/d8-js.cc", |
| 249 ] |
| 250 |
| 251 args = rebase_path(outputs, root_build_dir) + [ "D8" ] + |
| 252 rebase_path(inputs, root_build_dir) |
| 253 } |
| 254 |
| 236 if (v8_use_external_startup_data) { | 255 if (v8_use_external_startup_data) { |
| 237 action("natives_blob") { | 256 action("natives_blob") { |
| 238 visibility = [ ":*" ] # Only targets in this file can depend on this. | 257 visibility = [ ":*" ] # Only targets in this file can depend on this. |
| 239 | 258 |
| 240 deps = [ | 259 deps = [ |
| 241 ":js2c", | 260 ":js2c", |
| 242 ":js2c_experimental", | 261 ":js2c_experimental", |
| 243 ] | 262 ] |
| 244 | 263 |
| 245 sources = [ | 264 sources = [ |
| (...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1467 assert(!v8_use_external_startup_data) | 1486 assert(!v8_use_external_startup_data) |
| 1468 deps = [ | 1487 deps = [ |
| 1469 ":v8_base", | 1488 ":v8_base", |
| 1470 ":v8_nosnapshot", | 1489 ":v8_nosnapshot", |
| 1471 ] | 1490 ] |
| 1472 } | 1491 } |
| 1473 | 1492 |
| 1474 direct_dependent_configs = [ ":external_config" ] | 1493 direct_dependent_configs = [ ":external_config" ] |
| 1475 } | 1494 } |
| 1476 } | 1495 } |
| 1496 |
| 1497 if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || |
| 1498 (current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) { |
| 1499 executable("d8") { |
| 1500 sources = [ |
| 1501 "src/d8.cc", |
| 1502 "src/d8.h", |
| 1503 ] |
| 1504 |
| 1505 configs -= [ "//build/config/compiler:chromium_code" ] |
| 1506 configs += [ "//build/config/compiler:no_chromium_code" ] |
| 1507 configs += [ |
| 1508 ":internal_config", |
| 1509 ":features", |
| 1510 ":toolchain", |
| 1511 ] |
| 1512 |
| 1513 deps = [ |
| 1514 ":d8_js2c", |
| 1515 ":v8", |
| 1516 ":v8_libplatform", |
| 1517 "//build/config/sanitizers:deps", |
| 1518 ] |
| 1519 |
| 1520 # TODO(jochen): Add support for readline and vtunejit. |
| 1521 |
| 1522 if (is_posix) { |
| 1523 sources += [ "src/d8-posix.cc" ] |
| 1524 } else if (is_win) { |
| 1525 sources += [ "src/d8-windows.cc" ] |
| 1526 } |
| 1527 |
| 1528 if (component_mode != "shared_library") { |
| 1529 sources += [ |
| 1530 "src/d8-debug.cc", |
| 1531 "$target_gen_dir/d8-js.cc", |
| 1532 ] |
| 1533 } |
| 1534 if (v8_enable_i18n_support) { |
| 1535 deps += [ "//third_party/icu" ] |
| 1536 } |
| 1537 } |
| 1538 } |
| OLD | NEW |