diff options
| author | KOBAYASHI Shuji <[email protected]> | 2020-11-20 17:55:26 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2020-11-20 17:55:26 +0900 |
| commit | aaa12911e2f4be42c2b024d86cd150d91e231b26 (patch) | |
| tree | cb60eba70924503d828f2e6a8c44bc77820d691e /src/mruby_core.rake | |
| parent | 5dc9a8249fc92de089627cad17b5d5b7a5f0a505 (diff) | |
| download | mruby-aaa12911e2f4be42c2b024d86cd150d91e231b26.tar.gz mruby-aaa12911e2f4be42c2b024d86cd150d91e231b26.zip | |
Refactor `src/mruby_core.rake`
Diffstat (limited to 'src/mruby_core.rake')
| -rw-r--r-- | src/mruby_core.rake | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/mruby_core.rake b/src/mruby_core.rake index 0b9e94a20..c4816d4ce 100644 --- a/src/mruby_core.rake +++ b/src/mruby_core.rake @@ -1,15 +1,13 @@ -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 +as_cxx_srcs = %w[vm error gc].map{|name| "#{MRUBY_ROOT}/src/#{name}.c"} - if cxx_exception_enabled? - objs += %w(vm error gc).map { |v| compile_as_cxx "#{current_dir}/#{v}.c", "#{current_build_dir}/#{v}.cxx" } +MRuby.each_target do + 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 |
