diff options
Diffstat (limited to 'build-android/build.sh')
-rwxr-xr-x | build-android/build.sh | 71 |
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" |