xref: /aosp_15_r20/external/llvm/cmake/platforms/Android.cmake (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# Toolchain config for Android NDK.
2*9880d681SAndroid Build Coastguard Worker# This is expected to be used with a standalone Android toolchain (see
3*9880d681SAndroid Build Coastguard Worker# docs/STANDALONE-TOOLCHAIN.html in the NDK on how to get one).
4*9880d681SAndroid Build Coastguard Worker#
5*9880d681SAndroid Build Coastguard Worker# Usage:
6*9880d681SAndroid Build Coastguard Worker# mkdir build; cd build
7*9880d681SAndroid Build Coastguard Worker# cmake ..; make
8*9880d681SAndroid Build Coastguard Worker# mkdir android; cd android
9*9880d681SAndroid Build Coastguard Worker# cmake -DLLVM_ANDROID_TOOLCHAIN_DIR=/path/to/android/ndk \
10*9880d681SAndroid Build Coastguard Worker#   -DCMAKE_TOOLCHAIN_FILE=../../cmake/platforms/Android.cmake ../..
11*9880d681SAndroid Build Coastguard Worker# make <target>
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard WorkerSET(CMAKE_SYSTEM_NAME Linux)
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard WorkerIF(NOT CMAKE_C_COMPILER)
16*9880d681SAndroid Build Coastguard Worker SET(CMAKE_C_COMPILER ${CMAKE_BINARY_DIR}/../bin/clang)
17*9880d681SAndroid Build Coastguard WorkerENDIF()
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard WorkerIF(NOT CMAKE_CXX_COMPILER)
20*9880d681SAndroid Build Coastguard Worker SET(CMAKE_CXX_COMPILER ${CMAKE_BINARY_DIR}/../bin/clang++)
21*9880d681SAndroid Build Coastguard WorkerENDIF()
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard WorkerSET(ANDROID "1" CACHE STRING "ANDROID" FORCE)
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard WorkerSET(ANDROID_COMMON_FLAGS "-target arm-linux-androideabi --sysroot=${LLVM_ANDROID_TOOLCHAIN_DIR}/sysroot -B${LLVM_ANDROID_TOOLCHAIN_DIR}")
26*9880d681SAndroid Build Coastguard WorkerSET(CMAKE_C_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
27*9880d681SAndroid Build Coastguard WorkerSET(CMAKE_CXX_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
28*9880d681SAndroid Build Coastguard WorkerSET(CMAKE_EXE_LINKER_FLAGS "-pie" CACHE STRING "toolchain_exelinkflags" FORCE)
29*9880d681SAndroid Build Coastguard Worker
30