summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake19
1 files changed, 19 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake b/web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake
new file mode 100644
index 00000000..4558493d
--- /dev/null
+++ b/web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake
@@ -0,0 +1,19 @@
+MRuby.each_target do
+ current_dir = File.dirname(__FILE__).relative_path_from(Dir.pwd)
+ relative_from_root = File.dirname(__FILE__).relative_path_from(MRUBY_ROOT)
+ current_build_dir = "#{build_dir}/#{relative_from_root}"
+
+ objs = Dir.glob("#{current_dir}/*.c").map { |f|
+ next nil if cxx_exception_enabled? and f =~ /(error|vm).c$/
+ objfile(f.pathmap("#{current_build_dir}/%n"))
+ }.compact
+
+ if cxx_exception_enabled?
+ objs += %w(vm error).map { |v| compile_as_cxx "#{current_dir}/#{v}.c", "#{current_build_dir}/#{v}.cxx" }
+ end
+ self.libmruby << objs
+
+ file libfile("#{build_dir}/lib/libmruby_core") => objs do |t|
+ archiver.run t.name, t.prerequisites
+ end
+end