diff --git a/build-common.sh b/build-common.sh
new file mode 100644
index 0000000..0c5c0a3
--- /dev/null
+++ b/build-common.sh
@@ -0,0 +1,116 @@
+# inputs
+# $PROJ - project name (cmake|ninja|swig)
+# $VER - project version
+# $1 - name of this file
+#
+# this file does the following:
+#
+# 1) define the following env vars
+# OS - linux|darwin|windows
+# USER - username
+# CORES - numer of cores (for parallel builds)
+# PATH (with appropriate compilers)
+# CFLAGS/CXXFLAGS/LDFLAGS
+# RD - root directory for source and object files
+# INSTALL - install directory/git repo root
+# SCRIPT_FILE=absolute path to the parent build script
+# SCRIPT_DIR=absolute path to the parent build script's directory
+# COMMON_FILE=absolute path to this file
+
+#
+# 2) create an empty tmp directory at /tmp/$PROJ-$USER
+# 3) checkout the destination git repo to /tmp/prebuilts/$PROJ/$OS-x86/$VER
+# 4) cd $RD
+
+UNAME="$(uname)"
+case "$UNAME" in
+Linux)
+    SCRATCH=/tmp
+    OS='linux'
+    INSTALL_VER=$VER
+    ;;
+Darwin)
+    SCRATCH=/tmp
+    OS='darwin'
+    OSX_MIN=10.6
+    export CFLAGS="$CFLAGS -mmacosx-version-min=$OSX_MIN"
+    export CXXFLAGS="$CXXFLAGS -mmacosx-version-min=$OSX_MIN"
+    export LDFLAGS="$LDFLAGS -mmacosx-version-min=$OSX_MIN"
+    INSTALL_VER=$VER
+    ;;
+*_NT-*)
+    if [[ "$UNAME" == CYGWIN_NT-* ]]; then
+        PATH_PREFIX=/cygdrive
+    else
+        # MINGW32_NT-*
+        PATH_PREFIX=
+    fi
+    SCRATCH=$PATH_PREFIX/d/src/tmp
+    USER=$USERNAME
+    OS='windows'
+    CORES=$NUMBER_OF_PROCESSORS
+    # VS2013 x64 Native Tools Command Prompt
+    case "$MSVS" in
+    2013)
+        export PATH="$PATH_PREFIX/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64/":"$PATH_PREFIX/c/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/":"$PATH_PREFIX/c/Program Files (x86)/Windows Kits/8.1/bin/x64":"$PATH"
+        export INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\INCLUDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt;"
+        export LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB\\amd64;C:\\Program Files (x86)\\Windows Kits\\8.1\\lib\\winv6.3\\um\\x64;"
+        export LIBPATH="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB\\amd64;C:\\Program Files (x86)\\Windows Kits\\8.1\\References\\CommonConfiguration\\Neutral;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1\\ExtensionSDKs\\Microsoft.VCLibs\\12.0\\References\\CommonConfiguration\\neutral;"
+        INSTALL_VER=${VER}_vs${MSVS}
+        ;;
+    *)
+        # g++/make build
+        export CC=x86_64-w64-mingw32-gcc
+        export CXX=x86_64-w64-mingw32-g++
+        export LD=x86_64-w64-mingw32-ld
+        ;;
+    esac
+    ;;
+*)
+    exit 1
+    ;;
+esac
+
+RD=$SCRATCH/$PROJ-$USER
+INSTALL="$RD/install"
+
+cd /tmp # windows can't delete if you're in the dir
+rm -rf $RD
+mkdir -p $INSTALL
+mkdir -p $RD
+cd $RD
+
+# OSX lacks a "realpath" bash command
+realpath() {
+    [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
+}
+
+SCRIPT_FILE=$(realpath "$0")
+SCRIPT_DIR="$(dirname "$SCRIPT_FILE")"
+COMMON_FILE="$SCRIPT_DIR/$1"
+
+commit_and_push()
+{
+    # check into a local git clone
+    rm -rf $SCRATCH/prebuilts/$PROJ/
+    mkdir -p $SCRATCH/prebuilts/$PROJ/
+    cd $SCRATCH/prebuilts/$PROJ/
+    git clone https://android.googlesource.com/platform/prebuilts/$PROJ/$OS-x86
+    GIT_REPO="$SCRATCH/prebuilts/$PROJ/$OS-x86"
+    cd $GIT_REPO
+    git rm -r * || true  # ignore error caused by empty directory
+    mv $INSTALL/* $GIT_REPO
+    cp $SCRIPT_FILE $GIT_REPO
+    cp $COMMON_FILE $GIT_REPO
+
+    git add .
+    if [ -n "$ANDROID_EMAIL" ]; then
+        git config user.email $ANDROID_EMAIL
+    fi
+    git commit -m "Adding binaries for $INSTALL_VER"
+
+    # execute this command to upload
+    #git push origin HEAD:refs/for/master
+
+    rm -rf $RD || true  # ignore error
+}
diff --git a/build-ninja.sh b/build-ninja.sh
new file mode 100755
index 0000000..e5ac2bf
--- /dev/null
+++ b/build-ninja.sh
@@ -0,0 +1,28 @@
+#!/bin/bash -ex
+# Download & build ninja on the local machine
+# works on Linux, OSX, and Windows (Cygwin)
+# leaves output in /tmp/prebuilts/ninja/$OS-x86/
+
+PROJ=ninja
+VER=1.5.3
+MSVS=2013
+
+source $(dirname "$0")/build-common.sh build-common.sh
+
+# needed for cygwin
+export PATH="$PATH":.
+
+# ninja specific steps
+cd $RD
+git clone https://github.com/martine/ninja.git src
+cd src
+git checkout v$VER
+if [[ "$OS" == "windows" ]] ; then
+     PLATFORM="--platform=msvc"
+fi
+./configure.py --bootstrap $PLATFORM
+
+# install
+cp $RD/src/ninja $INSTALL
+
+commit_and_push
diff --git a/ninja.exe b/ninja.exe
new file mode 100755
index 0000000..350f447
--- /dev/null
+++ b/ninja.exe
Binary files differ
