summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2015-07-29 15:08:35 -0700
committerColin Cross <ccross@android.com>2015-07-29 15:10:16 -0700
commit7cae02307714a5e95c68b1794e68440dd5b176de (patch)
treea670fd786f6952a2eb55dd047ab0e23511e09f42
parent7ef4cb95e1ed4305e99f03a8e8ad28d26134a45b (diff)
downloadlinux-x86-7cae02307714a5e95c68b1794e68440dd5b176de.tar.gz
Adding binaries for 1.6.0
Change-Id: Ia6a850f26a23fd3e12d44ffb90e41d8645442849
-rw-r--r--README.ANDROID7
-rw-r--r--build-common.sh113
-rwxr-xr-xbuild-ninja.sh28
-rwxr-xr-xninjabin3213586 -> 3326752 bytes
4 files changed, 141 insertions, 7 deletions
diff --git a/README.ANDROID b/README.ANDROID
deleted file mode 100644
index 2b2c1ca..0000000
--- a/README.ANDROID
+++ /dev/null
@@ -1,7 +0,0 @@
-The go prebuilts in this directory were compiled with:
-
-git clone https://github.com/martine/ninja.git /tmp/ninja
-cd /tmp/ninja
-git checkout 636034b288777c9f0b7aca1072e0496de94db27c
-./configure.py --bootstrap
-cp -r ninja prebuilts/ninja/linux-x86
diff --git a/build-common.sh b/build-common.sh
new file mode 100644
index 0000000..f84a9e3
--- /dev/null
+++ b/build-common.sh
@@ -0,0 +1,113 @@
+# 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
+ mv $INSTALL/* $GIT_REPO
+ cp $SCRIPT_FILE $GIT_REPO
+ cp $COMMON_FILE $GIT_REPO
+
+ git add .
+ 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..c5e9cf3
--- /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 (Git Bash)
+# leaves output in /tmp/prebuilts/ninja/$OS-x86/
+
+PROJ=ninja
+VER=1.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://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 b/ninja
index ffdaf07..5748261 100755
--- a/ninja
+++ b/ninja
Binary files differ