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 3787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3798 '-fno-tree-loop-optimize', | 3798 '-fno-tree-loop-optimize', |
3799 '-fno-move-loop-invariants', | 3799 '-fno-move-loop-invariants', |
3800 '-fno-caller-saves', | 3800 '-fno-caller-saves', |
3801 '-Wno-psabi', | 3801 '-Wno-psabi', |
3802 ], | 3802 ], |
3803 'cflags': [ | 3803 'cflags': [ |
3804 # TODO(hans) Enable integrated-as (crbug.com/124610). | 3804 # TODO(hans) Enable integrated-as (crbug.com/124610). |
3805 '-no-integrated-as', | 3805 '-no-integrated-as', |
3806 '-B<(android_toolchain)', # Else /usr/bin/as gets pic
ked up. | 3806 '-B<(android_toolchain)', # Else /usr/bin/as gets pic
ked up. |
3807 ], | 3807 ], |
3808 | |
3809 'ldflags!': [ | |
3810 # Clang does not support the following options. | |
3811 '-fuse-ld=gold', | |
3812 ], | |
3813 'ldflags': [ | 3808 'ldflags': [ |
3814 # As long as -fuse-ld=gold doesn't work, add a dummy d
irectory | 3809 # Let clang can find the ld.gold in the NDK. |
3815 # with an 'ld' that redirects to gold, so that clang u
ses gold. | 3810 '--gcc-toolchain=<(android_toolchain)/..', |
3816 '-B<!(cd <(DEPTH) && pwd -P)/build/android/arm-linux-a
ndroideabi-gold', | |
3817 ], | 3811 ], |
3818 }], | 3812 }], |
3819 ['asan==1', { | 3813 ['asan==1', { |
3820 'cflags': [ | 3814 'cflags': [ |
3821 '-marm', # Required for frame pointer based stack trac
es. | 3815 '-marm', # Required for frame pointer based stack trac
es. |
3822 ], | 3816 ], |
3823 }], | 3817 }], |
3824 ], | 3818 ], |
3825 }], | 3819 }], |
3826 ['chromecast==1', { | 3820 ['chromecast==1', { |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4175 ], | 4169 ], |
4176 }], | 4170 }], |
4177 ], | 4171 ], |
4178 }], | 4172 }], |
4179 ], | 4173 ], |
4180 }], | 4174 }], |
4181 ['use_allocator!="tcmalloc"', { | 4175 ['use_allocator!="tcmalloc"', { |
4182 'defines': ['NO_TCMALLOC'], | 4176 'defines': ['NO_TCMALLOC'], |
4183 }], | 4177 }], |
4184 ['linux_use_gold_flags==1', { | 4178 ['linux_use_gold_flags==1', { |
| 4179 # Newer gccs and clangs support -fuse-ld, use the flag to force gold |
| 4180 # selection. |
| 4181 # gcc -- http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Option
s.html |
| 4182 'ldflags': [ '-fuse-ld=gold', ], |
| 4183 |
4185 'target_conditions': [ | 4184 'target_conditions': [ |
4186 ['_toolset=="target"', { | 4185 ['_toolset=="target"', { |
4187 'ldflags': [ | 4186 'ldflags': [ |
4188 # Experimentation found that using four linking threads | 4187 # Experimentation found that using four linking threads |
4189 # saved ~20% of link time. | 4188 # saved ~20% of link time. |
4190 # https://groups.google.com/a/chromium.org/group/chromium-dev/
browse_thread/thread/281527606915bb36 | 4189 # https://groups.google.com/a/chromium.org/group/chromium-dev/
browse_thread/thread/281527606915bb36 |
4191 # Only apply this to the target linker, since the host | 4190 # Only apply this to the target linker, since the host |
4192 # linker might not be gold, but isn't used much anyway. | 4191 # linker might not be gold, but isn't used much anyway. |
4193 # TODO(raymes): Disable threading because gold is frequently | 4192 # TODO(raymes): Disable threading because gold is frequently |
4194 # crashing on the bots: crbug.com/161942. | 4193 # crashing on the bots: crbug.com/161942. |
(...skipping 10 matching lines...) Expand all Loading... |
4205 # There seems to be a conflict of --icf and -pie | 4204 # There seems to be a conflict of --icf and -pie |
4206 # in gold which can generate crashy binaries. As | 4205 # in gold which can generate crashy binaries. As |
4207 # a security measure, -pie takes precedence for | 4206 # a security measure, -pie takes precedence for |
4208 # now. | 4207 # now. |
4209 #'-Wl,--icf=safe', | 4208 #'-Wl,--icf=safe', |
4210 '-Wl,--icf=none', | 4209 '-Wl,--icf=none', |
4211 ], | 4210 ], |
4212 }], | 4211 }], |
4213 ], | 4212 ], |
4214 }], | 4213 }], |
4215 # Newer gcc's support -fuse-ld, use the flag to force gold | |
4216 # selection. | |
4217 # gcc -- http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Opti
ons.html | |
4218 # TODO(mithro): Watch for clang support at following thread: | |
4219 # http://clang-developers.42468.n3.nabble.com/Adding-fuse-ld-suppo
rt-to-clang-td4032180.html | |
4220 ['gcc_version>=48 and clang==0', { | |
4221 'target_conditions': [ | |
4222 ['_toolset=="target"', { | |
4223 'ldflags': [ | |
4224 '-fuse-ld=gold', | |
4225 ], | |
4226 }], | |
4227 ], | |
4228 }], | |
4229 ['host_gcc_version>=48 and clang==0', { | |
4230 'target_conditions': [ | |
4231 ['_toolset=="host"', { | |
4232 'ldflags': [ | |
4233 '-fuse-ld=gold', | |
4234 ], | |
4235 }], | |
4236 ], | |
4237 }], | |
4238 ], | 4214 ], |
4239 }], | 4215 }], |
4240 ['linux_use_bundled_binutils==1', { | 4216 ['linux_use_bundled_binutils==1', { |
4241 'cflags': [ | 4217 'cflags': [ |
4242 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', | 4218 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', |
4243 ], | 4219 ], |
4244 }], | 4220 }], |
4245 ['linux_use_bundled_gold==1', { | 4221 ['linux_use_bundled_gold==1', { |
4246 # Put our binutils, which contains gold in the search path. We pass | 4222 # Put our binutils, which contains gold in the search path. We pass |
4247 # the path to gold to the compiler. gyp leaves unspecified what the | 4223 # the path to gold to the compiler. gyp leaves unspecified what the |
(...skipping 1432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5680 # settings in target dicts. SYMROOT is a special case, because many other | 5656 # settings in target dicts. SYMROOT is a special case, because many other |
5681 # Xcode variables depend on it, including variables such as | 5657 # Xcode variables depend on it, including variables such as |
5682 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5658 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5683 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5659 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5684 # files to appear (when present) in the UI as actual files and not red | 5660 # files to appear (when present) in the UI as actual files and not red |
5685 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5661 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5686 # and therefore SYMROOT, needs to be set at the project level. | 5662 # and therefore SYMROOT, needs to be set at the project level. |
5687 'SYMROOT': '<(DEPTH)/xcodebuild', | 5663 'SYMROOT': '<(DEPTH)/xcodebuild', |
5688 }, | 5664 }, |
5689 } | 5665 } |
OLD | NEW |