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

Side by Side Diff: platform_tools/android/bin/utils/setup_toolchain.sh

Issue 1774503004: Update android_make to support both --gcc and --clang options. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: better way to handle codec.gyp Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 # Copyright 2015 Google Inc. 1 # Copyright 2015 Google Inc.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 #!/bin/bash 6 #!/bin/bash
7 # 7 #
8 # setup_toolchain.sh: Sets toolchain environment variables used by other scripts . 8 # setup_toolchain.sh: Sets toolchain environment variables used by other scripts .
9 9
10 # Fail-fast if anything in the script fails. 10 # Fail-fast if anything in the script fails.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 # Cross compiling Android on Mac is not currently supported by gyp. 92 # Cross compiling Android on Mac is not currently supported by gyp.
93 # It doesn't appear to be supported on Windows either. 93 # It doesn't appear to be supported on Windows either.
94 # As of now, we will only support cross compiling on Linux. 94 # As of now, we will only support cross compiling on Linux.
95 # libjpeg-turbo assembly code for x86 and x86-64 Android devices 95 # libjpeg-turbo assembly code for x86 and x86-64 Android devices
96 # must be disabled for Android on non-Linux platforms because 96 # must be disabled for Android on non-Linux platforms because
97 # of this issue. We still support compiling on Mac and other 97 # of this issue. We still support compiling on Mac and other
98 # variants for local development, but shipping versions of Skia 98 # variants for local development, but shipping versions of Skia
99 # should be compiled on Linux for performance reasons. 99 # should be compiled on Linux for performance reasons.
100 # TODO (msarett): Collect more information about this. 100 # TODO (msarett): Collect more information about this.
101 if [ $(uname) == "Linux" ]; then 101 if [ $(uname) == "Linux" ]; then
102 if [ -z $USE_CLANG ]; then 102 if [ "$USE_CLANG" != "true" ]; then
103 exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" 103 exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
104 exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" 104 exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++"
105 exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" 105 exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
106 exportVar CC_host "$CCACHE cc" 106 exportVar CC_host "$CCACHE cc"
107 exportVar CXX_host "$CCACHE c++" 107 exportVar CXX_host "$CCACHE c++"
108 exportVar LINK_host "$CCACHE cc" 108 exportVar LINK_host "$CCACHE cc"
109 else 109 else
110 # temporarily disable ccache as it is generating errors
111 CCACHE=""
112 exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" 110 exportVar CC_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
113 exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++" 111 exportVar CXX_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++"
114 exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" 112 exportVar LINK_target "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
115 exportVar CC_host "$CCACHE clang" 113 exportVar CC_host "$CCACHE clang"
116 exportVar CXX_host "$CCACHE clang++" 114 exportVar CXX_host "$CCACHE clang++"
117 exportVar LINK_host "$CCACHE clang" 115 exportVar LINK_host "$CCACHE clang"
118 fi 116 fi
119 117
120 exportVar AR_target "$ANDROID_TOOLCHAIN_PREFIX-ar" 118 exportVar AR_target "$ANDROID_TOOLCHAIN_PREFIX-ar"
121 exportVar RANLIB_target "$ANDROID_TOOLCHAIN_PREFIX-ranlib" 119 exportVar RANLIB_target "$ANDROID_TOOLCHAIN_PREFIX-ranlib"
122 exportVar OBJCOPY_target "$ANDROID_TOOLCHAIN_PREFIX-objcopy" 120 exportVar OBJCOPY_target "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
123 exportVar STRIP_target "$ANDROID_TOOLCHAIN_PREFIX-strip" 121 exportVar STRIP_target "$ANDROID_TOOLCHAIN_PREFIX-strip"
124 exportVar AR_host "ar" 122 exportVar AR_host "ar"
125 exportVar RANLIB_host "ranlib" 123 exportVar RANLIB_host "ranlib"
126 exportVar OBJCOPY_host "objcopy" 124 exportVar OBJCOPY_host "objcopy"
127 exportVar STRIP_host "strip" 125 exportVar STRIP_host "strip"
128 else 126 else
129 if [ -z $USE_CLANG ]; then 127 if [ "$USE_CLANG" != "true" ]; then
130 exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" 128 exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
131 exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" 129 exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++"
132 exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" 130 exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
133 else 131 else
134 # temporarily disable ccache as it is generating errors
135 CCACHE=""
136 exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" 132 exportVar CC "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
137 exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++" 133 exportVar CXX "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang++"
138 exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang" 134 exportVar LINK "$CCACHE $ANDROID_TOOLCHAIN_PREFIX-clang"
139 fi 135 fi
140 136
141 exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar" 137 exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar"
142 exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib" 138 exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib"
143 exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy" 139 exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
144 exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip" 140 exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip"
145 fi 141 fi
146 142
147 # Create symlinks for nm & readelf and add them to the path so that the ninja 143 # Create symlinks for nm & readelf and add them to the path so that the ninja
148 # build uses them instead of attempting to use the one on the system. 144 # build uses them instead of attempting to use the one on the system.
149 # This is required to build using ninja on a Mac. 145 # This is required to build using ninja on a Mac.
150 if [ $(uname) == "Darwin" ]; then 146 if [ $(uname) == "Darwin" ]; then
151 ln -sf $ANDROID_TOOLCHAIN_PREFIX-nm $ANDROID_TOOLCHAIN/nm 147 ln -sf $ANDROID_TOOLCHAIN_PREFIX-nm $ANDROID_TOOLCHAIN/nm
152 ln -sf $ANDROID_TOOLCHAIN_PREFIX-readelf $ANDROID_TOOLCHAIN/readelf 148 ln -sf $ANDROID_TOOLCHAIN_PREFIX-readelf $ANDROID_TOOLCHAIN/readelf
153 ln -sf $ANDROID_TOOLCHAIN_PREFIX-as $ANDROID_TOOLCHAIN/as 149 ln -sf $ANDROID_TOOLCHAIN_PREFIX-as $ANDROID_TOOLCHAIN/as
154 fi 150 fi
155 151
152 # fix bug in the toolchain in order to enable ccache to work with clang
153 if [ $(head -c 2 $ANDROID_TOOLCHAIN_PREFIX-clang) != "#!" ]; then
154 echo -e "#!/bin/bash\n$(cat $ANDROID_TOOLCHAIN_PREFIX-clang)" > $ANDROID_TOOL CHAIN_PREFIX-clang
155 fi
156 if [ $(head -c 2 $ANDROID_TOOLCHAIN_PREFIX-clang++) != "#!" ]; then
157 echo -e "#!/bin/bash\n$(cat $ANDROID_TOOLCHAIN_PREFIX-clang++)" > $ANDROID_TO OLCHAIN_PREFIX-clang++
158 fi
159
156 exportVar PATH $ANDROID_TOOLCHAIN:$PATH 160 exportVar PATH $ANDROID_TOOLCHAIN:$PATH
OLDNEW
« no previous file with comments | « platform_tools/android/bin/android_setup.sh ('k') | platform_tools/android/gyp/dependencies.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698