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 +++++++++++++++++++++++++ mrbgems/mruby-bin-mruby-config/mruby-config | 10 ++++++++ mrbgems/mruby-bin-mruby-config/mruby-config.bat | 22 ++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 mrbgems/mruby-bin-mruby-config/mrbgem.rake create mode 100644 mrbgems/mruby-bin-mruby-config/mruby-config create mode 100644 mrbgems/mruby-bin-mruby-config/mruby-config.bat (limited to 'mrbgems/mruby-bin-mruby-config') 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 -- cgit v1.2.3 From 48616a85afc898bef931c9457667648cdf8ecf54 Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 5 Mar 2014 12:51:15 +0900 Subject: chmod 755 --- mrbgems/mruby-bin-mruby-config/mrbgem.rake | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'mrbgems/mruby-bin-mruby-config') diff --git a/mrbgems/mruby-bin-mruby-config/mrbgem.rake b/mrbgems/mruby-bin-mruby-config/mrbgem.rake index 42d22e35e..d2513b8bd 100644 --- a/mrbgems/mruby-bin-mruby-config/mrbgem.rake +++ b/mrbgems/mruby-bin-mruby-config/mrbgem.rake @@ -1,11 +1,9 @@ -require 'FileUtils' - module MRuby class Build def exefile(name) if name.is_a?(Array) name.flatten.map { |n| exefile(n) } - elsif name !~ /\./ + elsif name !~ /\./ "#{name}#{exts.executable}" else name @@ -26,6 +24,7 @@ MRuby.each_target do 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]}"} - }) + }) + FileUtils.chmod(0755, t.name) end end -- cgit v1.2.3 From 67b8f6ec60329f8c7fb9f753bff5bcf03cab51c9 Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 5 Mar 2014 12:56:27 +0900 Subject: Don't echo empty string. (Remove workaround for windows) --- mrbgems/mruby-bin-mruby-config/mrbgem.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mrbgems/mruby-bin-mruby-config') diff --git a/mrbgems/mruby-bin-mruby-config/mrbgem.rake b/mrbgems/mruby-bin-mruby-config/mrbgem.rake index d2513b8bd..9fa01867f 100644 --- a/mrbgems/mruby-bin-mruby-config/mrbgem.rake +++ b/mrbgems/mruby-bin-mruby-config/mrbgem.rake @@ -23,7 +23,7 @@ MRuby.each_target do 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]}"} + f.read.gsub (/echo (MRUBY_CFLAGS|MRUBY_LDFLAGS|MRUBY_LIBS)/) {|x| config[$1].empty? ? '' : "echo #{config[$1]}"} }) FileUtils.chmod(0755, t.name) end -- cgit v1.2.3