Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Unified Diff: BUILD.gn

Issue 834113005: Add d8 target to the GN build. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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" ]
+ }
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698