| #!/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/ninja-build/ninja.git -b v1.8.2 |
| 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 running 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 "$@";; |
| MINGW*) cmd.exe //c $0.exe "$@";; |
| MSYS_NT*) cmd.exe //c $0.exe "$@";; |
| *) echo "Unsupported OS ${OS}" |
| print_help |
| exit 1;; |
| esac |