summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/mruby-core-ext.rb2
-rw-r--r--lib/mruby/build.rb4
-rw-r--r--lib/mruby/gem.rb5
3 files changed, 8 insertions, 3 deletions
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