summaryrefslogtreecommitdiffhomepage
path: root/tasks/core.rake
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-11-21 15:36:46 +0900
committerKOBAYASHI Shuji <[email protected]>2020-11-21 15:36:46 +0900
commit551bf0c635ca5dda1741a39a92de528dc82e90d6 (patch)
tree4dcf4e7850157dc45e0be9a49851a9564f96a402 /tasks/core.rake
parentfb028b47aa6fb730f3e5b866d51577636b9a1ba3 (diff)
downloadmruby-551bf0c635ca5dda1741a39a92de528dc82e90d6.tar.gz
mruby-551bf0c635ca5dda1741a39a92de528dc82e90d6.zip
Move some `.rake` files to `tasks` directory for consistency
Diffstat (limited to 'tasks/core.rake')
-rw-r--r--tasks/core.rake17
1 files changed, 17 insertions, 0 deletions
diff --git a/tasks/core.rake b/tasks/core.rake
new file mode 100644
index 000000000..c4816d4ce
--- /dev/null
+++ b/tasks/core.rake
@@ -0,0 +1,17 @@
+as_cxx_srcs = %w[vm error gc].map{|name| "#{MRUBY_ROOT}/src/#{name}.c"}
+
+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
+
+ file libmruby_core_static => objs do |t|
+ archiver.run t.name, t.prerequisites
+ end
+end