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 # TODO(glider): we do not strip ASan binaries until the dynamic ASan | 2164 'mac_strip_release': 1, |
2165 # runtime is fully adopted. See http://crbug.com/242503. | |
2166 'mac_strip_release': 0, | |
2167 }], | 2165 }], |
2168 ['tsan==1', { | 2166 ['tsan==1', { |
2169 'use_custom_libcxx%': 1, | 2167 'use_custom_libcxx%': 1, |
2170 }], | 2168 }], |
2171 ['msan==1', { | 2169 ['msan==1', { |
2172 # Use a just-built, MSan-instrumented libc++ instead of the system-wide | 2170 # Use a just-built, MSan-instrumented libc++ instead of the system-wide |
2173 # libstdc++. This is required to avoid false positive reports whenever | 2171 # libstdc++. This is required to avoid false positive reports whenever |
2174 # the C++ standard library is used. | 2172 # the C++ standard library is used. |
2175 'use_custom_libcxx%': 1, | 2173 'use_custom_libcxx%': 1, |
2176 # Running the V8-generated code on an ARM simulator is a powerful hack | 2174 # 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... | |
5051 }], | 5049 }], |
5052 ], | 5050 ], |
5053 }, | 5051 }, |
5054 'postbuild_name': 'Change Mach-O Flags', | 5052 'postbuild_name': 'Change Mach-O Flags', |
5055 'action': [ | 5053 'action': [ |
5056 '<(change_mach_o_flags_path)', | 5054 '<(change_mach_o_flags_path)', |
5057 '>@(change_mach_o_flags_options)', | 5055 '>@(change_mach_o_flags_options)', |
5058 ], | 5056 ], |
5059 }, | 5057 }, |
5060 ], | 5058 ], |
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 ], | |
5071 'target_conditions': [ | 5059 'target_conditions': [ |
5072 ['mac_pie==1 and release_valgrind_build==0', { | 5060 ['mac_pie==1 and release_valgrind_build==0', { |
5073 # Turn on position-independence (ASLR) for executables. When | 5061 # Turn on position-independence (ASLR) for executables. When |
5074 # PIE is on for the Chrome executables, the framework will | 5062 # PIE is on for the Chrome executables, the framework will |
5075 # also be subject to ASLR. | 5063 # also be subject to ASLR. |
5076 # Don't do this when building for Valgrind, because Valgrind | 5064 # Don't do this when building for Valgrind, because Valgrind |
5077 # doesn't understand slide. TODO: Make Valgrind on Mac OS X | 5065 # doesn't understand slide. TODO: Make Valgrind on Mac OS X |
5078 # understand slide, and get rid of the Valgrind check. | 5066 # understand slide, and get rid of the Valgrind check. |
5079 'xcode_settings': { | 5067 'xcode_settings': { |
5080 'OTHER_LDFLAGS': [ | 5068 'OTHER_LDFLAGS': [ |
(...skipping 10 matching lines...) Expand all Loading... | |
5091 # To get a real .dSYM bundle produced by dsymutil, set the | 5079 # To get a real .dSYM bundle produced by dsymutil, set the |
5092 # debug information format to dwarf-with-dsym. Since | 5080 # debug information format to dwarf-with-dsym. Since |
5093 # strip_from_xcode will not be used, set Xcode to do the | 5081 # strip_from_xcode will not be used, set Xcode to do the |
5094 # stripping as well. | 5082 # stripping as well. |
5095 'configurations': { | 5083 'configurations': { |
5096 'Release_Base': { | 5084 'Release_Base': { |
5097 'xcode_settings': { | 5085 'xcode_settings': { |
5098 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', | 5086 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', |
5099 'DEPLOYMENT_POSTPROCESSING': 'YES', | 5087 'DEPLOYMENT_POSTPROCESSING': 'YES', |
5100 'STRIP_INSTALLED_PRODUCT': 'YES', | 5088 'STRIP_INSTALLED_PRODUCT': 'YES', |
5101 'target_conditions': [ | 5089 'conditions': [ |
5102 ['_type=="shared_library" or _type=="loadable_module"', { | 5090 # Only strip non-ASan builds. |
5103 # The Xcode default is to strip debugging symbols | 5091 ['asan==0', { |
5104 # only (-S). Local symbols should be stripped as | 5092 'target_conditions': [ |
5105 # well, which will be handled by -x. Xcode will | 5093 ['_type=="shared_library" or _type=="loadable_module "', { |
5106 # continue to insert -S when stripping even when | 5094 # The Xcode default is to strip debugging symbols |
5107 # additional flags are added with STRIPFLAGS. | 5095 # only (-S). Local symbols should be stripped as |
5108 'STRIPFLAGS': '-x', | 5096 # well, which will be handled by -x. Xcode will |
5109 }], # _type=="shared_library" or _type=="loadable_modul e" | 5097 # continue to insert -S when stripping even when |
5110 ['_type=="executable"', { | 5098 # additional flags are added with STRIPFLAGS. |
5111 'conditions': [ | 5099 'STRIPFLAGS': '-x', |
Mark Mentovai
2014/12/17 14:06:10
Well, yeah, but also, isn’t this -x OK for asan to
| |
5112 ['asan==1', { | 5100 }], # _type=="shared_library" or _type=="loadable_m odule" |
5113 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)', | 5101 ], # target_conditions |
5114 }] | 5102 }], |
5115 ], | 5103 ], |
5116 }], # _type=="executable" and asan==1 | |
5117 ], # target_conditions | |
5118 }, # xcode_settings | 5104 }, # xcode_settings |
5119 }, # configuration "Release" | 5105 }, # configuration "Release" |
5120 }, # configurations | 5106 }, # configurations |
5121 }, { # mac_real_dsym != 1 | 5107 }, { # mac_real_dsym != 1 |
5122 # To get a fast fake .dSYM bundle, use a post-build step to | 5108 # To get a fast fake .dSYM bundle, use a post-build step to |
5123 # produce the .dSYM and strip the executable. strip_from_xcode | 5109 # produce the .dSYM and strip the executable. strip_from_xcode |
5124 # only operates in the Release configuration. | 5110 # only operates in the Release configuration. |
5125 'postbuilds': [ | 5111 'postbuilds': [ |
5126 { | 5112 { |
5127 'variables': { | 5113 'variables': { |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5842 # settings in target dicts. SYMROOT is a special case, because many other | 5828 # settings in target dicts. SYMROOT is a special case, because many other |
5843 # Xcode variables depend on it, including variables such as | 5829 # Xcode variables depend on it, including variables such as |
5844 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5830 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5845 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5831 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5846 # files to appear (when present) in the UI as actual files and not red | 5832 # files to appear (when present) in the UI as actual files and not red |
5847 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5833 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5848 # and therefore SYMROOT, needs to be set at the project level. | 5834 # and therefore SYMROOT, needs to be set at the project level. |
5849 'SYMROOT': '<(DEPTH)/xcodebuild', | 5835 'SYMROOT': '<(DEPTH)/xcodebuild', |
5850 }, | 5836 }, |
5851 } | 5837 } |
OLD | NEW |