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

Side by Side Diff: BUILD.gn

Issue 1350223004: Split the GN 'snapshot_toolchain' logic out into an include file. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: update license header Created 5 years, 3 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 unified diff | Download patch
« no previous file with comments | « no previous file | snapshot_toolchain.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/arm.gni") 6 import("//build/config/arm.gni")
7 import("//build/config/mips.gni") 7 import("//build/config/mips.gni")
8 import("//build/config/sanitizers/sanitizers.gni") 8 import("//build/config/sanitizers/sanitizers.gni")
9 9
10 # Because standalone V8 builds are not supported, assume this is part of a 10 # Because standalone V8 builds are not supported, assume this is part of a
11 # Chromium build. 11 # Chromium build.
12 import("//build/module_args/v8.gni") 12 import("//build/module_args/v8.gni")
13 13
14 import("snapshot_toolchain.gni")
15
14 # TODO(jochen): These will need to be user-settable to support standalone V8 16 # TODO(jochen): These will need to be user-settable to support standalone V8
15 # builds. 17 # builds.
16 v8_deprecation_warnings = false 18 v8_deprecation_warnings = false
17 v8_enable_disassembler = false 19 v8_enable_disassembler = false
18 v8_enable_gdbjit = false 20 v8_enable_gdbjit = false
19 v8_enable_handle_zapping = true 21 v8_enable_handle_zapping = true
20 v8_enable_i18n_support = true 22 v8_enable_i18n_support = true
21 v8_enable_verify_heap = false 23 v8_enable_verify_heap = false
22 v8_interpreted_regexp = false 24 v8_interpreted_regexp = false
23 v8_object_print = false 25 v8_object_print = false
24 v8_postmortem_support = false 26 v8_postmortem_support = false
25 v8_use_snapshot = true 27 v8_use_snapshot = true
26 v8_random_seed = "314159265" 28 v8_random_seed = "314159265"
27 v8_toolset_for_d8 = "host" 29 v8_toolset_for_d8 = "host"
28 30
29 if (is_msan) { 31 if (is_msan) {
30 # Running the V8-generated code on an ARM simulator is a powerful hack that 32 # Running the V8-generated code on an ARM simulator is a powerful hack that
31 # allows the tool to see the memory accesses from JITted code. Without this 33 # allows the tool to see the memory accesses from JITted code. Without this
32 # flag, JS code causes false positive reports from MSan. 34 # flag, JS code causes false positive reports from MSan.
33 v8_target_arch = "arm64" 35 v8_target_arch = "arm64"
34 } else { 36 } else {
35 v8_target_arch = target_cpu 37 v8_target_arch = target_cpu
36 } 38 }
37 39
38 # The snapshot needs to be compiled for the host, but compiled with
39 # a toolchain that matches the bit-width of the target.
40 #
41 # TODO(GYP): For now we only support 32-bit little-endian target builds from an
42 # x64 Linux host. Eventually we need to support all of the host/target
43 # configurations v8 runs on.
44 if (host_cpu == "x64" && host_os == "linux") {
45 if (target_cpu == "arm" || target_cpu == "mipsel" || target_cpu == "x86") {
46 snapshot_toolchain = "//build/toolchain/linux:clang_x86"
47 } else if (target_cpu == "x64") {
48 snapshot_toolchain = "//build/toolchain/linux:clang_x64"
49 } else {
50 assert(false, "Need environment for this arch")
51 }
52 } else {
53 snapshot_toolchain = default_toolchain
54 }
55
56 ############################################################################### 40 ###############################################################################
57 # Configurations 41 # Configurations
58 # 42 #
59 config("internal_config") { 43 config("internal_config") {
60 visibility = [ ":*" ] # Only targets in this file can depend on this. 44 visibility = [ ":*" ] # Only targets in this file can depend on this.
61 45
62 include_dirs = [ "." ] 46 include_dirs = [ "." ]
63 47
64 if (is_component_build) { 48 if (is_component_build) {
65 defines = [ 49 defines = [
(...skipping 1746 matching lines...) Expand 10 before | Expand all | Expand 10 after
1812 ":v8_base", 1796 ":v8_base",
1813 ":v8_nosnapshot", 1797 ":v8_nosnapshot",
1814 ] 1798 ]
1815 } 1799 }
1816 1800
1817 public_configs = [ ":external_config" ] 1801 public_configs = [ ":external_config" ]
1818 } 1802 }
1819 } 1803 }
1820 1804
1821 if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") || 1805 if ((current_toolchain == host_toolchain && v8_toolset_for_d8 == "host") ||
1806 (current_toolchain == snapshot_toolchain && v8_toolset_for_d8 == "host") ||
1822 (current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) { 1807 (current_toolchain != host_toolchain && v8_toolset_for_d8 == "target")) {
1823 executable("d8") { 1808 executable("d8") {
1824 sources = [ 1809 sources = [
1825 "src/d8.cc", 1810 "src/d8.cc",
1826 "src/d8.h", 1811 "src/d8.h",
1827 ] 1812 ]
1828 1813
1829 configs -= [ "//build/config/compiler:chromium_code" ] 1814 configs -= [ "//build/config/compiler:chromium_code" ]
1830 configs += [ "//build/config/compiler:no_chromium_code" ] 1815 configs += [ "//build/config/compiler:no_chromium_code" ]
1831 configs += [ 1816 configs += [
(...skipping 23 matching lines...) Expand all
1855 if (!is_component_build) { 1840 if (!is_component_build) {
1856 sources += [ 1841 sources += [
1857 "$target_gen_dir/d8-js.cc", 1842 "$target_gen_dir/d8-js.cc",
1858 ] 1843 ]
1859 } 1844 }
1860 if (v8_enable_i18n_support) { 1845 if (v8_enable_i18n_support) {
1861 deps += [ "//third_party/icu" ] 1846 deps += [ "//third_party/icu" ]
1862 } 1847 }
1863 } 1848 }
1864 } 1849 }
OLDNEW
« no previous file with comments | « no previous file | snapshot_toolchain.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698