How to set build environment variables to use Clang as part of NDK?

Viewed 6414

The latest NDK release r11 says:

We strongly recommend switching to Clang.

How do you this in practice when using the NDK to build open source libraries like OpenSSL and you need to set all the usual environment variables like CPP, CC, CXX, etc...?

All I see in llvm/prebuilt/darwin-x86_64/bin/ is clang and clang++ but no cpp or ld tool, etc... contrary to what's in arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin which has every tool possible under the sun.

Are we supposed to mix and match? i.e. use ld and cpp from arm-linux-androideabi-4.9 while clang from llvm?

[Update] For reference, here's my configuration for using the r10 NDK:

API_LEVEL="18"

HOST="arm-linux-androideabi"

export ANDROID_NDK="$HOME/Library/Android/sdk/ndk-bundle"

export NDK_PLATFORM="$ANDROID_NDK/platforms/android-$API_LEVEL/arch-arm"
export NDK_TOOLCHAIN="$ANDROID_NDK/toolchains/$HOST-4.9/prebuilt/darwin-x86_64"

export CPP="$NDK_TOOLCHAIN/bin/$HOST-cpp --sysroot=$NDK_PLATFORM"
export CC="$NDK_TOOLCHAIN/bin/$HOST-gcc --sysroot=$NDK_PLATFORM"
export CXX="$NDK_TOOLCHAIN/bin/$HOST-g++ --sysroot=$NDK_PLATFORM"
export LD="$NDK_TOOLCHAIN/bin/$HOST-ld --sysroot=$NDK_PLATFORM"
export AR="$NDK_TOOLCHAIN/bin/$HOST-ar"
export RANLIB="$NDK_TOOLCHAIN/bin/$HOST-ranlib"
2 Answers
Related