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 # This file contains common system config stuff for the Android build. | 5 # This file contains common system config stuff for the Android build. |
6 | 6 |
7 if (is_android) { | 7 if (is_android) { |
8 assert(rebase_path("//", root_build_dir) == "../../", | 8 assert(rebase_path("//", root_build_dir) == "../../", |
9 "Android output directory must be nested 2 levels within src/ (" + | 9 "Android output directory must be nested 2 levels within src/ (" + |
10 "e.g.: out-gn/Debug). http://crbug.com/412935") | 10 "e.g.: out-gn/Debug). http://crbug.com/412935") |
11 | 11 |
12 import("//build_overrides/build.gni") | 12 import("//build_overrides/build.gni") |
13 | 13 |
14 has_chrome_android_internal = | 14 has_chrome_android_internal = |
15 exec_script("//build/dir_exists.py", | 15 exec_script("//build/dir_exists.py", |
16 [ rebase_path("//clank", root_build_dir) ], | 16 [ rebase_path("//clank", root_build_dir) ], |
17 "string") == "True" | 17 "string") == "True" |
18 | 18 |
19 if (has_chrome_android_internal) { | 19 if (has_chrome_android_internal) { |
20 import("//clank/config.gni") | 20 import("//clank/config.gni") |
21 } | 21 } |
22 | 22 |
23 if (!defined(extra_chrome_shared_library_configs)) { | 23 if (!defined(extra_chrome_shared_library_configs)) { |
24 extra_chrome_shared_library_configs = [] | 24 extra_chrome_shared_library_configs = [] |
25 } | 25 } |
26 | 26 |
27 if (!defined(default_android_ndk_root)) { | 27 if (!defined(default_android_ndk_root)) { |
28 default_android_ndk_root = "//third_party/android_tools/ndk" | 28 default_android_ndk_root = "//third_party/android_tools/ndk" |
29 default_android_ndk_version = "r10e" | 29 default_android_ndk_version = "r12b" |
30 default_android_ndk_major_version = "10" | 30 default_android_ndk_major_version = "12" |
31 } else { | 31 } else { |
32 assert(defined(default_android_ndk_version)) | 32 assert(defined(default_android_ndk_version)) |
33 assert(defined(default_android_ndk_major_version)) | 33 assert(defined(default_android_ndk_major_version)) |
34 } | 34 } |
35 | 35 |
36 if (!defined(default_android_sdk_root)) { | 36 if (!defined(default_android_sdk_root)) { |
37 default_android_sdk_root = "//third_party/android_tools/sdk" | 37 default_android_sdk_root = "//third_party/android_tools/sdk" |
38 default_android_sdk_version = "23" | 38 default_android_sdk_version = "23" |
39 default_android_sdk_build_tools_version = "23.0.1" | 39 default_android_sdk_build_tools_version = "23.0.1" |
40 } | 40 } |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 x86_64_android_sysroot_subdir = | 203 x86_64_android_sysroot_subdir = |
204 "platforms/android-${_android64_api_level}/arch-x86_64" | 204 "platforms/android-${_android64_api_level}/arch-x86_64" |
205 arm64_android_sysroot_subdir = | 205 arm64_android_sysroot_subdir = |
206 "platforms/android-${_android64_api_level}/arch-arm64" | 206 "platforms/android-${_android64_api_level}/arch-arm64" |
207 mips64_android_sysroot_subdir = | 207 mips64_android_sysroot_subdir = |
208 "platforms/android-${_android64_api_level}/arch-mips64" | 208 "platforms/android-${_android64_api_level}/arch-mips64" |
209 | 209 |
210 # Toolchain root directory for each build. The actual binaries are inside | 210 # Toolchain root directory for each build. The actual binaries are inside |
211 # a "bin" directory inside of these. | 211 # a "bin" directory inside of these. |
212 _android_toolchain_version = "4.9" | 212 _android_toolchain_version = "4.9" |
| 213 _android_toolchain_detailed_version = "4.9.x" |
213 x86_android_toolchain_root = "$android_ndk_root/toolchains/x86-${_android_tool
chain_version}/prebuilt/${android_host_os}-${android_host_arch}" | 214 x86_android_toolchain_root = "$android_ndk_root/toolchains/x86-${_android_tool
chain_version}/prebuilt/${android_host_os}-${android_host_arch}" |
214 arm_android_toolchain_root = "$android_ndk_root/toolchains/arm-linux-androidea
bi-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch
}" | 215 arm_android_toolchain_root = "$android_ndk_root/toolchains/arm-linux-androidea
bi-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch
}" |
215 mips_android_toolchain_root = "$android_ndk_root/toolchains/mipsel-linux-andro
id-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch
}" | 216 mips_android_toolchain_root = "$android_ndk_root/toolchains/mipsel-linux-andro
id-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch
}" |
216 x86_64_android_toolchain_root = "$android_ndk_root/toolchains/x86_64-${_androi
d_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}" | 217 x86_64_android_toolchain_root = "$android_ndk_root/toolchains/x86_64-${_androi
d_toolchain_version}/prebuilt/${android_host_os}-${android_host_arch}" |
217 arm64_android_toolchain_root = "$android_ndk_root/toolchains/aarch64-linux-and
roid-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_ar
ch}" | 218 arm64_android_toolchain_root = "$android_ndk_root/toolchains/aarch64-linux-and
roid-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_ar
ch}" |
218 mips64_android_toolchain_root = "$android_ndk_root/toolchains/mips64el-linux-a
ndroid-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_
arch}" | 219 mips64_android_toolchain_root = "$android_ndk_root/toolchains/mips64el-linux-a
ndroid-${_android_toolchain_version}/prebuilt/${android_host_os}-${android_host_
arch}" |
219 | 220 |
220 # Location of libgcc. This is only needed for the current GN toolchain, so we | 221 # Location of libgcc. This is only needed for the current GN toolchain, so we |
221 # only need to define the current one, rather than one for every platform | 222 # only need to define the current one, rather than one for every platform |
222 # like the toolchain roots. | 223 # like the toolchain roots. |
223 if (current_cpu == "x86") { | 224 if (current_cpu == "x86") { |
224 android_prebuilt_arch = "android-x86" | 225 android_prebuilt_arch = "android-x86" |
225 _binary_prefix = "i686-linux-android" | 226 _binary_prefix = "i686-linux-android" |
226 android_toolchain_root = "$x86_android_toolchain_root" | 227 android_toolchain_root = "$x86_android_toolchain_root" |
227 android_libgcc_file = "$android_toolchain_root/lib/gcc/i686-linux-android/${
_android_toolchain_version}/libgcc.a" | 228 android_libgcc_file = "$android_toolchain_root/lib/gcc/i686-linux-android/${
_android_toolchain_detailed_version}/libgcc.a" |
228 } else if (current_cpu == "arm") { | 229 } else if (current_cpu == "arm") { |
229 android_prebuilt_arch = "android-arm" | 230 android_prebuilt_arch = "android-arm" |
230 _binary_prefix = "arm-linux-androideabi" | 231 _binary_prefix = "arm-linux-androideabi" |
231 android_toolchain_root = "$arm_android_toolchain_root" | 232 android_toolchain_root = "$arm_android_toolchain_root" |
232 android_libgcc_file = "$android_toolchain_root/lib/gcc/arm-linux-androideabi
/${_android_toolchain_version}/libgcc.a" | 233 android_libgcc_file = "$android_toolchain_root/lib/gcc/arm-linux-androideabi
/${_android_toolchain_detailed_version}/libgcc.a" |
233 } else if (current_cpu == "mipsel") { | 234 } else if (current_cpu == "mipsel") { |
234 android_prebuilt_arch = "android-mips" | 235 android_prebuilt_arch = "android-mips" |
235 _binary_prefix = "mipsel-linux-android" | 236 _binary_prefix = "mipsel-linux-android" |
236 android_toolchain_root = "$mips_android_toolchain_root" | 237 android_toolchain_root = "$mips_android_toolchain_root" |
237 android_libgcc_file = "$android_toolchain_root/lib/gcc/mipsel-linux-android/
${_android_toolchain_version}/libgcc.a" | 238 android_libgcc_file = "$android_toolchain_root/lib/gcc/mipsel-linux-android/
${_android_toolchain_detailed_version}/libgcc.a" |
238 } else if (current_cpu == "x64") { | 239 } else if (current_cpu == "x64") { |
239 android_prebuilt_arch = "android-x86_64" | 240 android_prebuilt_arch = "android-x86_64" |
240 _binary_prefix = "x86_64-linux-android" | 241 _binary_prefix = "x86_64-linux-android" |
241 android_toolchain_root = "$x86_64_android_toolchain_root" | 242 android_toolchain_root = "$x86_64_android_toolchain_root" |
242 android_libgcc_file = "$android_toolchain_root/lib/gcc/x86_64-linux-android/
${_android_toolchain_version}/libgcc.a" | 243 android_libgcc_file = "$android_toolchain_root/lib/gcc/x86_64-linux-android/
${_android_toolchain_detailed_version}/libgcc.a" |
243 } else if (current_cpu == "arm64") { | 244 } else if (current_cpu == "arm64") { |
244 android_prebuilt_arch = "android-arm64" | 245 android_prebuilt_arch = "android-arm64" |
245 _binary_prefix = "aarch64-linux-android" | 246 _binary_prefix = "aarch64-linux-android" |
246 android_toolchain_root = "$arm64_android_toolchain_root" | 247 android_toolchain_root = "$arm64_android_toolchain_root" |
247 android_libgcc_file = "$android_toolchain_root/lib/gcc/aarch64-linux-android
/${_android_toolchain_version}/libgcc.a" | 248 android_libgcc_file = "$android_toolchain_root/lib/gcc/aarch64-linux-android
/${_android_toolchain_detailed_version}/libgcc.a" |
248 } else if (current_cpu == "mips64el") { | 249 } else if (current_cpu == "mips64el") { |
249 android_prebuilt_arch = "android-mips64" | 250 android_prebuilt_arch = "android-mips64" |
250 _binary_prefix = "mips64el-linux-android" | 251 _binary_prefix = "mips64el-linux-android" |
251 android_toolchain_root = "$mips64_android_toolchain_root" | 252 android_toolchain_root = "$mips64_android_toolchain_root" |
252 android_libgcc_file = "$android_toolchain_root/lib/gcc/mips64el-linux-androi
d/${_android_toolchain_version}/libgcc.a" | 253 android_libgcc_file = "$android_toolchain_root/lib/gcc/mips64el-linux-androi
d/${_android_toolchain_detailed_version}/libgcc.a" |
253 } else { | 254 } else { |
254 assert(false, "Need android libgcc support for your target arch.") | 255 assert(false, "Need android libgcc support for your target arch.") |
255 } | 256 } |
256 | 257 |
257 android_tool_prefix = "$android_toolchain_root/bin/$_binary_prefix-" | 258 android_tool_prefix = "$android_toolchain_root/bin/$_binary_prefix-" |
258 android_readelf = "${android_tool_prefix}readelf" | 259 android_readelf = "${android_tool_prefix}readelf" |
259 android_objcopy = "${android_tool_prefix}objcopy" | 260 android_objcopy = "${android_tool_prefix}objcopy" |
260 android_gdbserver = | 261 android_gdbserver = |
261 "$android_ndk_root/prebuilt/$android_prebuilt_arch/gdbserver/gdbserver" | 262 "$android_ndk_root/prebuilt/$android_prebuilt_arch/gdbserver/gdbserver" |
262 | 263 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 "//build/toolchain/android:${android_secondary_abi_cpu}" | 324 "//build/toolchain/android:${android_secondary_abi_cpu}" |
324 } | 325 } |
325 } | 326 } |
326 } | 327 } |
327 | 328 |
328 declare_args() { | 329 declare_args() { |
329 # Enables used resource whitelist generation. Set for official builds only | 330 # Enables used resource whitelist generation. Set for official builds only |
330 # as a large amount of build output is generated. | 331 # as a large amount of build output is generated. |
331 enable_resource_whitelist_generation = is_android && is_official_build | 332 enable_resource_whitelist_generation = is_android && is_official_build |
332 } | 333 } |
OLD | NEW |