 Chromium Code Reviews
 Chromium Code Reviews Issue 1476923004:
  [Chromecast] Include all stdlibc++/libgcc symbols in cast_shell.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src@master
    
  
    Issue 1476923004:
  [Chromecast] Include all stdlibc++/libgcc symbols in cast_shell.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src@master| 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 |