diff options
| author | mattn <[email protected]> | 2014-03-05 12:46:07 +0900 |
|---|---|---|
| committer | mattn <[email protected]> | 2014-03-05 12:46:07 +0900 |
| commit | fb621ef4113d3a5cd6b54c68ad04d33d17c0c571 (patch) | |
| tree | 8123ff1ee051964afe20ab12e132492e55960aba | |
| parent | ba608fb38ac4f82e68c53305f59017520fa76209 (diff) | |
| download | mruby-fb621ef4113d3a5cd6b54c68ad04d33d17c0c571.tar.gz mruby-fb621ef4113d3a5cd6b54c68ad04d33d17c0c571.zip | |
Add mruby-bin-mruby-config
| -rw-r--r-- | mrbgems/mruby-bin-mruby-config/mrbgem.rake | 31 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby-config/mruby-config | 10 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby-config/mruby-config.bat | 22 |
3 files changed, 63 insertions, 0 deletions
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 diff --git a/mrbgems/mruby-bin-mruby-config/mruby-config b/mrbgems/mruby-bin-mruby-config/mruby-config new file mode 100644 index 000000000..6fad080b7 --- /dev/null +++ b/mrbgems/mruby-bin-mruby-config/mruby-config @@ -0,0 +1,10 @@ +#!/bin/sh + +while [ $# -gt 0 ]; do + case $1 in + --cflags) echo MRUBY_CFLAGS;; + --ldflags) echo MRUBY_LDFLAGS;; + --libs) echo MRUBY_LIBS;; + esac + shift +done diff --git a/mrbgems/mruby-bin-mruby-config/mruby-config.bat b/mrbgems/mruby-bin-mruby-config/mruby-config.bat new file mode 100644 index 000000000..ffb52adbc --- /dev/null +++ b/mrbgems/mruby-bin-mruby-config/mruby-config.bat @@ -0,0 +1,22 @@ +@echo off + +:top +shift +if "%0" equ "" goto :eof +if "%0" equ "--cflags" goto cflags +if "%0" equ "--ldflags" goto ldflags +if "%0" equ "--libs" goto libs +echo Invalid Option +goto :eof + +:cflags +echo MRUBY_CFLAGS +goto top + +:libs +echo MRUBY_LIBS +goto top + +:ldflags +echo MRUBY_LDFLAGS +goto top |
