Skip to content

Commit b3e11f6

Browse files
committed
build: wrap android clang path for old ndk
1 parent d6b50e4 commit b3e11f6

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

.github/workflows/build-android-arm64.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,21 @@ jobs:
154154
export ANDROID_STL_INCLUDE="${ANDROID_NDK_HOME}/sources/cxx-stl/gnu-libstdc++/4.9/include"
155155
export ANDROID_STL_INCLUDE_ABI="${ANDROID_NDK_HOME}/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include"
156156
export ANDROID_STL_LIB="${ANDROID_NDK_HOME}/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a"
157-
export ANDROID_LLVM_CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android${ANDROID_NDK_API_LEVEL}-clang++"
157+
export ANDROID_LLVM_BIN="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin"
158+
export ANDROID_LLVM_CXX_WRAPPER="${GITHUB_WORKSPACE}/android-clang++"
159+
if [ -x "${ANDROID_LLVM_BIN}/aarch64-linux-android${ANDROID_NDK_API_LEVEL}-clang++" ]; then
160+
printf '%s\n' '#!/usr/bin/env bash' \
161+
"exec \"${ANDROID_LLVM_BIN}/aarch64-linux-android${ANDROID_NDK_API_LEVEL}-clang++\" \"\$@\"" \
162+
> "${ANDROID_LLVM_CXX_WRAPPER}"
163+
elif [ -x "${ANDROID_LLVM_BIN}/clang++" ]; then
164+
printf '%s\n' '#!/usr/bin/env bash' \
165+
"exec \"${ANDROID_LLVM_BIN}/clang++\" --target=aarch64-none-linux-android${ANDROID_NDK_API_LEVEL} \"\$@\"" \
166+
> "${ANDROID_LLVM_CXX_WRAPPER}"
167+
else
168+
echo "No usable LLVM clang++ found under ${ANDROID_LLVM_BIN}" >&2
169+
exit 1
170+
fi
171+
chmod +x "${ANDROID_LLVM_CXX_WRAPPER}"
158172
export JAVA_HOME="${JAVA_HOME_11_X64}"
159173
export LANG="C.UTF-8"
160174
export LC_ALL="C.UTF-8"
@@ -173,7 +187,7 @@ jobs:
173187
-DskipTests \
174188
-Djavacpp.platform="${ANDROID_PLATFORM}" \
175189
-Djavacpp.platform.properties="${ANDROID_PLATFORM}" \
176-
-Djavacpp.platform.compiler="${ANDROID_LLVM_CXX}" \
190+
-Djavacpp.platform.compiler="${ANDROID_LLVM_CXX_WRAPPER}" \
177191
-Djavacpp.platform.root="${ANDROID_NDK_HOME}" \
178192
-pl tensorflow-core/tensorflow-core-api \
179193
-am \

0 commit comments

Comments
 (0)