summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mruby-config
diff options
context:
space:
mode:
authormattn <[email protected]>2014-03-05 12:46:07 +0900
committermattn <[email protected]>2014-03-05 12:46:07 +0900
commitfb621ef4113d3a5cd6b54c68ad04d33d17c0c571 (patch)
tree8123ff1ee051964afe20ab12e132492e55960aba /mrbgems/mruby-bin-mruby-config
parentba608fb38ac4f82e68c53305f59017520fa76209 (diff)
downloadmruby-fb621ef4113d3a5cd6b54c68ad04d33d17c0c571.tar.gz
mruby-fb621ef4113d3a5cd6b54c68ad04d33d17c0c571.zip
Add mruby-bin-mruby-config
Diffstat (limited to 'mrbgems/mruby-bin-mruby-config')
-rw-r--r--mrbgems/mruby-bin-mruby-config/mrbgem.rake31
-rw-r--r--mrbgems/mruby-bin-mruby-config/mruby-config10
-rw-r--r--mrbgems/mruby-bin-mruby-config/mruby-config.bat22
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