Merge pull request #5153 from shuujii/refactor-src-mruby_core.rake

Refactor `src/mruby_core.rake`
This commit is contained in:
Yukihiro "Matz" Matsumoto
2020-11-20 22:23:29 +09:00
committed by GitHub
+9 -11
View File
@@ -1,15 +1,13 @@
as_cxx_srcs = %w[vm error gc].map{|name| "#{MRUBY_ROOT}/src/#{name}.c"}
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|gc)\.c$/
objfile(f.pathmap("#{current_build_dir}/%n"))
}.compact
if cxx_exception_enabled?
objs += %w(vm error gc).map { |v| compile_as_cxx "#{current_dir}/#{v}.c", "#{current_build_dir}/#{v}.cxx" }
objs = Dir.glob("#{MRUBY_ROOT}/src/*.c").map do |src|
dst = src.pathmap("#{build_dir}/src/%n")
if cxx_exception_enabled? && as_cxx_srcs.include?(src)
compile_as_cxx(src, "#{dst}.cxx")
else
objfile(dst)
end
end
self.libmruby_objs << objs