Merge pull request #1128 from voxik/patch-1
[rubygems] / setup.rb
1 #--
2 # Copyright 2006, 2007 by Chad Fowler, Rich Kilmer, Jim Weirich, Eric Hodel
3 # and others.
4 # All rights reserved.
5 # See LICENSE.txt for permissions.
6 #++
7
8 if RUBY_VERSION < "1.8.7"
9   $stderr.puts "Rubygems now requires Ruby 1.8.7 or later"
10   exit 1
11 end
12
13 # Make sure rubygems isn't already loaded.
14 if ENV['RUBYOPT'] or defined? Gem then
15   ENV.delete 'RUBYOPT'
16
17   require 'rbconfig'
18   config = defined?(RbConfig) ? RbConfig : Config
19
20   ruby = File.join config::CONFIG['bindir'], config::CONFIG['ruby_install_name']
21   ruby << config::CONFIG['EXEEXT']
22
23   cmd = [ruby, 'setup.rb', *ARGV].compact
24   cmd[1,0] = "--disable-gems" if RUBY_VERSION > "1.9"
25
26   exec(*cmd)
27 end
28
29 Dir.chdir File.dirname(__FILE__)
30
31 $:.unshift 'lib'
32 require 'rubygems'
33 require 'rubygems/gem_runner'
34 require 'rubygems/exceptions'
35
36 Gem::CommandManager.instance.register_command :setup
37
38 args = ARGV.clone
39 if ENV["GEM_PREV_VER"]
40   args = [ '--previous-version', ENV["GEM_PREV_VER"] ] + args
41 end
42 args.unshift 'setup'
43
44 begin
45   Gem::GemRunner.new.run args
46 rescue Gem::SystemExitException => e
47   exit e.exit_code
48 end
49