summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Rakefile2
-rw-r--r--lib/mruby-core-ext.rb2
-rw-r--r--lib/mruby/build.rb4
-rw-r--r--lib/mruby/gem.rb5
4 files changed, 8 insertions, 5 deletions
diff --git a/Rakefile b/Rakefile
index be42233db..079b1a41b 100644
--- a/Rakefile
+++ b/Rakefile
@@ -10,8 +10,6 @@ $LOAD_PATH << File.join(MRUBY_ROOT, "lib")
# load build systems
require "mruby-core-ext"
require "mruby/build"
-require "mruby/gem"
-require "mruby/lockfile"
# load configuration file
MRUBY_CONFIG = (ENV['MRUBY_CONFIG'] && ENV['MRUBY_CONFIG'] != '') ? ENV['MRUBY_CONFIG'] : "#{MRUBY_ROOT}/build_config.rb"
diff --git a/lib/mruby-core-ext.rb b/lib/mruby-core-ext.rb
index 8c985f147..7b78bfa91 100644
--- a/lib/mruby-core-ext.rb
+++ b/lib/mruby-core-ext.rb
@@ -1,3 +1,5 @@
+autoload :Pathname, 'pathname'
+
class Object
class << self
def attr_block(*syms)
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb
index ecc343360..dfce42bea 100644
--- a/lib/mruby/build.rb
+++ b/lib/mruby/build.rb
@@ -1,7 +1,11 @@
+require "mruby-core-ext"
require "mruby/build/load_gems"
require "mruby/build/command"
module MRuby
+ autoload :Gem, "mruby/gem"
+ autoload :Lockfile, "mruby/lockfile"
+
class << self
def targets
@targets ||= {}
diff --git a/lib/mruby/gem.rb b/lib/mruby/gem.rb
index 95c1d4bc3..6cb067b91 100644
--- a/lib/mruby/gem.rb
+++ b/lib/mruby/gem.rb
@@ -1,7 +1,6 @@
-require 'pathname'
require 'forwardable'
-require 'tsort'
-require 'shellwords'
+autoload :TSort, 'tsort'
+autoload :Shellwords, 'shellwords'
module MRuby
module Gem