summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Rakefile20
-rw-r--r--lib/mruby/build.rb10
2 files changed, 18 insertions, 12 deletions
diff --git a/Rakefile b/Rakefile
index 52b4c75c1..9a0a69ec6 100644
--- a/Rakefile
+++ b/Rakefile
@@ -52,15 +52,19 @@ task :default => :all
bin_path = ENV['INSTALL_DIR'] || "#{MRUBY_ROOT}/bin"
-depfiles = MRuby.targets['host'].bins.map do |bin|
- install_path = MRuby.targets['host'].exefile("#{bin_path}/#{bin}")
- source_path = MRuby.targets['host'].exefile("#{MRuby.targets['host'].build_dir}/bin/#{bin}")
-
- file install_path => source_path do |t|
- install_D t.prerequisites.first, t.name
+if MRuby.targets['host']
+ target = MRuby.targets['host']
+ depfiles = target.bins.map do |bin|
+ install_path = target.exefile("#{bin_path}/#{bin}")
+ source_path = target.exefile("#{target.build_dir}/bin/#{bin}")
+
+ file install_path => source_path do |t|
+ install_D t.prerequisites.first, t.name
+ end
+ install_path
end
-
- install_path
+else
+ depfiles = []
end
MRuby.each_target do |target|
diff --git a/lib/mruby/build.rb b/lib/mruby/build.rb
index c101a237f..3ad7f3c4c 100644
--- a/lib/mruby/build.rb
+++ b/lib/mruby/build.rb
@@ -247,9 +247,10 @@ EOS
def mrbcfile
return @mrbcfile if @mrbcfile
- mrbc_build = MRuby.targets['host']
- gems.each { |v| mrbc_build = self if v.name == 'mruby-bin-mrbc' }
- @mrbcfile = mrbc_build.exefile("#{mrbc_build.build_dir}/bin/mrbc")
+ unless gems.detect { |v| v.name == 'mruby-bin-mrbc' }
+ gem :core => "mruby-bin-mrbc"
+ end
+ @mrbcfile = self.exefile("#{self.build_dir}/bin/mrbc")
end
def compilers
@@ -387,7 +388,8 @@ EOS
end
def mrbcfile
- MRuby.targets['host'].exefile("#{MRuby.targets['host'].build_dir}/bin/mrbc")
+ host = MRuby.targets['host']
+ host.exefile("#{host.build_dir}/bin/mrbc")
end
def run_test