diff --git a/Library/brew.rb b/Library/brew.rb index ea46c9b07f..e532ca829b 100755 --- a/Library/brew.rb +++ b/Library/brew.rb @@ -3,7 +3,8 @@ std_trap = trap("INT") { exit! 130 } # no backtrace thanks -HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] = File.expand_path(__FILE__) +HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] +HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] ||= File.expand_path(__FILE__) if ARGV == %w{--prefix} puts File.dirname(File.dirname(HOMEBREW_BREW_FILE)) diff --git a/bin/brew b/bin/brew new file mode 100755 index 0000000000..027640677c --- /dev/null +++ b/bin/brew @@ -0,0 +1,24 @@ +#!/bin/sh +BREW_FILE_DIRECTORY=$(dirname "$0") +BREW_FILE_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY" && pwd -P) + +BREW_FILENAME=$(basename "$0") +export HOMEBREW_BREW_FILE="$BREW_FILE_DIRECTORY/$BREW_FILENAME" + +BREW_SYMLINK=$(readlink $0) +if [ -n "$BREW_SYMLINK" ] +then + BREW_SYMLINK_DIRECTORY=$(dirname "$BREW_SYMLINK") + BREW_FILE_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY" && + cd "$BREW_SYMLINK_DIRECTORY" && pwd -P) +fi + +BREW_LIBRARY_DIRECTORY=$(cd "$BREW_FILE_DIRECTORY"/../Library && pwd -P) + +BREW_SYSTEM=$(uname -s | tr "[:upper:]" "[:lower:]") +if [ "$BREW_SYSTEM" = "darwin" ] +then + exec "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@" +else + exec ruby -W0 "$BREW_LIBRARY_DIRECTORY/brew.rb" "$@" +fi