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

Unified Diff: BUILD.gn

Issue 299173002: Some progress on translating toolchain.gypi to gn (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: updates Created 6 years, 7 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 7d0989527f9a23641786ffd78be6540ea115b710..670830e7cc23275dab3071704066265f14daee9e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -13,18 +13,11 @@ v8_enable_i18n_support = true
v8_enable_verify_heap = false
v8_interpreted_regexp = false
v8_object_print = false
-#v8_postmortem_support = false
+v8_postmortem_support = false
v8_use_default_platform = true
#v8_use_snapshot = true
-
-if (is_debug) {
- v8_enable_extra_checks = true
-} else {
- v8_enable_extra_checks = false
-}
-
-# TODO(jochen): Add support for want_seperate_host_toolset.
-# TODO(jochen): Add toolchain.gypi support.
+v8_enable_extra_checks = is_debug
+v8_target_arch = cpu_arch
###############################################################################
@@ -105,11 +98,55 @@ config("features") {
}
}
+config("toolchain") {
+ visibility = ":*" # Only targets in this file can depend on this.
+
+ defines = []
+ cflags = []
+
+ # TODO(jochen): Add support for arm, mips, mipsel.
+
+ if (v8_target_arch == "arm64") {
+ defines += [
+ "V8_TARGET_ARCH_ARM64",
+ ]
+ }
+ if (v8_target_arch == "x86") {
+ defines += [
+ "V8_TARGET_ARCH_IA32",
+ ]
+ }
+ if (v8_target_arch == "x64") {
+ defines += [
+ "V8_TARGET_ARCH_X64",
+ ]
+ }
+ if (is_win) {
+ defines += [
+ "WIN32",
+ ]
+ # TODO(jochen): Support v8_enable_prof.
+ }
+
+ # TODO(jochen): Add support for compiling with simulators.
+
+ if (is_debug) {
+ # TODO(jochen): Add support for different debug optimization levels.
+ defines += [
+ "ENABLE_DISASSEMBLER",
+ "V8_ENABLE_CHECKS",
+ "OBJECT_PRINT",
+ "VERIFY_HEAP",
+ "DEBUG",
+ "OPTIMIZED_DEBUG",
+ ]
+ }
+}
+
###############################################################################
# Actions
#
-# TODO(jochen): Do actions need visibility settings as well?
action("generate_trig_table") {
visibility = ":*" # Only targets in this file can depend on this.
@@ -162,7 +199,7 @@ action("js2c") {
args =
rebase_path(outputs, root_build_dir) +
- [ "EXPERIMENTAL", v8_compress_startup_data ] +
+ [ "EXPERIMENTAL", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir)
}
@@ -195,7 +232,7 @@ action("js2c_experimental") {
args =
rebase_path(outputs, root_build_dir) +
- [ "CORE", v8_compress_startup_data ] +
+ [ "CORE", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir)
}
@@ -241,7 +278,7 @@ source_set("v8_nosnapshot") {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
- configs += [ ":internal_config", ":features" ]
+ configs += [ ":internal_config", ":features", ":toolchain" ]
}
source_set("v8_base") {
@@ -605,7 +642,7 @@ source_set("v8_base") {
"src/zone.h",
]
- if (cpu_arch == "x86") {
+ if (v8_target_arch == "x86") {
sources += [
"src/ia32/assembler-ia32-inl.h",
"src/ia32/assembler-ia32.cc",
@@ -635,7 +672,7 @@ source_set("v8_base") {
"src/ia32/regexp-macro-assembler-ia32.h",
"src/ia32/stub-cache-ia32.cc",
]
- } else if (cpu_arch == "x64") {
+ } else if (v8_target_arch == "x64") {
sources += [
"src/x64/assembler-x64-inl.h",
"src/x64/assembler-x64.cc",
@@ -665,7 +702,7 @@ source_set("v8_base") {
"src/x64/regexp-macro-assembler-x64.h",
"src/x64/stub-cache-x64.cc",
]
- } else if (cpu_arch == "arm") {
+ } else if (v8_target_arch == "arm") {
sources += [
"src/arm/assembler-arm-inl.h",
"src/arm/assembler-arm.cc",
@@ -698,7 +735,7 @@ source_set("v8_base") {
"src/arm/simulator-arm.cc",
"src/arm/stub-cache-arm.cc",
]
- } else if (cpu_arch == "arm64") {
+ } else if (v8_target_arch == "arm64") {
sources += [
"src/arm64/assembler-arm64.cc",
"src/arm64/assembler-arm64.h",
@@ -742,7 +779,7 @@ source_set("v8_base") {
"src/arm64/utils-arm64.cc",
"src/arm64/utils-arm64.h",
]
- } else if (cpu_arch == "mipsel") {
+ } else if (v8_target_arch == "mipsel") {
sources += [
"src/mips/assembler-mips.cc",
"src/mips/assembler-mips.h",
@@ -779,10 +816,10 @@ source_set("v8_base") {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
- configs += [ ":internal_config", ":features" ]
+ configs += [ ":internal_config", ":features", ":toolchain" ]
defines = []
- deps = []
+ deps = [ ":v8_libbase" ]
if (is_posix) {
sources += [
@@ -795,21 +832,30 @@ source_set("v8_base") {
"src/platform-linux.cc"
]
- # TODO(brettw)
- # 'conditions': [
- # ['v8_compress_startup_data=="bz2"', {
- # 'libraries': [
- # '-lbz2',
- # ]
- # }],
- # ],
-
libs = [ "rt" ]
+ if (v8_compress_startup_data == "bz2") {
+ libs += [ "bz2" ]
+ }
} else if (is_android) {
- # TODO(brettw) OS=="android" condition from tools/gyp/v8.gyp
+ defines += [ "CAN_USE_VFP_INSTRUCTIONS" ]
+ sources += [ "src/platform-posix,cc" ]
+
+ if (build_os == "mac") {
+ if (current_toolchain == host_toolchain) {
+ sources += [ "src/platform-macos.cc" ]
+ } else {
+ sources += [ "src/platform-linux.cc" ]
+ }
+ } else {
+ sources += [ "src/platform-linux.cc" ]
+ if (current_toolchain == host_toolchain) {
+ defines += [ "V8_LIBRT_NOT_AVAILABLE" ]
+ }
+ }
} else if (is_mac) {
sources += [ "src/platform-macos,cc" ]
} else if (is_win) {
+ # TODO(jochen): Add support for cygwin.
sources += [
"src/platform-win32.cc",
"src/win32-math.cc",
@@ -821,12 +867,16 @@ source_set("v8_base") {
libs = [ "winmm.lib", "ws2_32.lib" ]
}
+ # TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
+
if (v8_enable_i18n_support) {
deps += [ "//third_party/icu" ]
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 {
sources -= [
"src/i18n.cc",
@@ -834,16 +884,29 @@ source_set("v8_base") {
]
}
- # TODO(brettw) other conditions from v8.gyp
- # TODO(brettw) icu_use_data_file_flag
+ if (v8_postmortem_support) {
+ sources += [ "$target_gen_dir/debug-support.cc" ]
+ deps += [ ":postmortem-metadata" ]
+ }
+}
+
+source_set("v8_libbase") {
+ visibility = ":*" # Only targets in this file can depend on this.
+
+ sources = [
+ "src/base/macros.h",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":internal_config", ":features", ":toolchain" ]
}
###############################################################################
# Executables
#
-# TODO(jochen): Remove this as soon as toolchain.gypi is integrated.
-if (build_cpu_arch != cpu_arch) {
+if (current_toolchain != host_toolchain && is_android) {
source_set("mksnapshot") {
sources = [
@@ -859,7 +922,7 @@ executable("mksnapshot") {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
- configs += [ ":internal_config", ":features" ]
+ configs += [ ":internal_config", ":features", ":toolchain" ]
deps = [
":v8_base",
« 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