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

Side by Side Diff: build/toolchain.gypi

Issue 18846002: Factor out toolset definitions in a separate gypi file (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: updates Created 7 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « build/standalone.gypi ('k') | preparser/preparser.gyp » ('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 2012 the V8 project authors. All rights reserved. 1 # Copyright 2013 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
11 # with the distribution. 11 # with the distribution.
(...skipping 13 matching lines...) Expand all
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 # Shared definitions for all V8-related targets. 28 # Shared definitions for all V8-related targets.
29 29
30 { 30 {
31 'variables': { 31 'variables': {
32 'msvs_use_common_release': 0, 32 'msvs_use_common_release': 0,
33 'gcc_version%': 'unknown', 33 'gcc_version%': 'unknown',
34 'CXX%': '${CXX:-$(which g++)}', # Used to assemble a shell command. 34 'CXX%': '${CXX:-$(which g++)}', # Used to assemble a shell command.
35 'v8_compress_startup_data%': 'off',
36 'v8_target_arch%': '<(target_arch)', 35 'v8_target_arch%': '<(target_arch)',
37 # Native Client builds currently use the V8 ARM JIT and 36 # Native Client builds currently use the V8 ARM JIT and
38 # arm/simulator-arm.cc to defer the significant effort required 37 # arm/simulator-arm.cc to defer the significant effort required
39 # for NaCl JIT support. The nacl_target_arch variable provides 38 # for NaCl JIT support. The nacl_target_arch variable provides
40 # the 'true' target arch for places in this file that need it. 39 # the 'true' target arch for places in this file that need it.
41 # TODO(bradchen): get rid of nacl_target_arch when someday 40 # TODO(bradchen): get rid of nacl_target_arch when someday
42 # NaCl V8 builds stop using the ARM simulator 41 # NaCl V8 builds stop using the ARM simulator
43 'nacl_target_arch%': 'none', # must be set externally 42 'nacl_target_arch%': 'none', # must be set externally
44 43
45 # Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code
46 # generated by V8 to do unaligned memory access, and setting it to 'false'
47 # will ensure that the generated code will always do aligned memory
48 # accesses. The default value of 'default' will try to determine the correct
49 # setting. Note that for Intel architectures (ia32 and x64) unaligned memory
50 # access is allowed for all CPUs.
51 'v8_can_use_unaligned_accesses%': 'default',
52
53 # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP 44 # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP
54 # registers d16-d31 in the generated code, both in the snapshot and for the 45 # registers d16-d31 in the generated code, both in the snapshot and for the
55 # ARM target. Leaving the default value of 'false' will avoid the use of 46 # ARM target. Leaving the default value of 'false' will avoid the use of
56 # these registers in the snapshot and use CPU feature probing when running 47 # these registers in the snapshot and use CPU feature probing when running
57 # on the target. 48 # on the target.
58 'v8_can_use_vfp32dregs%': 'false', 49 'v8_can_use_vfp32dregs%': 'false',
59 'arm_test%': 'off', 50 'arm_test%': 'off',
60 51
61 # Similar to vfp but on MIPS. 52 # Similar to vfp but on MIPS.
62 'v8_can_use_fpu_instructions%': 'true', 53 'v8_can_use_fpu_instructions%': 'true',
63 54
64 # Similar to the ARM hard float ABI but on MIPS. 55 # Similar to the ARM hard float ABI but on MIPS.
65 'v8_use_mips_abi_hardfloat%': 'true', 56 'v8_use_mips_abi_hardfloat%': 'true',
66 57
67 # Default arch variant for MIPS. 58 # Default arch variant for MIPS.
68 'mips_arch_variant%': 'mips32r2', 59 'mips_arch_variant%': 'mips32r2',
69 60
70 'v8_enable_debugger_support%': 1,
71
72 'v8_enable_backtrace%': 0, 61 'v8_enable_backtrace%': 0,
73
74 'v8_enable_disassembler%': 0,
75
76 'v8_enable_gdbjit%': 0,
77
78 'v8_object_print%': 0,
79
80 # Enable profiling support. Only required on Windows. 62 # Enable profiling support. Only required on Windows.
81 'v8_enable_prof%': 0, 63 'v8_enable_prof%': 0,
82 64
83 'v8_enable_verify_heap%': 0,
84
85 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. 65 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
86 'v8_no_strict_aliasing%': 0, 66 'v8_no_strict_aliasing%': 0,
87 67
88 # Chrome needs this definition unconditionally. For standalone V8 builds, 68 # Chrome needs this definition unconditionally. For standalone V8 builds,
89 # it's handled in build/standalone.gypi. 69 # it's handled in build/standalone.gypi.
90 'want_separate_host_toolset%': 1, 70 'want_separate_host_toolset%': 1,
91 71
92 'v8_use_snapshot%': 'true',
93 'host_os%': '<(OS)', 72 'host_os%': '<(OS)',
94 'werror%': '-Werror', 73 'werror%': '-Werror',
95
96 # With post mortem support enabled, metadata is embedded into libv8 that
97 # describes various parameters of the VM for use by debuggers. See
98 # tools/gen-postmortem-metadata.py for details.
99 'v8_postmortem_support%': 'false',
100
101 # For a shared library build, results in "libv8-<(soname_version).so". 74 # For a shared library build, results in "libv8-<(soname_version).so".
102 'soname_version%': '', 75 'soname_version%': '',
103
104 # Interpreted regexp engine exists as platform-independent alternative
105 # based where the regular expression is compiled to a bytecode.
106 'v8_interpreted_regexp%': 0,
107
108 # Enable ECMAScript Internationalization API. Enabling this feature will
109 # add a dependency on the ICU library.
110 'v8_enable_i18n_support%': 0,
111 }, 76 },
112 'target_defaults': { 77 'target_defaults': {
113 'conditions': [ 78 'conditions': [
114 ['v8_enable_debugger_support==1', {
115 'defines': ['ENABLE_DEBUGGER_SUPPORT',],
116 }],
117 ['v8_enable_disassembler==1', {
118 'defines': ['ENABLE_DISASSEMBLER',],
119 }],
120 ['v8_enable_gdbjit==1', {
121 'defines': ['ENABLE_GDB_JIT_INTERFACE',],
122 }],
123 ['v8_object_print==1', {
124 'defines': ['OBJECT_PRINT',],
125 }],
126 ['v8_enable_verify_heap==1', {
127 'defines': ['VERIFY_HEAP',],
128 }],
129 ['v8_interpreted_regexp==1', {
130 'defines': ['V8_INTERPRETED_REGEXP',],
131 }],
132 ['v8_enable_i18n_support==1', {
133 'defines': ['V8_I18N_SUPPORT',],
134 }],
135 ['v8_target_arch=="arm"', { 79 ['v8_target_arch=="arm"', {
136 'defines': [ 80 'defines': [
137 'V8_TARGET_ARCH_ARM', 81 'V8_TARGET_ARCH_ARM',
138 ], 82 ],
139 'target_conditions': [ 83 'target_conditions': [
140 ['_toolset=="host"', { 84 ['_toolset=="host"', {
141 'variables': { 85 'variables': {
142 'armcompiler': '<!($(echo ${CXX_host:-$(which g++)}) -v 2>&1 | gre p -q "^Target: arm" && echo "yes" || echo "no")', 86 'armcompiler': '<!($(echo ${CXX_host:-$(which g++)}) -v 2>&1 | gre p -q "^Target: arm" && echo "yes" || echo "no")',
143 }, 87 },
144 'conditions': [ 88 'conditions': [
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 'xcode_settings': { 328 'xcode_settings': {
385 'ARCHS': [ 'x86_64' ], 329 'ARCHS': [ 'x86_64' ],
386 }, 330 },
387 'msvs_settings': { 331 'msvs_settings': {
388 'VCLinkerTool': { 332 'VCLinkerTool': {
389 'StackReserveSize': '2097152', 333 'StackReserveSize': '2097152',
390 }, 334 },
391 }, 335 },
392 'msvs_configuration_platform': 'x64', 336 'msvs_configuration_platform': 'x64',
393 }], # v8_target_arch=="x64" 337 }], # v8_target_arch=="x64"
394 ['v8_compress_startup_data=="bz2"', {
395 'defines': [
396 'COMPRESS_STARTUP_DATA_BZ2',
397 ],
398 }],
399 ['OS=="win"', { 338 ['OS=="win"', {
400 'defines': [ 339 'defines': [
401 'WIN32', 340 'WIN32',
402 ], 341 ],
403 'msvs_configuration_attributes': { 342 'msvs_configuration_attributes': {
404 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', 343 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
405 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 344 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
406 'CharacterSet': '1', 345 'CharacterSet': '1',
407 }, 346 },
408 }], 347 }],
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 }], 420 }],
482 ['OS=="freebsd" or OS=="openbsd"', { 421 ['OS=="freebsd" or OS=="openbsd"', {
483 'cflags': [ '-I/usr/local/include' ], 422 'cflags': [ '-I/usr/local/include' ],
484 }], 423 }],
485 ['OS=="netbsd"', { 424 ['OS=="netbsd"', {
486 'cflags': [ '-I/usr/pkg/include' ], 425 'cflags': [ '-I/usr/pkg/include' ],
487 }], 426 }],
488 ], # conditions 427 ], # conditions
489 'configurations': { 428 'configurations': {
490 'Debug': { 429 'Debug': {
491 'variables': {
492 'v8_enable_extra_checks%': 1,
493 },
494 'defines': [ 430 'defines': [
495 'DEBUG', 431 'DEBUG',
496 'ENABLE_DISASSEMBLER', 432 'ENABLE_DISASSEMBLER',
497 'V8_ENABLE_CHECKS', 433 'V8_ENABLE_CHECKS',
498 'OBJECT_PRINT', 434 'OBJECT_PRINT',
499 'VERIFY_HEAP', 435 'VERIFY_HEAP',
500 ], 436 ],
501 'msvs_settings': { 437 'msvs_settings': {
502 'VCCLCompilerTool': { 438 'VCCLCompilerTool': {
503 'Optimization': '0', 439 'Optimization': '0',
504 440
505 'conditions': [ 441 'conditions': [
506 ['OS=="win" and component=="shared_library"', { 442 ['OS=="win" and component=="shared_library"', {
507 'RuntimeLibrary': '3', # /MDd 443 'RuntimeLibrary': '3', # /MDd
508 }, { 444 }, {
509 'RuntimeLibrary': '1', # /MTd 445 'RuntimeLibrary': '1', # /MTd
510 }], 446 }],
511 ], 447 ],
512 }, 448 },
513 'VCLinkerTool': { 449 'VCLinkerTool': {
514 'LinkIncremental': '2', 450 'LinkIncremental': '2',
515 }, 451 },
516 }, 452 },
517 'conditions': [ 453 'conditions': [
518 ['v8_enable_extra_checks==1', {
519 'defines': ['ENABLE_EXTRA_CHECKS',],
520 }],
521 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { 454 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
522 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', 455 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
523 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], 456 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
524 }], 457 }],
525 ['OS=="linux" and v8_enable_backtrace==1', { 458 ['OS=="linux" and v8_enable_backtrace==1', {
526 # Support for backtrace_symbols. 459 # Support for backtrace_symbols.
527 'ldflags': [ '-rdynamic' ], 460 'ldflags': [ '-rdynamic' ],
528 }], 461 }],
529 ['OS=="android"', { 462 ['OS=="android"', {
530 'variables': { 463 'variables': {
(...skipping 10 matching lines...) Expand all
541 ], 474 ],
542 }], 475 }],
543 ['OS=="mac"', { 476 ['OS=="mac"', {
544 'xcode_settings': { 477 'xcode_settings': {
545 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 478 'GCC_OPTIMIZATION_LEVEL': '0', # -O0
546 }, 479 },
547 }], 480 }],
548 ], 481 ],
549 }, # Debug 482 }, # Debug
550 'Release': { 483 'Release': {
551 'variables': {
552 'v8_enable_extra_checks%': 0,
553 },
554 'conditions': [ 484 'conditions': [
555 ['v8_enable_extra_checks==1', {
556 'defines': ['ENABLE_EXTRA_CHECKS',],
557 }],
558 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { 485 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
559 'cflags!': [ 486 'cflags!': [
560 '-O2', 487 '-O2',
561 '-Os', 488 '-Os',
562 ], 489 ],
563 'cflags': [ 490 'cflags': [
564 '-fdata-sections', 491 '-fdata-sections',
565 '-ffunction-sections', 492 '-ffunction-sections',
566 '-O3', 493 '-O3',
567 ], 494 ],
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 'OptimizeReferences': '2', 556 'OptimizeReferences': '2',
630 'EnableCOMDATFolding': '2', 557 'EnableCOMDATFolding': '2',
631 }, 558 },
632 }, 559 },
633 }], # OS=="win" 560 }], # OS=="win"
634 ], # conditions 561 ], # conditions
635 }, # Release 562 }, # Release
636 }, # configurations 563 }, # configurations
637 }, # target_defaults 564 }, # target_defaults
638 } 565 }
OLDNEW
« no previous file with comments | « build/standalone.gypi ('k') | preparser/preparser.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698