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

Unified Diff: tools/android-build.sh

Issue 10823209: Add support for building the Dart VM for Android OS. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Incorporate review feedback from cshapiro Created 8 years, 4 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
Index: tools/android-build.sh
diff --git a/tools/android-build.sh b/tools/android-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..708ada76dfbf4006749b607204818bceb052cf58
--- /dev/null
+++ b/tools/android-build.sh
@@ -0,0 +1,92 @@
+#!/bin/bash
cshapiro 2012/08/07 22:39:40 #!/bin/sh unless we actually need bash
jackpal 2012/08/08 00:26:19 Done.
+# Copyright 2012 the Dart project authors. All rights reserved.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+if [ ${#@} -lt 2 ] ; then
+ echo "$0: Error: needs 2 arguments."
+ exit 1
+fi
+
+ARCH=$1
+MODE=$2
+
+host_os=$(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')
+
+case "${host_os}" in
+ "linux")
+ toolchain_dir="linux-x86"
+ ;;
+ "mac")
+ toolchain_dir="darwin-x86"
+ ;;
+ *)
+ echo "$0: Host platform ${host_os} is not supported" >& 2
+ exit 1
+esac
+
+case "${ARCH}" in
+ "android_arm")
+ DEFINES=" target_arch=arm v8_target_arch=arm android_target_arch=arm"
+ DEFINES+=" arm_neon=0 armv7=1"
+ toolchain_arch="arm-linux-androideabi-4.4.3"
+ ;;
+ "android_ia32")
+ DEFINES=" target_arch=ia32 v8_target_arch=ia32 android_target_arch=x86"
+ toolchain_arch="x86-4.4.3"
+ ;;
+ *)
+ echo "$0: Target architecture ${ARCH} is not supported." >& 2
+ echo "$0: Current supported architectures: android_arm|android_ia32." >& 2
+ exit 1
+esac
+
+toolchain_path="${ANDROID_NDK_ROOT}/toolchains/${toolchain_arch}/prebuilt/"
+ANDROID_TOOLCHAIN="${toolchain_path}/${toolchain_dir}/bin"
+if [ ! -d "${ANDROID_TOOLCHAIN}" ]; then
+ echo "$0: Cannot find Android toolchain in ${ANDROID_TOOLCHAIN}." >& 2
+ echo "$0: The NDK version might be wrong." >& 2
+ exit 1
+fi
+
+# For mksnapshot host generation.
+DEFINES+=" host_os=${host_os}"
+
+# The set of GYP_DEFINES to pass to gyp.
+export GYP_DEFINES="${DEFINES}"
+
+# Use the "android" flavor of the Makefile generator for both Linux and OS X.
+export GYP_GENERATORS=make-android
+export CC=${ANDROID_TOOLCHAIN}/*-gcc
+export CXX=${ANDROID_TOOLCHAIN}/*-g++
+
+export AR=${ANDROID_TOOLCHAIN}/*-ar
+export RANLIB=${ANDROID_TOOLCHAIN}/*-ranlib
+export LD=${ANDROID_TOOLCHAIN}/*-ld
+export LINK=${ANDROID_TOOLCHAIN}/*-g++
+
+
+tools/build.py -m ${MODE} dart --toolchainprefix ${ANDROID_TOOLCHAIN}/i686-linux-android

Powered by Google App Engine
This is Rietveld 408576698