OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 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 # IMPORTANT: | 5 # IMPORTANT: |
6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
8 { | 8 { |
9 'variables': { | 9 'variables': { |
10 # .gyp files should set chromium_code to 1 if they build Chromium-specific | 10 # .gyp files should set chromium_code to 1 if they build Chromium-specific |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
579 'no_strict_aliasing%': 0, | 579 'no_strict_aliasing%': 0, |
580 'conditions': [['OS=="linux"', {'werror%': '-Werror',}], | 580 'conditions': [['OS=="linux"', {'werror%': '-Werror',}], |
581 ['OS=="freebsd"', {'werror%': '',}], | 581 ['OS=="freebsd"', {'werror%': '',}], |
582 ['OS=="openbsd"', {'werror%': '',}], | 582 ['OS=="openbsd"', {'werror%': '',}], |
583 ], | 583 ], |
584 }, | 584 }, |
585 'cflags': [ | 585 'cflags': [ |
586 '<(werror)', # See note above about the werror variable. | 586 '<(werror)', # See note above about the werror variable. |
587 '-pthread', | 587 '-pthread', |
588 '-fno-exceptions', | 588 '-fno-exceptions', |
589 '-fvisibility=hidden', | |
590 '-Wall', | 589 '-Wall', |
591 '-D_FILE_OFFSET_BITS=64', | 590 '-D_FILE_OFFSET_BITS=64', |
592 ], | 591 ], |
593 'cflags_cc': [ | 592 'cflags_cc': [ |
594 '-fno-rtti', | 593 '-fno-rtti', |
595 '-fno-threadsafe-statics', | 594 '-fno-threadsafe-statics', |
596 # Make inline functions have hidden visiblity by default. | 595 # Make inline functions have hidden visiblity by default. |
597 # Surprisingly, not covered by -fvisibility=hidden. | 596 # Surprisingly, not covered by -fvisibility=hidden. |
598 '-fvisibility-inlines-hidden', | 597 '-fvisibility-inlines-hidden', |
599 ], | 598 ], |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 }, | 690 }, |
692 'cflags': [ | 691 'cflags': [ |
693 '-O>(release_optimize)', | 692 '-O>(release_optimize)', |
694 # Don't emit the GCC version ident directives, they just end up | 693 # Don't emit the GCC version ident directives, they just end up |
695 # in the .comment section taking up binary size. | 694 # in the .comment section taking up binary size. |
696 '-fno-ident', | 695 '-fno-ident', |
697 # Put data and code in their own sections, so that unused symbols | 696 # Put data and code in their own sections, so that unused symbols |
698 # can be removed at link time with --gc-sections. | 697 # can be removed at link time with --gc-sections. |
699 '-fdata-sections', | 698 '-fdata-sections', |
700 '-ffunction-sections', | 699 '-ffunction-sections', |
| 700 # Don't export any symbols (for example, to plugins we dlopen()). |
| 701 # This must be in Release builds only because otherwise we don't |
| 702 # get backtraces. |
| 703 '-fvisibility=hidden', |
701 # We don't use exceptions. The eh_frame section is used for those | 704 # We don't use exceptions. The eh_frame section is used for those |
702 # and for symbolizing backtraces. By passing this flag we drop | 705 # and for symbolizing backtraces. By passing this flag we drop |
703 # the eh_frame section completely, we shaving off 2.5mb from | 706 # the eh_frame section completely, we shaving off 2.5mb from |
704 # our resulting binary. | 707 # our resulting binary. |
705 '-fno-asynchronous-unwind-tables', | 708 '-fno-asynchronous-unwind-tables', |
706 ], | 709 ], |
707 'ldflags': [ | 710 'ldflags': [ |
708 '-Wl,--gc-sections', | 711 '-Wl,--gc-sections', |
709 ], | 712 ], |
710 }, | 713 }, |
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 # and therefore SYMROOT, needs to be set at the project level. | 1144 # and therefore SYMROOT, needs to be set at the project level. |
1142 'SYMROOT': '<(DEPTH)/xcodebuild', | 1145 'SYMROOT': '<(DEPTH)/xcodebuild', |
1143 }, | 1146 }, |
1144 } | 1147 } |
1145 | 1148 |
1146 # Local Variables: | 1149 # Local Variables: |
1147 # tab-width:2 | 1150 # tab-width:2 |
1148 # indent-tabs-mode:nil | 1151 # indent-tabs-mode:nil |
1149 # End: | 1152 # End: |
1150 # vim: set expandtab tabstop=2 shiftwidth=2: | 1153 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |