#!/bin/sh

outdir=$1
[ "x$outdir" = "x" ] && outdir=/tmp/ndk-crystax-$$

remote=crystax
remote_prefix=git://github.com/crystax/android
tag=r7-crystax-5.beta3

repos=""
repos="$repos platform/development"
repos="$repos platform/ndk"
repos="$repos toolchain/binutils"
repos="$repos toolchain/build"
repos="$repos toolchain/cloog"
repos="$repos toolchain/expat"
repos="$repos toolchain/gcc"
repos="$repos toolchain/gdb"
repos="$repos toolchain/gmp"
repos="$repos toolchain/mpc"
repos="$repos toolchain/mpfr"
repos="$repos toolchain/ppl"

mkdir -p $outdir || exit 1
cd $outdir || exit 1
outdir=`pwd`

for i in $repos
do
    full_remote=`echo $remote_prefix/$i.git | sed 's/android\/\([^\/]*\)\/\([^\/]*\)/android-\1-\2/g'`
    if [ ! -d $outdir/$i/.git ]
    then
        mkdir -p $outdir/$i || exit 1
        cd $outdir/`dirname $i` || exit 1
        git clone -o $remote $full_remote `basename $i` || exit 1
    fi

    cd $outdir/$i || exit 1
    git remote | grep $remote >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        git remote add $remote $full_remote || exit 1
    fi
    git fetch $remote || exit 1
    git checkout -- . || exit 1
    git clean -f -d || exit 1
    git checkout refs/tags/$tag || exit 1
done

cd $outdir/platform/ndk || exit 1

./build/tools/make-release.sh --verbose --force --release=$tag --toolchain-src-dir=$outdir/toolchain

