OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 import("//build/config/sanitizers/sanitizers.gni") | 6 import("//build/config/sanitizers/sanitizers.gni") |
7 | 7 |
8 assert(is_android) | 8 assert(is_android) |
9 | 9 |
10 # This is included by reference in the //build/config/compiler config that | 10 # This is included by reference in the //build/config/compiler config that |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 lib_dirs = [ android_libcpp_lib_dir ] | 114 lib_dirs = [ android_libcpp_lib_dir ] |
115 | 115 |
116 # The libc++ runtime library (must come first). | 116 # The libc++ runtime library (must come first). |
117 # ASan needs to dynamically link to libc++ even in static builds so | 117 # ASan needs to dynamically link to libc++ even in static builds so |
118 # that it can interpose operator new. | 118 # that it can interpose operator new. |
119 if (is_component_build || is_asan) { | 119 if (is_component_build || is_asan) { |
120 libs = [ "c++_shared" ] | 120 libs = [ "c++_shared" ] |
121 } else { | 121 } else { |
122 libs = [ "c++_static" ] | 122 libs = [ "c++_static" ] |
123 } | 123 } |
| 124 libs += [ |
| 125 "c++abi", |
| 126 "android_support", |
| 127 ] |
| 128 |
| 129 # arm builds of libc++ starting in NDK r12 depend on unwind. |
| 130 if (current_cpu == "arm") { |
| 131 libs += [ "unwind" ] |
| 132 } |
124 | 133 |
125 # Manually link the libgcc.a that the cross compiler uses. This is | 134 # Manually link the libgcc.a that the cross compiler uses. This is |
126 # absolute because the linker will look inside the sysroot if it's not. | 135 # absolute because the linker will look inside the sysroot if it's not. |
127 libs += [ | 136 libs += [ |
128 rebase_path(android_libgcc_file), | 137 rebase_path(android_libgcc_file), |
129 "c", | 138 "c", |
130 ] | 139 ] |
131 | 140 |
132 # Clang with libc++ does not require an explicit atomic library reference. | 141 # Clang with libc++ does not require an explicit atomic library reference. |
133 if (!is_clang) { | 142 if (!is_clang) { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 | 197 |
189 # Avoid errors with current NDK: | 198 # Avoid errors with current NDK: |
190 # "third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.6/preb
uilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include/arm_neon.h:34
26:3: error: argument must be a constant" | 199 # "third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.6/preb
uilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include/arm_neon.h:34
26:3: error: argument must be a constant" |
191 "-finstrument-functions-exclude-file-list=arm_neon.h", | 200 "-finstrument-functions-exclude-file-list=arm_neon.h", |
192 ] | 201 ] |
193 } | 202 } |
194 } | 203 } |
195 | 204 |
196 config("no_cygprofile_instrumentation") { | 205 config("no_cygprofile_instrumentation") { |
197 } | 206 } |
OLD | NEW |