From fb621ef4113d3a5cd6b54c68ad04d33d17c0c571 Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 5 Mar 2014 12:46:07 +0900 Subject: Add mruby-bin-mruby-config --- mrbgems/mruby-bin-mruby-config/mrbgem.rake | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 mrbgems/mruby-bin-mruby-config/mrbgem.rake (limited to 'mrbgems/mruby-bin-mruby-config/mrbgem.rake') diff --git a/mrbgems/mruby-bin-mruby-config/mrbgem.rake b/mrbgems/mruby-bin-mruby-config/mrbgem.rake new file mode 100644 index 000000000..42d22e35e --- /dev/null +++ b/mrbgems/mruby-bin-mruby-config/mrbgem.rake @@ -0,0 +1,31 @@ +require 'FileUtils' + +module MRuby + class Build + def exefile(name) + if name.is_a?(Array) + name.flatten.map { |n| exefile(n) } + elsif name !~ /\./ + "#{name}#{exts.executable}" + else + name + end + end + end +end + +MRuby.each_target do + next if kind_of? MRuby::CrossBuild + + mruby_config = 'mruby-config' + (ENV['OS'] == 'Windows_NT' ? '.bat' : '') + mruby_config_path = "#{build_dir}/bin/#{mruby_config}" + @bins << mruby_config + + file mruby_config_path => libfile("#{build_dir}/lib/libmruby") do |t| + FileUtils.copy "#{File.dirname(__FILE__)}/#{mruby_config}", t.name + config = Hash[open("#{build_dir}/lib/libmruby.flags.mak").read.split("\n").map {|x| x.split(/\s*=\s*/, 2)}] + IO.write(t.name, File.open(t.name) {|f| + f.read.gsub (/echo (MRUBY_CFLAGS|MRUBY_LDFLAGS|MRUBY_LIBS)/) {|x| config[$1].empty? ? 'echo/' : "echo #{config[$1]}"} + }) + end +end -- cgit v1.2.3