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 |
11 # is applied to all targets. It is here to separate out the logic that is | 11 # is applied to all targets. It is here to separate out the logic that is |
12 # Android-only. | 12 # Android-only. |
13 config("compiler") { | 13 config("compiler") { |
14 cflags = [ | 14 cflags = [ |
15 "-ffunction-sections", | 15 "-ffunction-sections", |
16 "-fno-short-enums", | 16 "-fno-short-enums", |
17 ] | 17 ] |
18 defines = [ | 18 defines = [ |
19 "ANDROID", | 19 "ANDROID", |
20 | 20 |
21 # The NDK has these things, but doesn't define the constants to say that it | 21 # The NDK has these things, but doesn't define the constants to say that it |
22 # does. Define them here instead. | 22 # does. Define them here instead. |
23 "HAVE_SYS_UIO_H", | 23 "HAVE_SYS_UIO_H", |
24 ] | 24 ] |
25 | 25 |
26 if (is_clang) { | 26 if (is_clang) { |
27 rebased_android_toolchain_root = | 27 rebased_android_toolchain_root = |
28 rebase_path(android_toolchain_root, root_build_dir) | 28 rebase_path(android_toolchain_root, root_build_dir) |
29 assert(rebased_android_toolchain_root != "") # Mark as used. | 29 assert(rebased_android_toolchain_root != "") # Mark as used. |
30 if (current_cpu == "mipsel") { | 30 if (current_cpu == "mipsel" || current_cpu == "mips64el") { |
31 cflags += [ | 31 cflags += [ |
32 # TODO(gordanac) Enable integrated-as. | 32 # TODO(gordanac) Enable integrated-as. |
33 "-no-integrated-as", | 33 "-fno-integrated-as", |
34 "-B${rebased_android_toolchain_root}/bin", # Else /usr/bin/as gets pick
ed up. | 34 "-B${rebased_android_toolchain_root}/bin", # Else /usr/bin/as gets pick
ed up. |
35 ] | 35 ] |
36 } | 36 } |
37 } else { | 37 } else { |
38 # Clang doesn't support these flags. | 38 # Clang doesn't support these flags. |
39 cflags += [ "-finline-limit=64" ] | 39 cflags += [ "-finline-limit=64" ] |
40 } | 40 } |
41 | 41 |
42 ldflags = [ | 42 ldflags = [ |
43 "-Wl,--build-id=sha1", | 43 "-Wl,--build-id=sha1", |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 | 185 |
186 # Avoid errors with current NDK: | 186 # Avoid errors with current NDK: |
187 # "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" | 187 # "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" |
188 "-finstrument-functions-exclude-file-list=arm_neon.h", | 188 "-finstrument-functions-exclude-file-list=arm_neon.h", |
189 ] | 189 ] |
190 } | 190 } |
191 } | 191 } |
192 | 192 |
193 config("no_cygprofile_instrumentation") { | 193 config("no_cygprofile_instrumentation") { |
194 } | 194 } |
OLD | NEW |