Commit b4394e5b authored by jochen@chromium.org's avatar jochen@chromium.org

Some progress on translating toolchain.gypi to gn

BUG=none
R=brettw@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/299173002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 32f433c1
...@@ -13,18 +13,11 @@ v8_enable_i18n_support = true ...@@ -13,18 +13,11 @@ v8_enable_i18n_support = true
v8_enable_verify_heap = false v8_enable_verify_heap = false
v8_interpreted_regexp = false v8_interpreted_regexp = false
v8_object_print = false v8_object_print = false
#v8_postmortem_support = false v8_postmortem_support = false
v8_use_default_platform = true v8_use_default_platform = true
#v8_use_snapshot = true #v8_use_snapshot = true
v8_enable_extra_checks = is_debug
if (is_debug) { v8_target_arch = cpu_arch
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.
############################################################################### ###############################################################################
...@@ -105,11 +98,55 @@ config("features") { ...@@ -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 # Actions
# #
# TODO(jochen): Do actions need visibility settings as well?
action("generate_trig_table") { action("generate_trig_table") {
visibility = ":*" # Only targets in this file can depend on this. visibility = ":*" # Only targets in this file can depend on this.
...@@ -162,7 +199,7 @@ action("js2c") { ...@@ -162,7 +199,7 @@ action("js2c") {
args = args =
rebase_path(outputs, root_build_dir) + rebase_path(outputs, root_build_dir) +
[ "EXPERIMENTAL", v8_compress_startup_data ] + [ "EXPERIMENTAL", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir) rebase_path(sources, root_build_dir)
} }
...@@ -195,7 +232,7 @@ action("js2c_experimental") { ...@@ -195,7 +232,7 @@ action("js2c_experimental") {
args = args =
rebase_path(outputs, root_build_dir) + rebase_path(outputs, root_build_dir) +
[ "CORE", v8_compress_startup_data ] + [ "CORE", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir) rebase_path(sources, root_build_dir)
} }
...@@ -241,7 +278,7 @@ source_set("v8_nosnapshot") { ...@@ -241,7 +278,7 @@ source_set("v8_nosnapshot") {
configs -= [ "//build/config/compiler:chromium_code" ] configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ]
configs += [ ":internal_config", ":features" ] configs += [ ":internal_config", ":features", ":toolchain" ]
} }
source_set("v8_base") { source_set("v8_base") {
...@@ -605,7 +642,7 @@ source_set("v8_base") { ...@@ -605,7 +642,7 @@ source_set("v8_base") {
"src/zone.h", "src/zone.h",
] ]
if (cpu_arch == "x86") { if (v8_target_arch == "x86") {
sources += [ sources += [
"src/ia32/assembler-ia32-inl.h", "src/ia32/assembler-ia32-inl.h",
"src/ia32/assembler-ia32.cc", "src/ia32/assembler-ia32.cc",
...@@ -635,7 +672,7 @@ source_set("v8_base") { ...@@ -635,7 +672,7 @@ source_set("v8_base") {
"src/ia32/regexp-macro-assembler-ia32.h", "src/ia32/regexp-macro-assembler-ia32.h",
"src/ia32/stub-cache-ia32.cc", "src/ia32/stub-cache-ia32.cc",
] ]
} else if (cpu_arch == "x64") { } else if (v8_target_arch == "x64") {
sources += [ sources += [
"src/x64/assembler-x64-inl.h", "src/x64/assembler-x64-inl.h",
"src/x64/assembler-x64.cc", "src/x64/assembler-x64.cc",
...@@ -665,7 +702,7 @@ source_set("v8_base") { ...@@ -665,7 +702,7 @@ source_set("v8_base") {
"src/x64/regexp-macro-assembler-x64.h", "src/x64/regexp-macro-assembler-x64.h",
"src/x64/stub-cache-x64.cc", "src/x64/stub-cache-x64.cc",
] ]
} else if (cpu_arch == "arm") { } else if (v8_target_arch == "arm") {
sources += [ sources += [
"src/arm/assembler-arm-inl.h", "src/arm/assembler-arm-inl.h",
"src/arm/assembler-arm.cc", "src/arm/assembler-arm.cc",
...@@ -698,7 +735,7 @@ source_set("v8_base") { ...@@ -698,7 +735,7 @@ source_set("v8_base") {
"src/arm/simulator-arm.cc", "src/arm/simulator-arm.cc",
"src/arm/stub-cache-arm.cc", "src/arm/stub-cache-arm.cc",
] ]
} else if (cpu_arch == "arm64") { } else if (v8_target_arch == "arm64") {
sources += [ sources += [
"src/arm64/assembler-arm64.cc", "src/arm64/assembler-arm64.cc",
"src/arm64/assembler-arm64.h", "src/arm64/assembler-arm64.h",
...@@ -742,7 +779,7 @@ source_set("v8_base") { ...@@ -742,7 +779,7 @@ source_set("v8_base") {
"src/arm64/utils-arm64.cc", "src/arm64/utils-arm64.cc",
"src/arm64/utils-arm64.h", "src/arm64/utils-arm64.h",
] ]
} else if (cpu_arch == "mipsel") { } else if (v8_target_arch == "mipsel") {
sources += [ sources += [
"src/mips/assembler-mips.cc", "src/mips/assembler-mips.cc",
"src/mips/assembler-mips.h", "src/mips/assembler-mips.h",
...@@ -779,10 +816,10 @@ source_set("v8_base") { ...@@ -779,10 +816,10 @@ source_set("v8_base") {
configs -= [ "//build/config/compiler:chromium_code" ] configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ]
configs += [ ":internal_config", ":features" ] configs += [ ":internal_config", ":features", ":toolchain" ]
defines = [] defines = []
deps = [] deps = [ ":v8_libbase" ]
if (is_posix) { if (is_posix) {
sources += [ sources += [
...@@ -795,21 +832,30 @@ source_set("v8_base") { ...@@ -795,21 +832,30 @@ source_set("v8_base") {
"src/platform-linux.cc" "src/platform-linux.cc"
] ]
# TODO(brettw)
# 'conditions': [
# ['v8_compress_startup_data=="bz2"', {
# 'libraries': [
# '-lbz2',
# ]
# }],
# ],
libs = [ "rt" ] libs = [ "rt" ]
if (v8_compress_startup_data == "bz2") {
libs += [ "bz2" ]
}
} else if (is_android) { } 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) { } else if (is_mac) {
sources += [ "src/platform-macos,cc" ] sources += [ "src/platform-macos,cc" ]
} else if (is_win) { } else if (is_win) {
# TODO(jochen): Add support for cygwin.
sources += [ sources += [
"src/platform-win32.cc", "src/platform-win32.cc",
"src/win32-math.cc", "src/win32-math.cc",
...@@ -821,12 +867,16 @@ source_set("v8_base") { ...@@ -821,12 +867,16 @@ source_set("v8_base") {
libs = [ "winmm.lib", "ws2_32.lib" ] libs = [ "winmm.lib", "ws2_32.lib" ]
} }
# TODO(jochen): Add support for qnx, freebsd, openbsd, netbsd, and solaris.
if (v8_enable_i18n_support) { if (v8_enable_i18n_support) {
deps += [ "//third_party/icu" ] deps += [ "//third_party/icu" ]
if (is_win) { if (is_win) {
deps += [ "//third_party/icu:icudata" ] 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 { } else {
sources -= [ sources -= [
"src/i18n.cc", "src/i18n.cc",
...@@ -834,16 +884,29 @@ source_set("v8_base") { ...@@ -834,16 +884,29 @@ source_set("v8_base") {
] ]
} }
# TODO(brettw) other conditions from v8.gyp if (v8_postmortem_support) {
# TODO(brettw) icu_use_data_file_flag 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 # Executables
# #
# TODO(jochen): Remove this as soon as toolchain.gypi is integrated. if (current_toolchain != host_toolchain && is_android) {
if (build_cpu_arch != cpu_arch) {
source_set("mksnapshot") { source_set("mksnapshot") {
sources = [ sources = [
...@@ -859,7 +922,7 @@ executable("mksnapshot") { ...@@ -859,7 +922,7 @@ executable("mksnapshot") {
configs -= [ "//build/config/compiler:chromium_code" ] configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ]
configs += [ ":internal_config", ":features" ] configs += [ ":internal_config", ":features", ":toolchain" ]
deps = [ deps = [
":v8_base", ":v8_base",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment