From d1e3cec2aa17a2f07f22c64c3bd29c765d69d9d2 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 2 Jun 2016 15:10:05 -0400 Subject: Android: Add Clang -target option for current ABI --- Modules/Platform/Android-Clang.cmake | 9 +++++++++ Modules/Platform/Android/abi-arm64-v8a-Clang.cmake | 1 + Modules/Platform/Android/abi-armeabi-Clang.cmake | 1 + Modules/Platform/Android/abi-armeabi-v6-Clang.cmake | 1 + Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake | 1 + Modules/Platform/Android/abi-mips-Clang.cmake | 1 + Modules/Platform/Android/abi-mips64-Clang.cmake | 1 + Modules/Platform/Android/abi-x86-Clang.cmake | 1 + Modules/Platform/Android/abi-x86_64-Clang.cmake | 1 + 9 files changed, 17 insertions(+) diff --git a/Modules/Platform/Android-Clang.cmake b/Modules/Platform/Android-Clang.cmake index b33f376..7ed5046 100644 --- a/Modules/Platform/Android-Clang.cmake +++ b/Modules/Platform/Android-Clang.cmake @@ -36,8 +36,17 @@ endif() include(Platform/Android-Common) +# The NDK toolchain configuration files at: +# +# /[build/core/]toolchains/*-clang*/setup.mk +# +# contain logic to set LLVM_TRIPLE for Clang-based toolchains for each target. +# We need to produce the same target here to produce compatible binaries. include(Platform/Android/abi-${CMAKE_ANDROID_ARCH_ABI}-Clang) macro(__android_compiler_clang lang) __android_compiler_common(${lang}) + if(NOT CMAKE_${lang}_COMPILER_TARGET) + set(CMAKE_${lang}_COMPILER_TARGET "${_ANDROID_ABI_CLANG_TARGET}") + endif() endmacro() diff --git a/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake b/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake index 364c179..60fe3e5 100644 --- a/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake +++ b/Modules/Platform/Android/abi-arm64-v8a-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/aarch64-linux-android-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "aarch64-none-linux-android") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-armeabi-Clang.cmake b/Modules/Platform/Android/abi-armeabi-Clang.cmake index 407d685..eb703f5 100644 --- a/Modules/Platform/Android/abi-armeabi-Clang.cmake +++ b/Modules/Platform/Android/abi-armeabi-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/arm-linux-androideabi-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "armv5te-none-linux-androideabi") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake b/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake index 407d685..b58b558 100644 --- a/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake +++ b/Modules/Platform/Android/abi-armeabi-v6-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/arm-linux-androideabi-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "armv6-none-linux-androideabi") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake b/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake index 407d685..e7c311c 100644 --- a/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake +++ b/Modules/Platform/Android/abi-armeabi-v7a-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/arm-linux-androideabi-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "armv7-none-linux-androideabi") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-mips-Clang.cmake b/Modules/Platform/Android/abi-mips-Clang.cmake index 3da0c69..2991a93 100644 --- a/Modules/Platform/Android/abi-mips-Clang.cmake +++ b/Modules/Platform/Android/abi-mips-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/mipsel-linux-android-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "mipsel-none-linux-android") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-mips64-Clang.cmake b/Modules/Platform/Android/abi-mips64-Clang.cmake index 2623bbb..24b8db5 100644 --- a/Modules/Platform/Android/abi-mips64-Clang.cmake +++ b/Modules/Platform/Android/abi-mips64-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/mips64el-linux-android-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "mips64el-none-linux-android") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-x86-Clang.cmake b/Modules/Platform/Android/abi-x86-Clang.cmake index 4a20a15..ec79790 100644 --- a/Modules/Platform/Android/abi-x86-Clang.cmake +++ b/Modules/Platform/Android/abi-x86-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/x86-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "i686-none-linux-android") include(Platform/Android/abi-common-Clang) diff --git a/Modules/Platform/Android/abi-x86_64-Clang.cmake b/Modules/Platform/Android/abi-x86_64-Clang.cmake index b90c939..dd386bf 100644 --- a/Modules/Platform/Android/abi-x86_64-Clang.cmake +++ b/Modules/Platform/Android/abi-x86_64-Clang.cmake @@ -1,2 +1,3 @@ # /build/core/toolchains/x86_64-clang/setup.mk +set(_ANDROID_ABI_CLANG_TARGET "x86_64-none-linux-android") include(Platform/Android/abi-common-Clang) -- cgit v0.12