#!/bin/sh

chdir() {
  cd "$@" >/dev/null
}

# Force UTF-8 to avoid encoding issues for users with broken locale settings.
if [ "$(locale charmap 2> /dev/null)" != "UTF-8" ]
then
  export LC_ALL="en_US.UTF-8"
fi

BREW_FILE_DIRECTORY="$(chdir "${0%/*}" && pwd -P)"
HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/${0##*/}"

if [ -L "$HOMEBREW_BREW_FILE" ]
then
  BREW_SYMLINK="$(readlink "$HOMEBREW_BREW_FILE")"
  BREW_SYMLINK_DIRECTORY="$(dirname "$BREW_SYMLINK")"
  BREW_FILE_DIRECTORY="$(chdir "$BREW_FILE_DIRECTORY" &&
                         chdir "$BREW_SYMLINK_DIRECTORY" && pwd -P)"
fi

BREW_LIBRARY_DIRECTORY="$(chdir "$BREW_FILE_DIRECTORY"/../Library && pwd -P)"

# Users may have these set, pointing the system Ruby
# at non-system gem paths
unset GEM_HOME
unset GEM_PATH

if [ -z "$HOMEBREW_DEVELOPER" ]
then
  unset HOMEBREW_RUBY_PATH
fi

if [ -z "$HOMEBREW_RUBY_PATH" ]
then
  if [ "$(uname -s)" = "Darwin" ]
  then
    HOMEBREW_RUBY_PATH="/usr/bin/ruby"
  else
    HOMEBREW_RUBY_PATH="$(which ruby)"
  fi
fi

export HOMEBREW_BREW_FILE
export HOMEBREW_RUBY_PATH

exec "$HOMEBREW_RUBY_PATH" -W0 "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@"
