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", | |
agrieve
2016/09/04 00:44:32
Might need to update cpplib_* with these extra lib
jbudorick
2016/09/05 16:33:03
I don't think that's necessary here; libc++_shared
| |
126 "android_support", | |
127 ] | |
128 | |
129 if (current_cpu == "arm") { | |
agrieve
2016/09/04 00:44:32
This raises an eyebrow (needs a comment). Why only
jbudorick
2016/09/05 16:33:03
Comment added. libc++ requires it, but only on arm
| |
130 libs += [ "unwind" ] | |
131 } | |
124 | 132 |
125 # Manually link the libgcc.a that the cross compiler uses. This is | 133 # 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. | 134 # absolute because the linker will look inside the sysroot if it's not. |
127 libs += [ | 135 libs += [ |
128 rebase_path(android_libgcc_file), | 136 rebase_path(android_libgcc_file), |
129 "c", | 137 "c", |
130 ] | 138 ] |
131 | 139 |
132 # Clang with libc++ does not require an explicit atomic library reference. | 140 # Clang with libc++ does not require an explicit atomic library reference. |
133 if (!is_clang) { | 141 if (!is_clang) { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
188 | 196 |
189 # Avoid errors with current NDK: | 197 # 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" | 198 # "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", | 199 "-finstrument-functions-exclude-file-list=arm_neon.h", |
192 ] | 200 ] |
193 } | 201 } |
194 } | 202 } |
195 | 203 |
196 config("no_cygprofile_instrumentation") { | 204 config("no_cygprofile_instrumentation") { |
197 } | 205 } |
OLD | NEW |