summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mrbc/mrbgem.rake
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2015-04-06 15:20:13 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-06-01 21:53:55 +0900
commit6460ef77bcceb17d80d1b46a07b28fada19737c8 (patch)
tree802d327b0efbe1ed9ed1a1109657e23705b4f89f /mrbgems/mruby-bin-mrbc/mrbgem.rake
parent214bc3c95a9e01a7be4d76e94d80be9d9d59bd4b (diff)
downloadmruby-6460ef77bcceb17d80d1b46a07b28fada19737c8.tar.gz
mruby-6460ef77bcceb17d80d1b46a07b28fada19737c8.zip
Compile mruby compiler as mrbgem.
Compiler codes is moved to "mruby-compiler". Executable `mrbc` is moved to "mruby-bin-mrbc".
Diffstat (limited to 'mrbgems/mruby-bin-mrbc/mrbgem.rake')
-rw-r--r--mrbgems/mruby-bin-mrbc/mrbgem.rake16
1 files changed, 16 insertions, 0 deletions
diff --git a/mrbgems/mruby-bin-mrbc/mrbgem.rake b/mrbgems/mruby-bin-mrbc/mrbgem.rake
new file mode 100644
index 000000000..e710b5a49
--- /dev/null
+++ b/mrbgems/mruby-bin-mrbc/mrbgem.rake
@@ -0,0 +1,16 @@
+MRuby::Gem::Specification.new 'mruby-bin-mrbc' do |spec|
+ spec.license = 'MIT'
+ spec.author = 'mruby developers'
+ spec.summary = 'mruby compiler executable'
+
+ spec.add_dependency 'mruby-compiler', :core => 'mruby-compiler'
+
+ exec = exefile("#{build.build_dir}/bin/mrbc")
+ mrbc_objs = Dir.glob("#{spec.dir}/tools/mrbc/*.c").map { |f| objfile(f.pathmap("#{spec.build_dir}/tools/mrbc/%n")) }.flatten
+
+ file exec => mrbc_objs + [libfile("#{build.build_dir}/lib/libmruby_core")] do |t|
+ build.linker.run t.name, t.prerequisites
+ end
+
+ build.bins << 'mrbc' unless build.bins.find { |v| v == 'mrbc' }
+end