{% set android_home = os.getenv("ANDROID_HOME") %}
{% set ndk_version = "28.1.13356709" %}
{% set api_level = "35" %}
{% set arch = "x86_64" %}
{% set cc = {
    "armv7": "armv7a-linux-androideabi" + api_level + "-clang",
    "armv8": "aarch64-linux-android" + api_level + "-clang",
    "x86": "i686-linux-android" + api_level + "-clang",
    "x86_64": "x86_64-linux-android" + api_level + "-clang",
}[arch] %}

[settings]
os=Android
os.api_level={{api_level}}
arch={{arch}}
build_type=Release
compiler=clang
compiler.version=17
compiler.cppstd=20
compiler.libcxx=c++_shared

[conf]
tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}}
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}

[buildenv]
# Cross compile toolchain evn vars are required to build
# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android
# https://github.com/conan-io/conan/issues/16493
AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as
RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib
CC=ccache {{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}
CXX=ccache {{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++
LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip
