diff options
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake')
-rw-r--r-- | web/server/h2o/libh2o/deps/mruby/src/mruby_core.rake | 19 |
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 000000000..4558493d9 --- /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 |