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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
107 "-isystem" + | 107 "-isystem" + |
108 rebase_path("$android_ndk_root/sources/android/support/include", | 108 rebase_path("$android_ndk_root/sources/android/support/include", |
109 root_build_dir), | 109 root_build_dir), |
110 ] | 110 ] |
111 | 111 |
112 defines = [ "__GNU_SOURCE=1" ] # Necessary for clone(). | 112 defines = [ "__GNU_SOURCE=1" ] # Necessary for clone(). |
113 ldflags = [ "-nostdlib" ] | 113 ldflags = [ "-nostdlib" ] |
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 libs = [ "c++" ] |
agrieve
2016/09/03 00:22:01
curious why this is safe to change?
jbudorick
2016/09/03 18:41:01
Turns out it isn't :(
r12 seems to have split the
| |
118 # that it can interpose operator new. | |
119 if (is_component_build || is_asan) { | |
120 libs = [ "c++_shared" ] | |
121 } else { | |
122 libs = [ "c++_static" ] | |
123 } | |
124 | 118 |
125 # Manually link the libgcc.a that the cross compiler uses. This is | 119 # 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. | 120 # absolute because the linker will look inside the sysroot if it's not. |
127 libs += [ | 121 libs += [ |
128 rebase_path(android_libgcc_file), | 122 rebase_path(android_libgcc_file), |
129 "c", | 123 "c", |
130 ] | 124 ] |
131 | 125 |
132 # Clang with libc++ does not require an explicit atomic library reference. | 126 # Clang with libc++ does not require an explicit atomic library reference. |
133 if (!is_clang) { | 127 if (!is_clang) { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
188 | 182 |
189 # Avoid errors with current NDK: | 183 # 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" | 184 # "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", | 185 "-finstrument-functions-exclude-file-list=arm_neon.h", |
192 ] | 186 ] |
193 } | 187 } |
194 } | 188 } |
195 | 189 |
196 config("no_cygprofile_instrumentation") { | 190 config("no_cygprofile_instrumentation") { |
197 } | 191 } |
OLD | NEW |