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 # Forces full rebuilds on NDK rolls. | 25 # Forces full rebuilds on NDK rolls. |
26 "ANDROID_NDK_VERSION=${android_ndk_version}", | 26 "ANDROID_NDK_VERSION=${android_ndk_version}", |
27 ] | 27 ] |
28 | 28 |
29 if (is_clang) { | 29 if (is_clang) { |
30 rebased_android_toolchain_root = | |
31 rebase_path(android_toolchain_root, root_build_dir) | |
32 assert(rebased_android_toolchain_root != "") # Mark as used. | |
33 if (current_cpu == "mips64el") { | 30 if (current_cpu == "mips64el") { |
34 cflags += [ | 31 cflags += [ |
35 # TODO(gordanac) Enable integrated-as. | 32 # Have to force IAS for mips64. |
36 "-fno-integrated-as", | 33 "-fintegrated-as", |
37 "-B${rebased_android_toolchain_root}/bin", # Else /usr/bin/as gets pick
ed up. | |
38 ] | 34 ] |
39 } | 35 } |
40 } else { | 36 } else { |
41 # Clang doesn't support these flags. | 37 # Clang doesn't support these flags. |
42 cflags += [ "-finline-limit=64" ] | 38 cflags += [ "-finline-limit=64" ] |
43 } | 39 } |
44 | 40 |
45 ldflags = [ | 41 ldflags = [ |
46 "-Wl,--build-id=sha1", | 42 "-Wl,--build-id=sha1", |
47 "-Wl,--no-undefined", | 43 "-Wl,--no-undefined", |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 | 229 |
234 # Avoid errors with current NDK: | 230 # Avoid errors with current NDK: |
235 # "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" | 231 # "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" |
236 "-finstrument-functions-exclude-file-list=arm_neon.h", | 232 "-finstrument-functions-exclude-file-list=arm_neon.h", |
237 ] | 233 ] |
238 } | 234 } |
239 } | 235 } |
240 | 236 |
241 config("no_cygprofile_instrumentation") { | 237 config("no_cygprofile_instrumentation") { |
242 } | 238 } |
OLD | NEW |