xref: /aosp_15_r20/external/libaom/build/cmake/toolchains/android.cmake (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1*77c1e3ccSAndroid Build Coastguard Worker#
2*77c1e3ccSAndroid Build Coastguard Worker# Copyright (c) 2019, Alliance for Open Media. All rights reserved.
3*77c1e3ccSAndroid Build Coastguard Worker#
4*77c1e3ccSAndroid Build Coastguard Worker# This source code is subject to the terms of the BSD 2 Clause License and the
5*77c1e3ccSAndroid Build Coastguard Worker# Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
6*77c1e3ccSAndroid Build Coastguard Worker# not distributed with this source code in the LICENSE file, you can obtain it
7*77c1e3ccSAndroid Build Coastguard Worker# at www.aomedia.org/license/software. If the Alliance for Open Media Patent
8*77c1e3ccSAndroid Build Coastguard Worker# License 1.0 was not distributed with this source code in the PATENTS file, you
9*77c1e3ccSAndroid Build Coastguard Worker# can obtain it at www.aomedia.org/license/patent.
10*77c1e3ccSAndroid Build Coastguard Worker#
11*77c1e3ccSAndroid Build Coastguard Workerif(AOM_BUILD_CMAKE_TOOLCHAINS_ANDROID_CMAKE_)
12*77c1e3ccSAndroid Build Coastguard Worker  return()
13*77c1e3ccSAndroid Build Coastguard Workerendif() # AOM_BUILD_CMAKE_TOOLCHAINS_ANDROID_CMAKE_
14*77c1e3ccSAndroid Build Coastguard Workerset(AOM_BUILD_CMAKE_TOOLCHAINS_ANDROID_CMAKE_ 1)
15*77c1e3ccSAndroid Build Coastguard Worker
16*77c1e3ccSAndroid Build Coastguard Workerif(NOT ANDROID_PLATFORM)
17*77c1e3ccSAndroid Build Coastguard Worker  set(ANDROID_PLATFORM android-24)
18*77c1e3ccSAndroid Build Coastguard Workerendif()
19*77c1e3ccSAndroid Build Coastguard Worker
20*77c1e3ccSAndroid Build Coastguard Worker# Choose target architecture with:
21*77c1e3ccSAndroid Build Coastguard Worker#
22*77c1e3ccSAndroid Build Coastguard Worker# -DANDROID_ABI={armeabi-v7a,armeabi-v7a with NEON,arm64-v8a,x86,x86_64}
23*77c1e3ccSAndroid Build Coastguard Workerif(NOT ANDROID_ABI)
24*77c1e3ccSAndroid Build Coastguard Worker  set(ANDROID_ABI arm64-v8a)
25*77c1e3ccSAndroid Build Coastguard Workerendif()
26*77c1e3ccSAndroid Build Coastguard Worker
27*77c1e3ccSAndroid Build Coastguard Worker# Toolchain files don't have access to cached variables:
28*77c1e3ccSAndroid Build Coastguard Worker# https://gitlab.kitware.com/cmake/cmake/issues/16170. Set an intermediate
29*77c1e3ccSAndroid Build Coastguard Worker# environment variable when loaded the first time.
30*77c1e3ccSAndroid Build Coastguard Workerif(AOM_ANDROID_NDK_PATH)
31*77c1e3ccSAndroid Build Coastguard Worker  set(ENV{_AOM_ANDROID_NDK_PATH} "${AOM_ANDROID_NDK_PATH}")
32*77c1e3ccSAndroid Build Coastguard Workerelse()
33*77c1e3ccSAndroid Build Coastguard Worker  set(AOM_ANDROID_NDK_PATH "$ENV{_AOM_ANDROID_NDK_PATH}")
34*77c1e3ccSAndroid Build Coastguard Workerendif()
35*77c1e3ccSAndroid Build Coastguard Worker
36*77c1e3ccSAndroid Build Coastguard Workerif("${AOM_ANDROID_NDK_PATH}" STREQUAL "")
37*77c1e3ccSAndroid Build Coastguard Worker  message(FATAL_ERROR "AOM_ANDROID_NDK_PATH not set.")
38*77c1e3ccSAndroid Build Coastguard Worker  return()
39*77c1e3ccSAndroid Build Coastguard Workerendif()
40*77c1e3ccSAndroid Build Coastguard Worker
41*77c1e3ccSAndroid Build Coastguard Workerinclude("${AOM_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake")
42*77c1e3ccSAndroid Build Coastguard Worker
43*77c1e3ccSAndroid Build Coastguard Workerif(ANDROID_ABI MATCHES "^armeabi")
44*77c1e3ccSAndroid Build Coastguard Worker  set(AOM_NEON_INTRIN_FLAG "-mfpu=neon")
45*77c1e3ccSAndroid Build Coastguard Workerendif()
46*77c1e3ccSAndroid Build Coastguard Worker
47*77c1e3ccSAndroid Build Coastguard Workerif(ANDROID_ABI MATCHES "^arm")
48*77c1e3ccSAndroid Build Coastguard Worker  set(CMAKE_ASM_COMPILER as)
49*77c1e3ccSAndroid Build Coastguard Workerelseif(ANDROID_ABI MATCHES "^x86")
50*77c1e3ccSAndroid Build Coastguard Worker  set(CMAKE_ASM_NASM_COMPILER yasm)
51*77c1e3ccSAndroid Build Coastguard Workerendif()
52*77c1e3ccSAndroid Build Coastguard Worker
53*77c1e3ccSAndroid Build Coastguard Workerset(CMAKE_SYSTEM_NAME "Android")
54