Index: platform_tools/android/bin/utils/setup_toolchain.sh |
diff --git a/platform_tools/android/bin/utils/setup_toolchain.sh b/platform_tools/android/bin/utils/setup_toolchain.sh |
index ef491506fcf6395cfa9cf41639a81c818e412384..fc9aa3aca11b39e77ccd6a66b06b4b85f147e50a 100755 |
--- a/platform_tools/android/bin/utils/setup_toolchain.sh |
+++ b/platform_tools/android/bin/utils/setup_toolchain.sh |
@@ -46,6 +46,12 @@ function default_toolchain() { |
fi |
exportVar ANDROID_TOOLCHAIN "${TOOLCHAIN_DIR}/${TOOLCHAIN_TYPE}/bin" |
+ # Hack for NDK_REV == 10c to ensure that clang is present as it was |
+ # added to the tarball after it was initially distributed. |
+ if [ ! -x ${ANDROID_TOOLCHAIN}/clang ]; then |
+ rm -rf ${TOOLCHAIN_DIR}/${TOOLCHAIN_TYPE} |
+ fi |
+ |
# if the toolchain doesn't exist on your machine then we need to fetch it |
if [ ! -d "$ANDROID_TOOLCHAIN" ]; then |
mkdir -p $TOOLCHAIN_DIR |
@@ -59,9 +65,9 @@ function default_toolchain() { |
tar -xzf $TARBALL $TOOLCHAIN_TYPE |
rm $TARBALL |
popd |
- fi |
+ fi |
- verbose "Targeting NDK API $API_LEVEL for use on Android 4.0 (NDK Revision $NDK_REV) and above" |
+ verbose "Targeting NDK API $API_LEVEL (NDK Revision $NDK_REV)" |
} |
#check to see if the toolchain has been defined and if not setup the default toolchain |
@@ -84,9 +90,17 @@ ANDROID_TOOLCHAIN_PREFIX=${GCC%%-gcc} |
CCACHE=${ANDROID_MAKE_CCACHE-$(which ccache || true)} |
-exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" |
-exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" |
-exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" |
+if [ -z $USE_CLANG ]; then |
+ exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" |
+ exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" |
+ exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" |
+else |
+ # temporarily disable ccache as it is generating errors |
tomhudson
2014/10/30 19:17:31
Unrelated change?
djsollen
2014/10/30 19:21:22
no it seems to be generating errors when we combin
|
+ CCACHE="" |
+ exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" |
+ exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++" |
+ exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" |
+fi |
exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar" |
exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib" |
@@ -96,7 +110,10 @@ exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip" |
# Create symlinks for nm & readelf and add them to the path so that the ninja |
# build uses them instead of attempting to use the one on the system. |
# This is required to build using ninja on a Mac. |
-ln -sf $ANDROID_TOOLCHAIN_PREFIX-nm $ANDROID_TOOLCHAIN/nm |
-ln -sf $ANDROID_TOOLCHAIN_PREFIX-readelf $ANDROID_TOOLCHAIN/readelf |
-ln -sf $ANDROID_TOOLCHAIN_PREFIX-as $ANDROID_TOOLCHAIN/as |
+if [ $(uname) == "Darwin" ]; then |
+ ln -sf $ANDROID_TOOLCHAIN_PREFIX-nm $ANDROID_TOOLCHAIN/nm |
+ ln -sf $ANDROID_TOOLCHAIN_PREFIX-readelf $ANDROID_TOOLCHAIN/readelf |
+ ln -sf $ANDROID_TOOLCHAIN_PREFIX-as $ANDROID_TOOLCHAIN/as |
+fi |
+ |
exportVar PATH $ANDROID_TOOLCHAIN:$PATH |