Permalink
Browse files

Merge branch 'master', remote-tracking branch 'origin' into 2.0.testing

  • Loading branch information...
brixen committed Jul 26, 2012
2 parents 53263c0 + 31cc036 commit 163857dd7b33e11cf671ff407a05c5a8a3f005d6
Showing with 1,700 additions and 750 deletions.
  1. +1 −1 .gitignore
  2. +3 −1 .travis.yml
  3. +54 −38 Rakefile
  4. +0 −1 bin/gem
  5. +0 −1 bin/irb
  6. +0 −1 bin/rake
  7. +0 −1 bin/rbx
  8. +0 −10 bin/rbx-build
  9. +0 −1 bin/rdoc
  10. +0 −1 bin/ri
  11. +0 −1 bin/ruby
  12. +168 −83 configure
  13. +4 −0 kernel/bootstrap/proc.rb
  14. +1 −0 kernel/bootstrap/thread.rb
  15. +0 −10 kernel/common/array.rb
  16. +10 −0 kernel/common/array18.rb
  17. +34 −8 kernel/common/array19.rb
  18. +11 −3 kernel/common/binding.rb
  19. +2 −3 kernel/common/codeloader.rb
  20. +5 −2 kernel/common/eval.rb
  21. +3 −1 kernel/common/exception.rb
  22. +68 −0 kernel/common/io19.rb
  23. +1 −0 kernel/common/math19.rb
  24. +2 −0 kernel/common/module19.rb
  25. +23 −0 kernel/common/proc.rb
  26. +1 −1 kernel/common/proc18.rb
  27. +1 −1 kernel/common/proc19.rb
  28. +1 −1 kernel/delta/rubinius.rb
  29. +1 −19 kernel/loader.rb
  30. +1 −1 lib/18/mkmf.rb
  31. +2 −2 lib/18/net/ftp.rb
  32. +15 −6 lib/18/net/http.rb
  33. +1 −1 lib/18/net/https.rb
  34. +47 −14 lib/18/net/imap.rb
  35. +4 −5 lib/18/net/pop.rb
  36. +1 −1 lib/18/net/protocol.rb
  37. +19 −7 lib/18/net/smtp.rb
  38. +1 −1 lib/18/net/telnet.rb
  39. +1 −1 lib/{ → 18}/timeout.rb
  40. +1 −1 lib/19/mkmf.rb
  41. +1 −1 lib/19/net/http.rb
  42. +2 −2 lib/19/net/pop.rb
  43. +1 −1 lib/19/net/protocol.rb
  44. +2 −2 lib/19/net/smtp.rb
  45. +1 −1 lib/19/net/telnet.rb
  46. +197 −0 lib/19/timeout.rb
  47. +3 −5 lib/rbconfig.rb
  48. +7 −2 lib/rubinius/configuration.rb
  49. +1 −5 lib/rubygems/defaults/rbx.rb
  50. +2 −2 rakelib/ext_helper.rb
  51. +46 −34 rakelib/extensions.rake
  52. +29 −0 rakelib/gems.rake
  53. +204 −119 rakelib/install.rake
  54. +40 −19 rakelib/kernel.rake
  55. +60 −20 rakelib/package.rake
  56. +36 −0 rakelib/package.rb
  57. +8 −49 rakelib/release.rake
  58. +18 −16 rakelib/vm.rake
  59. +40 −0 spec/ruby/core/array/sample_spec.rb
  60. +5 −0 spec/ruby/core/array/shared/join.rb
  61. +19 −0 spec/ruby/core/array/shuffle_spec.rb
  62. +4 −0 spec/ruby/core/exception/system_call_error_spec.rb
  63. BIN spec/ruby/core/io/fixtures/bom_UTF-16BE.txt
  64. BIN spec/ruby/core/io/fixtures/bom_UTF-16LE.txt
  65. BIN spec/ruby/core/io/fixtures/bom_UTF-32BE.txt
  66. BIN spec/ruby/core/io/fixtures/bom_UTF-32LE.txt
  67. +1 −0 spec/ruby/core/io/fixtures/bom_UTF-8.txt
  68. +1 −0 spec/ruby/core/io/fixtures/no_bom_UTF-8.txt
  69. +31 −0 spec/ruby/core/io/read_spec.rb
  70. +9 −0 spec/ruby/core/proc/allocate_spec.rb
  71. +16 −0 spec/ruby/library/timeout/error_spec.rb
  72. +0 −1 spec/tags/18/ruby/library/zlib/inflate/inflate_tags.txt
  73. +0 −1 spec/tags/19/ruby/core/io/new_tags.txt
  74. +0 −1 spec/tags/19/ruby/core/kernel/autoload_tags.txt
  75. +0 −2 spec/tags/19/ruby/library/drb/start_service_tags.txt
  76. +0 −1 spec/tags/19/ruby/library/zlib/inflate/inflate_tags.txt
  77. +1 −55 vm/agent.cpp
  78. +1 −0 vm/builtin/nativefunction.cpp
  79. +4 −0 vm/builtin/nativemethod.hpp
  80. +32 −16 vm/builtin/proc.cpp
  81. +2 −4 vm/builtin/string.cpp
  82. +1 −0 vm/builtin/system.cpp
  83. +9 −3 vm/builtin/tuple.cpp
  84. +28 −16 vm/capi/array.cpp
  85. +37 −25 vm/capi/io.cpp
  86. +35 −27 vm/capi/string.cpp
  87. +19 −31 vm/drivers/cli.cpp
  88. +155 −28 vm/environment.cpp
  89. +21 −4 vm/environment.hpp
  90. +7 −6 vm/gc/gc.cpp
  91. +2 −3 vm/llvm/jit_compiler.cpp
  92. +28 −10 vm/ontology.cpp
  93. +0 −1 vm/oop.cpp
  94. +12 −3 vm/shared_state.cpp
  95. +13 −0 vm/shared_state.hpp
  96. +6 −0 vm/signature.h
  97. +2 −2 web/_site/doc/en/how-to/commit-to-github/index.html
  98. +5 −3 web/_site/doc/en/how-to/write-a-ticket/index.html
  99. +5 −0 web/_site/projects/index.html
  100. +4 −0 web/projects.markdown
View
@@ -48,6 +48,7 @@ tmtags
/lib/site
/share
/work
+/staging
# ignore gems and commands installed by gems
/gems/*
@@ -63,7 +64,6 @@ tmtags
!/bin/mkspec
!/bin/mspec
!/bin/prof.rb
-!/bin/rbx
# don't ignore spec/tags
!/spec/tags
View
@@ -15,4 +15,6 @@ notifications:
email:
on_success: change
on_failure: always
- webhooks: http://elle.fallingsnow.net:13424/
+rvm:
+ - 1.8.7
+ - 1.9.3
View
@@ -1,9 +1,23 @@
# NOTE! When updating this file, also update INSTALL, if necessary.
# NOTE! Please keep your tasks grouped together.
+include Rake::DSL if Rake.const_defined? :DSL
+
if ENV["RUBYLIB"]
- STDERR.puts "ERROR: Please unset RUBYLIB to build Rubinius"
- exit 1
+ STDERR.puts <<-EOM
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+WARNING WARNING
+WARNING You have the RUBYLIB environment variable set. This can WARNING
+WARNING cause serious problems building Rubinius, including but WARNING
+WARNING not limited to causing the build to fail or specs to fail WARNING
+WARNING or your computer to randomly emit strange beeping sounds WARNING
+WARNING or burst into flames. Not all these possible catastrophic WARNING
+WARNING effects have been observed in the wild, but you have been WARNING
+WARNING warned. We reccomend unsetting this environment variable WARNING
+WARNING and running the build again. WARNING
+WARNING WARNING
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ EOM
end
# Wipe out CDPATH, it interferes with building in some cases,
@@ -22,18 +36,24 @@ end
$:.unshift File.expand_path("../", __FILE__)
-config_rb = File.expand_path "../config.rb", __FILE__
-config_h = File.expand_path "../vm/gen/config.h", __FILE__
+BUILD_CONFIG = {} unless Object.const_defined? :BUILD_CONFIG
-unless File.exists?(config_rb) and File.exists?(config_h)
- STDERR.puts "Please run ./configure first"
- exit 1
+def load_configuration
+ config_rb = File.expand_path "../config.rb", __FILE__
+ config_h = File.expand_path "../vm/gen/config.h", __FILE__
+
+ unless File.exists?(config_rb) and File.exists?(config_h)
+ STDERR.puts "Please run ./configure first"
+ exit 1
+ end
+
+ load config_rb
+ BUILD_CONFIG.replace Rubinius::BUILD_CONFIG
end
-require config_rb
-BUILD_CONFIG = Rubinius::BUILD_CONFIG
+load_configuration
-unless BUILD_CONFIG[:config_version] == 158
+unless BUILD_CONFIG[:config_version] == 160
STDERR.puts "Your configuration is outdated, please run ./configure first"
exit 1
end
@@ -44,6 +64,14 @@ unless BUILD_CONFIG[:which_ruby] == :ruby or BUILD_CONFIG[:which_ruby] == :rbx
exit 1
end
+def libprefixdir
+ if BUILD_CONFIG[:stagingdir]
+ "#{BUILD_CONFIG[:stagingdir]}#{BUILD_CONFIG[:libdir]}"
+ else
+ "#{BUILD_CONFIG[:sourcedir]}/lib"
+ end
+end
+
# Records the full path to the ruby executable that runs this configure
# script. That path will be made available to the rest of the build system
# so the same version of ruby is invoked as needed.
@@ -93,6 +121,10 @@ class SpecRunner
@at_exit_handler_set = false
@at_exit_status = 0
+ def self.at_exit_status
+ @at_exit_status
+ end
+
def self.set_at_exit_handler
return if @at_exit_handler_set
@@ -105,7 +137,7 @@ class SpecRunner
end
def initialize
- unless File.directory? BUILD_CONFIG[:runtime]
+ unless File.directory? BUILD_CONFIG[:runtimedir]
# Setting these enables the specs to run when rbx has been configured
# to be installed, but rake install has not been run yet.
ENV["RBX_RUNTIME"] = File.expand_path "../runtime", __FILE__
@@ -127,7 +159,15 @@ class SpecRunner
end
end
-task :default => :spec
+if BUILD_CONFIG[:stagingdir]
+ task :default => [:spec, :check_status, :install]
+else
+ task :default => :spec
+end
+
+task :check_status do
+ exit unless SpecRunner.at_exit_status == 0
+end
task :github do
cur = `git config remote.origin.url`.strip
@@ -141,8 +181,8 @@ task :github do
end
# See vm.rake for more information
-desc "Build everything that needs to be built at default level."
-task :build => ["build:build", "gem_bootstrap"]
+desc "Build Rubinius"
+task :build => %w[build:build gems:install]
desc "Recompile all ruby system files"
task :rebuild => %w[clean build]
@@ -204,30 +244,6 @@ namespace :clean do
end
end
-desc 'Install the pre-installed gems'
-task :gem_bootstrap do
- STDOUT.puts "Installing pre-installed gems..."
- ENV['GEM_HOME'] = ENV['GEM_PATH'] = nil
-
- rbx = "#{BUILD_CONFIG[:bindir]}/#{BUILD_CONFIG[:program_name]}"
- gems = Dir["preinstalled-gems/*.gem"]
- options = "--local --conservative --ignore-dependencies --no-rdoc --no-ri"
-
- BUILD_CONFIG[:version_list].each do |ver|
- gems.each do |gem|
- parts = File.basename(gem, ".gem").split "-"
- gem_name = parts[0..-2].join "-"
- gem_version = parts[-1]
-
- system "#{rbx} -X#{ver} -S gem query --name-matches #{gem_name} --installed --version #{gem_version} > #{DEV_NULL}"
-
- unless $?.success?
- sh "#{rbx} -X#{ver} -S gem install #{options} #{gem}"
- end
- end
- end
-end
-
desc "Run the Rubinius documentation website"
task :docs do
require 'kernel/delta/options'
View
View
View
View
View
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-BIN_DIR=$(dirname $0)
-BASE_DIR=$(dirname $BIN_DIR)
-
-export RBX_RUNTIME="$BASE_DIR/runtime"
-export RBX_LIB="$BASE_DIR/lib"
-export RBX_CAPI_DIR=$BASE_DIR
-
-exec $BIN_DIR/../vm/vm "$*"
View
View
1 bin/ri
View
Oops, something went wrong.

0 comments on commit 163857d

Please sign in to comment.