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 4130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4141 # about it conflicting with '-mcpu=cortex-a9'. The flag | 4141 # about it conflicting with '-mcpu=cortex-a9'. The flag |
4142 # '-march=armv7-a' is actually redundant anyway because | 4142 # '-march=armv7-a' is actually redundant anyway because |
4143 # it is enabled by default when we built the toolchain. | 4143 # it is enabled by default when we built the toolchain. |
4144 # And using '-mcpu=cortex-a9' should be sufficient. | 4144 # And using '-mcpu=cortex-a9' should be sufficient. |
4145 '-mcpu=cortex-a9', | 4145 '-mcpu=cortex-a9', |
4146 '-funwind-tables', | 4146 '-funwind-tables', |
4147 # Breakpad requires symbols with debugging information | 4147 # Breakpad requires symbols with debugging information |
4148 '-g', | 4148 '-g', |
4149 ], | 4149 ], |
4150 'ldflags': [ | 4150 'ldflags': [ |
4151 # We want to statically link libstdc++/libgcc_s. | 4151 # We want to statically link libstdc++/libgcc. |
4152 '-static-libstdc++', | 4152 '-static-libstdc++', |
4153 '-static-libgcc', | 4153 '-static-libgcc', |
4154 ], | 4154 ], |
4155 'cflags!': [ | 4155 'cflags!': [ |
4156 # Some components in Chromium (e.g. v8, skia, ffmpeg) | 4156 # Some components in Chromium (e.g. v8, skia, ffmpeg) |
4157 # define their own cflags for arm builds that could | 4157 # define their own cflags for arm builds that could |
4158 # conflict with the flags we set here (e.g. | 4158 # conflict with the flags we set here (e.g. |
4159 # '-mcpu=cortex-a9'). Remove these flags explicitly. | 4159 # '-mcpu=cortex-a9'). Remove these flags explicitly. |
4160 '-march=armv7-a', | 4160 '-march=armv7-a', |
4161 '-mtune=cortex-a8', | 4161 '-mtune=cortex-a8', |
4162 ], | 4162 ], |
4163 'target_conditions': [ | |
4164 [ '_type=="executable" and OS!="android"', { | |
bcf
2015/12/09 00:34:55
Android uses its own libstdc++ so we don't need th
| |
4165 # Statically link whole libstdc++ and libgcc in | |
4166 # executables to ensure only one copy at runtime. | |
4167 'ldflags': [ | |
4168 # Note executables also get -static-stdlibc++/libgcc. | |
4169 # Despite including libstdc++/libgcc archives, we | |
4170 # still need to specify static linking for them in | |
4171 # order to prevent the executable from having a | |
4172 # dynamic dependency on them. | |
4173 | |
4174 # Export stdlibc++ and libgcc symbols to force shlibs | |
4175 # to refer to these symbols from the executable. | |
4176 '-Wl,--export-dynamic', | |
4177 | |
4178 '-lm', # stdlibc++ requires math.h | |
4179 | |
4180 # In case we redefined stdlibc++ symbols | |
4181 # (e.g. tc_malloc) | |
4182 '-Wl,--allow-multiple-definition', | |
4183 | |
4184 '-Wl,--whole-archive', | |
4185 '-l:libstdc++.a', | |
4186 '-l:libgcc.a', | |
4187 '-Wl,--no-whole-archive', | |
4188 ], | |
4189 }] | |
4190 ], | |
4163 }], | 4191 }], |
4164 ], | 4192 ], |
4165 }], | 4193 }], |
4166 ], | 4194 ], |
4167 }], | 4195 }], |
4168 ['target_arch=="arm64"', { | 4196 ['target_arch=="arm64"', { |
4169 'target_conditions': [ | 4197 'target_conditions': [ |
4170 ['_toolset=="target"', { | 4198 ['_toolset=="target"', { |
4171 'conditions': [ | 4199 'conditions': [ |
4172 ['OS=="android"', { | 4200 ['OS=="android"', { |
(...skipping 2200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6373 # settings in target dicts. SYMROOT is a special case, because many other | 6401 # settings in target dicts. SYMROOT is a special case, because many other |
6374 # Xcode variables depend on it, including variables such as | 6402 # Xcode variables depend on it, including variables such as |
6375 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 6403 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
6376 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 6404 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
6377 # files to appear (when present) in the UI as actual files and not red | 6405 # files to appear (when present) in the UI as actual files and not red |
6378 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 6406 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
6379 # and therefore SYMROOT, needs to be set at the project level. | 6407 # and therefore SYMROOT, needs to be set at the project level. |
6380 'SYMROOT': '<(DEPTH)/xcodebuild', | 6408 'SYMROOT': '<(DEPTH)/xcodebuild', |
6381 }, | 6409 }, |
6382 } | 6410 } |
OLD | NEW |