#!/usr/bin/env bash # Copyright (c) 2012 Google Inc. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. OS="$(uname -s)" THIS_DIR="$(dirname "${0}")" function print_help() { cat <<-EOF No prebuilt ninja binary was found for this system. Try building your own binary by doing: cd ~ git clone https://github.com/martine/ninja.git -b v1.5.3 cd ninja && ./configure.py --bootstrap Then add ~/ninja/ to your PATH. EOF } case "$OS" in Linux) MACHINE=$(uname -m) case "$MACHINE" in i?86|x86_64) LONG_BIT=$(getconf LONG_BIT) # We know we are on x86 but we need to use getconf to determine # bittage of the userspace install (e.g. when runing 32-bit userspace # on x86_64 kernel) exec "${THIS_DIR}/ninja-linux${LONG_BIT}" "$@";; *) echo Unknown architecture \($MACHINE\) -- unable to run ninja. print_help exit 1;; esac ;; Darwin) exec "${THIS_DIR}/ninja-mac" "$@";; CYGWIN*) exec cmd.exe /c $(cygpath -t windows $0).exe "$@";; MINGW32*) cmd.exe //c $0.exe "$@";; *) echo "Unsupported OS ${OS}" print_help exit 1;; esac