aboutsummaryrefslogtreecommitdiffhomepage
path: root/build-android/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build-android/build.sh')
-rwxr-xr-xbuild-android/build.sh71
1 files changed, 71 insertions, 0 deletions
diff --git a/build-android/build.sh b/build-android/build.sh
new file mode 100755
index 00000000..8851314f
--- /dev/null
+++ b/build-android/build.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+build_version=1
+ANDROID_PLATFORM=android-21
+archs="armeabi armeabi-v7a x86 x86_64"
+package_name=mailcore2-android
+ctemplate_build_version=1
+icu4c_build_version=1
+libetpan_build_version=1
+libxml2_build_version=1
+uchardet_build_version=1
+tidy_html5_build_version=1
+openssl_build_version=1
+
+current_dir="`pwd`"
+
+if test "x$ANDROID_NDK" = x ; then
+ echo should set ANDROID_NDK before running this script.
+ exit 1
+fi
+
+function download_dep {
+ name="$1"
+ version="$2"
+ if test ! -f "$current_dir/third-party/$name-$version.zip" ; then
+ if curl -f -O "http://d.etpan.org/mailcore2-deps/$name/$name-$version.zip" ; then
+ unzip "$name-$version.zip"
+ else
+ echo Could not download $name-$version.zip
+ exit 1
+ fi
+ fi
+}
+
+function build {
+ rm -rf "$current_dir/obj"
+
+ cd "$current_dir/jni"
+ $ANDROID_NDK/ndk-build TARGET_PLATFORM=$ANDROID_PLATFORM TARGET_ARCH_ABI=$TARGET_ARCH_ABI \
+ CTEMPLATE_PATH=$current_dir/third-party/ctemplate-android-1 \
+ ICU4C_PATH=$current_dir/third-party/icu4c-android-1 \
+ LIBETPAN_PATH=$current_dir/third-party/libetpan-android-1 \
+ LIBXML2_PATH=$current_dir/third-party/libxml2-android-1 \
+ UCHARDET_PATH=$current_dir/third-party/uchardet-android-1 \
+ TIDY_HTML5_PATH=$current_dir/third-party/tidy-html5-android-1 \
+ OPENSSL_PATH=$current_dir/third-party/openssl-android-1
+
+ mkdir -p "$current_dir/$package_name-$build_version/libs/$TARGET_ARCH_ABI"
+ cp "$current_dir/obj/local/$TARGET_ARCH_ABI/libMailCore.a" "$current_dir/$package_name-$build_version/libs/$TARGET_ARCH_ABI"
+ rm -rf "$current_dir/obj"
+}
+
+mkdir -p "$current_dir/third-party"
+cd "$current_dir/third-party"
+download_dep "ctemplate-android" $ctemplate_build_version
+download_dep "icu4c-android" $icu4c_build_version
+download_dep "libetpan-android" $libetpan_build_version
+download_dep "libxml2-android" $libxml2_build_version
+download_dep "uchardet-android" $uchardet_build_version
+download_dep "tidy-html5-android" $tidy_html5_build_version
+download_dep "openssl-android" $openssl_build_version
+
+# Start building.
+for arch in $archs ; do
+ TARGET_ARCH_ABI=$arch
+ build
+done
+
+cd "$current_dir"
+zip -qry "$package_name-$build_version.zip" "$package_name-$build_version"
+rm -rf "$package_name-$build_version"