OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
(...skipping 2143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2154 ['asan==1 and OS=="linux" and chromeos==0', { | 2154 ['asan==1 and OS=="linux" and chromeos==0', { |
2155 'use_custom_libcxx%': 1, | 2155 'use_custom_libcxx%': 1, |
2156 }], | 2156 }], |
2157 ['ubsan==1', { | 2157 ['ubsan==1', { |
2158 'clang%': 1, | 2158 'clang%': 1, |
2159 }], | 2159 }], |
2160 ['ubsan_vptr==1', { | 2160 ['ubsan_vptr==1', { |
2161 'clang%': 1, | 2161 'clang%': 1, |
2162 }], | 2162 }], |
2163 ['asan==1 and OS=="mac"', { | 2163 ['asan==1 and OS=="mac"', { |
2164 'mac_strip_release': 1, | 2164 # TODO(glider): we do not strip ASan binaries until the dynamic ASan |
| 2165 # runtime is fully adopted. See http://crbug.com/242503. |
| 2166 'mac_strip_release': 0, |
2165 }], | 2167 }], |
2166 ['tsan==1', { | 2168 ['tsan==1', { |
2167 'use_custom_libcxx%': 1, | 2169 'use_custom_libcxx%': 1, |
2168 }], | 2170 }], |
2169 ['msan==1', { | 2171 ['msan==1', { |
2170 # Use a just-built, MSan-instrumented libc++ instead of the system-wide | 2172 # Use a just-built, MSan-instrumented libc++ instead of the system-wide |
2171 # libstdc++. This is required to avoid false positive reports whenever | 2173 # libstdc++. This is required to avoid false positive reports whenever |
2172 # the C++ standard library is used. | 2174 # the C++ standard library is used. |
2173 'use_custom_libcxx%': 1, | 2175 'use_custom_libcxx%': 1, |
2174 # Running the V8-generated code on an ARM simulator is a powerful hack | 2176 # Running the V8-generated code on an ARM simulator is a powerful hack |
(...skipping 2874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5049 }], | 5051 }], |
5050 ], | 5052 ], |
5051 }, | 5053 }, |
5052 'postbuild_name': 'Change Mach-O Flags', | 5054 'postbuild_name': 'Change Mach-O Flags', |
5053 'action': [ | 5055 'action': [ |
5054 '<(change_mach_o_flags_path)', | 5056 '<(change_mach_o_flags_path)', |
5055 '>@(change_mach_o_flags_options)', | 5057 '>@(change_mach_o_flags_options)', |
5056 ], | 5058 ], |
5057 }, | 5059 }, |
5058 ], | 5060 ], |
| 5061 'conditions': [ |
| 5062 ['asan==1', { |
| 5063 'variables': { |
| 5064 'asan_saves_file': 'asan.saves', |
| 5065 }, |
| 5066 'xcode_settings': { |
| 5067 'CHROMIUM_STRIP_SAVE_FILE': '<(asan_saves_file)', |
| 5068 }, |
| 5069 }], |
| 5070 ], |
5059 'target_conditions': [ | 5071 'target_conditions': [ |
5060 ['mac_pie==1 and release_valgrind_build==0', { | 5072 ['mac_pie==1 and release_valgrind_build==0', { |
5061 # Turn on position-independence (ASLR) for executables. When | 5073 # Turn on position-independence (ASLR) for executables. When |
5062 # PIE is on for the Chrome executables, the framework will | 5074 # PIE is on for the Chrome executables, the framework will |
5063 # also be subject to ASLR. | 5075 # also be subject to ASLR. |
5064 # Don't do this when building for Valgrind, because Valgrind | 5076 # Don't do this when building for Valgrind, because Valgrind |
5065 # doesn't understand slide. TODO: Make Valgrind on Mac OS X | 5077 # doesn't understand slide. TODO: Make Valgrind on Mac OS X |
5066 # understand slide, and get rid of the Valgrind check. | 5078 # understand slide, and get rid of the Valgrind check. |
5067 'xcode_settings': { | 5079 'xcode_settings': { |
5068 'OTHER_LDFLAGS': [ | 5080 'OTHER_LDFLAGS': [ |
(...skipping 19 matching lines...) Expand all Loading... |
5088 'STRIP_INSTALLED_PRODUCT': 'YES', | 5100 'STRIP_INSTALLED_PRODUCT': 'YES', |
5089 'target_conditions': [ | 5101 'target_conditions': [ |
5090 ['_type=="shared_library" or _type=="loadable_module"',
{ | 5102 ['_type=="shared_library" or _type=="loadable_module"',
{ |
5091 # The Xcode default is to strip debugging symbols | 5103 # The Xcode default is to strip debugging symbols |
5092 # only (-S). Local symbols should be stripped as | 5104 # only (-S). Local symbols should be stripped as |
5093 # well, which will be handled by -x. Xcode will | 5105 # well, which will be handled by -x. Xcode will |
5094 # continue to insert -S when stripping even when | 5106 # continue to insert -S when stripping even when |
5095 # additional flags are added with STRIPFLAGS. | 5107 # additional flags are added with STRIPFLAGS. |
5096 'STRIPFLAGS': '-x', | 5108 'STRIPFLAGS': '-x', |
5097 }], # _type=="shared_library" or _type=="loadable_modul
e" | 5109 }], # _type=="shared_library" or _type=="loadable_modul
e" |
| 5110 ['_type=="executable"', { |
| 5111 'conditions': [ |
| 5112 ['asan==1', { |
| 5113 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)', |
| 5114 }] |
| 5115 ], |
| 5116 }], # _type=="executable" and asan==1 |
5098 ], # target_conditions | 5117 ], # target_conditions |
5099 }, # xcode_settings | 5118 }, # xcode_settings |
5100 }, # configuration "Release" | 5119 }, # configuration "Release" |
5101 }, # configurations | 5120 }, # configurations |
5102 }, { # mac_real_dsym != 1 | 5121 }, { # mac_real_dsym != 1 |
5103 # To get a fast fake .dSYM bundle, use a post-build step to | 5122 # To get a fast fake .dSYM bundle, use a post-build step to |
5104 # produce the .dSYM and strip the executable. strip_from_xcode | 5123 # produce the .dSYM and strip the executable. strip_from_xcode |
5105 # only operates in the Release configuration. | 5124 # only operates in the Release configuration. |
5106 'postbuilds': [ | 5125 'postbuilds': [ |
5107 { | 5126 { |
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5823 # settings in target dicts. SYMROOT is a special case, because many other | 5842 # settings in target dicts. SYMROOT is a special case, because many other |
5824 # Xcode variables depend on it, including variables such as | 5843 # Xcode variables depend on it, including variables such as |
5825 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5844 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5826 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5845 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5827 # files to appear (when present) in the UI as actual files and not red | 5846 # files to appear (when present) in the UI as actual files and not red |
5828 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5847 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5829 # and therefore SYMROOT, needs to be set at the project level. | 5848 # and therefore SYMROOT, needs to be set at the project level. |
5830 'SYMROOT': '<(DEPTH)/xcodebuild', | 5849 'SYMROOT': '<(DEPTH)/xcodebuild', |
5831 }, | 5850 }, |
5832 } | 5851 } |
OLD | NEW |