diff --git a/MODULE_LICENSE_APL b/MODULE_LICENSE_APL
deleted file mode 100644
index e69de29..0000000
--- a/MODULE_LICENSE_APL
+++ /dev/null
diff --git a/build-common.sh b/build-common.sh
deleted file mode 100644
index 9f0029b..0000000
--- a/build-common.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-# 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"
-        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}_${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
-
-# 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"
-
-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
-
-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
-    if [ -n "${EXTRA_FILE}" ]; then
-	git reset -- $EXTRA_FILE
-	git checkout HEAD -- $EXTRA_FILE
-    fi
-    mv $INSTALL/* $GIT_REPO
-    cp $SCRIPT_FILE $GIT_REPO
-    cp $COMMON_FILE $GIT_REPO
-
-    git add .
-    git commit -m "Adding binaries for ${INSTALL_VER}${EXTRA_COMMIT_MSG}"
-
-    # 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
deleted file mode 100755
index 791618f..0000000
--- a/build-ninja.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash -ex
-# Download & build ninja on the local machine
-# works on Linux, OSX, and Windows (Git Bash)
-# leaves output in /tmp/prebuilts/ninja/$OS-x86/
-
-PROJ=ninja
-VER=master
-BASE_VER=v1.6.0
-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://android.googlesource.com/platform/external/ninja.git src
-cd src
-git remote add upstream https://github.com/martine/ninja.git
-git fetch upstream
-git checkout $VER
-INSTALL_VER=${INSTALL_VER/${VER}/${VER}-$(git rev-parse --short=12 HEAD)}
-if [[ "$OS" == "windows" ]] ; then
-	 PLATFORM="--platform=msvc"
-fi
-./configure.py --bootstrap $PLATFORM
-
-# install
-cp $RD/src/ninja $INSTALL
-
-EXTRA_FILE="LICENSE MODULE_LICENSE_APL"
-EXTRA_COMMIT_MSG=$(echo -e "\n\nChanges since ${BASE_VER}:" && git log --oneline --abbrev=12 ${BASE_VER}..HEAD)
-
-commit_and_push
diff --git a/ninja b/ninja
index d281508..50cd472 100755
--- a/ninja
+++ b/ninja
Binary files differ
