diff options
| author | Yuichiro MASUI <[email protected]> | 2012-12-29 05:37:55 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-01-03 02:24:15 +0900 |
| commit | 7c469c0b9dadd1de09fed18c3e5cc551012c38c1 (patch) | |
| tree | b79aa703ef7c528896c4f1be8280d0691314008b /tasks/mrbgems.rake | |
| parent | a48fc0d7952ad1f10ae777637269fe6a3f9ad0a2 (diff) | |
| download | mruby-7c469c0b9dadd1de09fed18c3e5cc551012c38c1.tar.gz mruby-7c469c0b9dadd1de09fed18c3e5cc551012c38c1.zip | |
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
Diffstat (limited to 'tasks/mrbgems.rake')
| -rw-r--r-- | tasks/mrbgems.rake | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake new file mode 100644 index 000000000..356e40369 --- /dev/null +++ b/tasks/mrbgems.rake @@ -0,0 +1,33 @@ +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 |
