Files
mruby-mruby/tasks/mrbgems.rake
T
Yuichiro MASUI 7c469c0b9d Rebuild CRuby based building script without Makefile
Tested CRuby 1.8.6 and 1.9.3

You can see building configuration in build_config.rb
2013-01-03 02:24:15 +09:00

34 lines
860 B
Ruby

dir = File.dirname(__FILE__).sub(%r|^\./|, '')
MRuby.each_target do
if enable_gems?
self.libmruby << "#{build_dir}/mrbgems/gem_init.o"
file "#{build_dir}/mrbgems/gem_init.o" => "#{build_dir}/mrbgems/gem_init.c"
file "#{build_dir}/mrbgems/gem_init.c" do |t|
FileUtils.mkdir_p "#{build_dir}/mrbgems"
open(t.name, 'w') do |f|
f.puts <<__EOF__
/*
* This file contains a list of all
* initializing methods which are
* necessary to bootstrap all gems.
*
* IMPORTANT:
* This file was generated!
* All manual changes will get lost.
*/
#include "mruby.h"
#{gems.map{|gem| "void GENERATED_TMP_mrb_%s_gem_init(mrb_state* mrb);" % [gem.funcname]}.join("\n")}
void
mrb_init_mrbgems(mrb_state *mrb) {
#{gems.map{|gem| "GENERATED_TMP_mrb_%s_gem_init(mrb);" % [gem.funcname]}.join("\n")}
}
__EOF__
end
end
end
end