OLD | NEW |
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2012 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 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 'v8_enable_debugger_support%': 1, | 70 'v8_enable_debugger_support%': 1, |
71 | 71 |
72 'v8_enable_backtrace%': 0, | 72 'v8_enable_backtrace%': 0, |
73 | 73 |
74 'v8_enable_disassembler%': 0, | 74 'v8_enable_disassembler%': 0, |
75 | 75 |
76 'v8_enable_gdbjit%': 0, | 76 'v8_enable_gdbjit%': 0, |
77 | 77 |
78 'v8_object_print%': 0, | 78 'v8_object_print%': 0, |
79 | 79 |
| 80 # Turns on compiler optimizations in Debug builds (#defines are unaffected). |
| 81 'v8_optimized_debug%': 0, |
| 82 |
80 # Enable profiling support. Only required on Windows. | 83 # Enable profiling support. Only required on Windows. |
81 'v8_enable_prof%': 0, | 84 'v8_enable_prof%': 0, |
82 | 85 |
83 'v8_enable_verify_heap%': 0, | 86 'v8_enable_verify_heap%': 0, |
84 | 87 |
85 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. | 88 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. |
86 'v8_no_strict_aliasing%': 0, | 89 'v8_no_strict_aliasing%': 0, |
87 | 90 |
88 # Chrome needs this definition unconditionally. For standalone V8 builds, | 91 # Chrome needs this definition unconditionally. For standalone V8 builds, |
89 # it's handled in build/standalone.gypi. | 92 # it's handled in build/standalone.gypi. |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 }, | 496 }, |
494 'defines': [ | 497 'defines': [ |
495 'DEBUG', | 498 'DEBUG', |
496 'ENABLE_DISASSEMBLER', | 499 'ENABLE_DISASSEMBLER', |
497 'V8_ENABLE_CHECKS', | 500 'V8_ENABLE_CHECKS', |
498 'OBJECT_PRINT', | 501 'OBJECT_PRINT', |
499 'VERIFY_HEAP', | 502 'VERIFY_HEAP', |
500 ], | 503 ], |
501 'msvs_settings': { | 504 'msvs_settings': { |
502 'VCCLCompilerTool': { | 505 'VCCLCompilerTool': { |
503 'Optimization': '0', | |
504 | 506 |
505 'conditions': [ | 507 'conditions': [ |
506 ['OS=="win" and component=="shared_library"', { | 508 ['OS=="win" and component=="shared_library"', { |
507 'RuntimeLibrary': '3', # /MDd | 509 'RuntimeLibrary': '3', # /MDd |
508 }, { | 510 }, { |
509 'RuntimeLibrary': '1', # /MTd | 511 'RuntimeLibrary': '1', # /MTd |
510 }], | 512 }], |
| 513 ['v8_optimized_debug==1', { |
| 514 'Optimization': '2', |
| 515 'InlineFunctionExpansion': '2', |
| 516 'EnableIntrinsicFunctions': 'true', |
| 517 'FavorSizeOrSpeed': '0', |
| 518 'StringPooling': 'true', |
| 519 'BasicRuntimeChecks': '0', |
| 520 }, { |
| 521 'Optimization': '0', |
| 522 }], |
511 ], | 523 ], |
512 }, | 524 }, |
513 'VCLinkerTool': { | 525 'VCLinkerTool': { |
514 'LinkIncremental': '2', | 526 'LinkIncremental': '2', |
515 }, | 527 }, |
516 }, | 528 }, |
517 'conditions': [ | 529 'conditions': [ |
518 ['v8_enable_extra_checks==1', { | 530 ['v8_enable_extra_checks==1', { |
519 'defines': ['ENABLE_EXTRA_CHECKS',], | 531 'defines': ['ENABLE_EXTRA_CHECKS',], |
520 }], | 532 }], |
521 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 533 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
522 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', | 534 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', |
523 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], | 535 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], |
| 536 'conditions': [ |
| 537 ['v8_optimized_debug==1', { |
| 538 'cflags!': [ |
| 539 '-O0', |
| 540 '-O2', |
| 541 '-Os', |
| 542 ], |
| 543 'cflags': [ |
| 544 '-fdata-sections', |
| 545 '-ffunction-sections', |
| 546 '-O3', |
| 547 ], |
| 548 }], |
| 549 ['v8_optimized_debug==1 and gcc_version==44 and clang==0', { |
| 550 'cflags': [ |
| 551 # Avoid crashes with gcc 4.4 in the v8 test suite. |
| 552 '-fno-tree-vrp', |
| 553 ], |
| 554 }], |
| 555 ], |
524 }], | 556 }], |
525 ['OS=="linux" and v8_enable_backtrace==1', { | 557 ['OS=="linux" and v8_enable_backtrace==1', { |
526 # Support for backtrace_symbols. | 558 # Support for backtrace_symbols. |
527 'ldflags': [ '-rdynamic' ], | 559 'ldflags': [ '-rdynamic' ], |
528 }], | 560 }], |
529 ['OS=="android"', { | 561 ['OS=="android"', { |
530 'variables': { | 562 'variables': { |
531 'android_full_debug%': 1, | 563 'android_full_debug%': 1, |
532 }, | 564 }, |
533 'conditions': [ | 565 'conditions': [ |
534 ['android_full_debug==0', { | 566 ['android_full_debug==0', { |
535 # Disable full debug if we want a faster v8 in a debug build. | 567 # Disable full debug if we want a faster v8 in a debug build. |
536 # TODO(2304): pass DISABLE_DEBUG_ASSERT instead of hiding DEBUG. | 568 # TODO(2304): pass DISABLE_DEBUG_ASSERT instead of hiding DEBUG. |
537 'defines!': [ | 569 'defines!': [ |
538 'DEBUG', | 570 'DEBUG', |
539 ], | 571 ], |
540 }], | 572 }], |
541 ], | 573 ], |
542 }], | 574 }], |
543 ['OS=="mac"', { | 575 ['OS=="mac"', { |
544 'xcode_settings': { | 576 'xcode_settings': { |
545 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 | 577 'conditions': [ |
| 578 ['v8_optimized_debug==1', { |
| 579 'GCC_OPTIMIZATION_LEVEL': '3', # -O3 |
| 580 'GCC_STRICT_ALIASING': 'YES', |
| 581 }, { |
| 582 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 |
| 583 }] |
| 584 ], |
546 }, | 585 }, |
547 }], | 586 }], |
548 ], | 587 ], |
549 }, # Debug | 588 }, # Debug |
550 'Release': { | 589 'Release': { |
551 'variables': { | 590 'variables': { |
552 'v8_enable_extra_checks%': 0, | 591 'v8_enable_extra_checks%': 0, |
553 }, | 592 }, |
554 'conditions': [ | 593 'conditions': [ |
555 ['v8_enable_extra_checks==1', { | 594 ['v8_enable_extra_checks==1', { |
556 'defines': ['ENABLE_EXTRA_CHECKS',], | 595 'defines': ['ENABLE_EXTRA_CHECKS',], |
557 }], | 596 }], |
558 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 597 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
559 'cflags!': [ | 598 'cflags!': [ |
| 599 '-O0', |
560 '-O2', | 600 '-O2', |
561 '-Os', | 601 '-Os', |
562 ], | 602 ], |
563 'cflags': [ | 603 'cflags': [ |
564 '-fdata-sections', | 604 '-fdata-sections', |
565 '-ffunction-sections', | 605 '-ffunction-sections', |
566 '-O3', | 606 '-O3', |
567 ], | 607 ], |
568 'conditions': [ | 608 'conditions': [ |
569 [ 'gcc_version==44 and clang==0', { | 609 [ 'gcc_version==44 and clang==0', { |
570 'cflags': [ | 610 'cflags': [ |
571 # Avoid crashes with gcc 4.4 in the v8 test suite. | 611 # Avoid crashes with gcc 4.4 in the v8 test suite. |
572 '-fno-tree-vrp', | 612 '-fno-tree-vrp', |
573 ], | 613 ], |
574 }], | 614 }], |
575 ], | 615 ], |
576 }], | 616 }], |
577 ['OS=="android"', { | 617 ['OS=="android"', { |
578 'cflags!': [ | 618 'cflags!': [ |
| 619 '-O0', |
579 '-O3', | 620 '-O3', |
580 '-Os', | 621 '-Os', |
581 ], | 622 ], |
582 'cflags': [ | 623 'cflags': [ |
583 '-fdata-sections', | 624 '-fdata-sections', |
584 '-ffunction-sections', | 625 '-ffunction-sections', |
585 '-O2', | 626 '-O2', |
586 ], | 627 ], |
587 'conditions': [ | 628 'conditions': [ |
588 [ 'gcc_version==44 and clang==0', { | 629 [ 'gcc_version==44 and clang==0', { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 'OptimizeReferences': '2', | 670 'OptimizeReferences': '2', |
630 'EnableCOMDATFolding': '2', | 671 'EnableCOMDATFolding': '2', |
631 }, | 672 }, |
632 }, | 673 }, |
633 }], # OS=="win" | 674 }], # OS=="win" |
634 ], # conditions | 675 ], # conditions |
635 }, # Release | 676 }, # Release |
636 }, # configurations | 677 }, # configurations |
637 }, # target_defaults | 678 }, # target_defaults |
638 } | 679 } |
OLD | NEW |