You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.3 KiB
82 lines
3.3 KiB
# Copyright (C) 2017 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
declare_args() {
|
|
android_api_level = 21
|
|
android_ndk_root = rebase_path("//buildtools/ndk")
|
|
_android_toolchain_version = "4.9"
|
|
|
|
if (host_os == "linux") {
|
|
android_host = "linux-x86_64"
|
|
} else if (host_os == "mac") {
|
|
android_host = "darwin-x86_64"
|
|
} else {
|
|
android_host = "UNSUPPORTED_ON_WINDOWS"
|
|
}
|
|
}
|
|
|
|
declare_args() {
|
|
android_llvm_dir = "$android_ndk_root/toolchains/llvm/prebuilt/$android_host"
|
|
android_clangrt_dir = "$android_llvm_dir/lib64/clang/9.0.9/lib/linux"
|
|
android_compile_sysroot = "$android_ndk_root/sysroot/usr/include"
|
|
|
|
if (current_cpu == "x86") {
|
|
android_abi_target = "i686-linux-android"
|
|
android_compile_sysroot_subdir = "i686-linux-android"
|
|
android_link_sysroot_subdir =
|
|
"platforms/android-${android_api_level}/arch-x86"
|
|
android_prebuilt_arch = "android-x86"
|
|
android_toolchain_root = "$android_ndk_root/toolchains/x86-${_android_toolchain_version}/prebuilt/$android_host"
|
|
android_llvm_arch = "i686"
|
|
} else if (current_cpu == "arm") {
|
|
android_abi_target = "arm-linux-androideabi"
|
|
android_compile_sysroot_subdir = "arm-linux-androideabi"
|
|
android_link_sysroot_subdir =
|
|
"platforms/android-${android_api_level}/arch-arm"
|
|
android_prebuilt_arch = "android-arm"
|
|
android_toolchain_root = "$android_ndk_root/toolchains/arm-linux-androideabi-${_android_toolchain_version}/prebuilt/$android_host"
|
|
android_llvm_arch = "arm"
|
|
} else if (current_cpu == "x64") {
|
|
android_abi_target = "x86_64-linux-android"
|
|
android_compile_sysroot_subdir = "x86_64-linux-android"
|
|
android_link_sysroot_subdir =
|
|
"platforms/android-${android_api_level}/arch-x86_64"
|
|
android_prebuilt_arch = "android-x86_64"
|
|
android_toolchain_root = "$android_ndk_root/toolchains/x86_64-${_android_toolchain_version}/prebuilt/$android_host"
|
|
android_llvm_arch = "x86_64"
|
|
} else if (current_cpu == "arm64") {
|
|
android_abi_target = "aarch64-linux-android"
|
|
android_compile_sysroot_subdir = "aarch64-linux-android"
|
|
android_link_sysroot_subdir =
|
|
"platforms/android-${android_api_level}/arch-arm64"
|
|
android_prebuilt_arch = "android-arm64"
|
|
android_toolchain_root = "$android_ndk_root/toolchains/aarch64-linux-android-${_android_toolchain_version}/prebuilt/$android_host"
|
|
android_llvm_arch = "aarch64"
|
|
} else {
|
|
assert(false, "Need android libgcc support for this arch.")
|
|
}
|
|
|
|
if (current_cpu == "x86") {
|
|
android_app_abi = "x86"
|
|
} else if (current_cpu == "arm") {
|
|
android_app_abi = "armeabi-v7a"
|
|
} else if (current_cpu == "x64") {
|
|
android_app_abi = "x86_64"
|
|
} else if (current_cpu == "arm64") {
|
|
android_app_abi = "arm64-v8a"
|
|
} else {
|
|
assert(false, "Unknown ABI: " + current_cpu)
|
|
}
|
|
}
|