Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Unified Diff: platform_tools/android/bin/utils/setup_toolchain.sh

Issue 1239333002: Reenable yasm for Android x86 and x86-64 on Linux (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Adding documentation Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gyp/yasm.gyp ('k') | site/user/quick/android.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 6bb6b004ab2e6653a766f455d06d8f3457be18e0..8164493bca56749296b73b822d8a9b840984a675 100755
--- a/platform_tools/android/bin/utils/setup_toolchain.sh
+++ b/platform_tools/android/bin/utils/setup_toolchain.sh
@@ -1,3 +1,8 @@
+# Copyright 2015 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
#!/bin/bash
#
# setup_toolchain.sh: Sets toolchain environment variables used by other scripts.
@@ -90,22 +95,60 @@ ANDROID_TOOLCHAIN_PREFIX=${GCC%%-gcc}
CCACHE=${ANDROID_MAKE_CCACHE-$(which ccache || true)}
-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"
+# Cross compiling Android on Mac is not currently supported by gyp.
+# It doesn't appear to be supported on Windows either.
+# As of now, we will only support cross compiling on Linux.
+# libjpeg-turbo assembly code for x86 and x86-64 Android devices
+# must be disabled for Android on non-Linux platforms because
+# of this issue. We still support compiling on Mac and other
+# variants for local development, but shipping versions of Skia
+# should be compiled on Linux for performance reasons.
+# TODO (msarett): Collect more information about this.
+if [ $(uname) == "Linux" ]; then
+ if [ -z $USE_CLANG ]; then
+ exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
+ exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++"
+ exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
+ exportVar CC_host "$CCACHE cc"
+ exportVar CXX_host "$CCACHE c++"
+ exportVar LINK_host "$CCACHE cc"
+ else
+ # temporarily disable ccache as it is generating errors
+ CCACHE=""
+ exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
+ exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++"
+ exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
+ exportVar CC_host "$CCACHE clang"
+ exportVar CXX_host "$CCACHE clang++"
+ exportVar LINK_host "$CCACHE clang"
+ fi
+
+ exportVar AR_target "$ANDROID_TOOLCHAIN_PREFIX-ar"
+ exportVar RANLIB_target "$ANDROID_TOOLCHAIN_PREFIX-ranlib"
+ exportVar OBJCOPY_target "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
+ exportVar STRIP_target "$ANDROID_TOOLCHAIN_PREFIX-strip"
+ exportVar AR_host "ar"
+ exportVar RANLIB_host "ranlib"
+ exportVar OBJCOPY_host "objcopy"
+ exportVar STRIP_host "strip"
else
- # temporarily disable ccache as it is generating errors
- CCACHE=""
- exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
- exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++"
- exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
-fi
+ 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
+ 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"
-exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
-exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip"
+ exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar"
+ exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib"
+ exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
+ exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip"
+fi
# 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.
« no previous file with comments | « gyp/yasm.gyp ('k') | site/user/quick/android.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698