summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2020-12-05 09:16:08 +0900
committerKOBAYASHI Shuji <[email protected]>2020-12-05 09:16:08 +0900
commit73b4152574f0dd6747488662751f59f8c4c0b50d (patch)
tree276b3dd985af38345c4561f43d7961b4c13a1a9f /tasks
parent4cd349373779bb643444f85fa1d04b0769c58c63 (diff)
downloadmruby-73b4152574f0dd6747488662751f59f8c4c0b50d.tar.gz
mruby-73b4152574f0dd6747488662751f59f8c4c0b50d.zip
Make it possible that `libmruby.a` is not created
Previously, `libmruby.a` was created even if only `mruby-bin-mrbc` or` mruby-compiler` was specified for gem, but by specifying `disable_libmruby`, the creation of `libmruby.a` can be suppressed. ### Note The https://github.com/mruby/mruby/pull/5084#issuecomment-723521971 incompatibility seems to be difficult for users to avoid, so the original behavior has been restored. Therefore, if we need `mrbc` other than the `host` build, we need to explicitly specify `mruby-bin-mrbc` gem. Due to the above changes, `build_config/boxing.rb` etc. will not work, but I have added` mruby-bin-mrbc` to `default.gembox` to fix it. I don't think this change is a big deal because originally `mruby-compiler` was included.
Diffstat (limited to 'tasks')
-rw-r--r--tasks/core.rake6
-rw-r--r--tasks/libmruby.rake6
-rw-r--r--tasks/mrblib.rake2
3 files changed, 9 insertions, 5 deletions
diff --git a/tasks/core.rake b/tasks/core.rake
index c4816d4ce..aca5faed8 100644
--- a/tasks/core.rake
+++ b/tasks/core.rake
@@ -9,9 +9,5 @@ MRuby.each_target do
objfile(dst)
end
end
- self.libmruby_objs << objs
-
- file libmruby_core_static => objs do |t|
- archiver.run t.name, t.prerequisites
- end
+ self.libmruby_core_objs << objs
end
diff --git a/tasks/libmruby.rake b/tasks/libmruby.rake
index e302ca02b..c73b25d3b 100644
--- a/tasks/libmruby.rake
+++ b/tasks/libmruby.rake
@@ -1,4 +1,10 @@
MRuby.each_target do
+ file libmruby_core_static => libmruby_core_objs.flatten do |t|
+ archiver.run t.name, t.prerequisites
+ end
+
+ next unless libmruby_enabled?
+
file libmruby_static => libmruby_objs.flatten do |t|
archiver.run t.name, t.prerequisites
end
diff --git a/tasks/mrblib.rake b/tasks/mrblib.rake
index 7231b63bc..a7f592593 100644
--- a/tasks/mrblib.rake
+++ b/tasks/mrblib.rake
@@ -1,4 +1,6 @@
MRuby.each_target do
+ next unless libmruby_enabled?
+
src = "#{build_dir}/mrblib/mrblib.c"
obj = objfile(src.ext)
rbfiles = Dir["#{MRUBY_ROOT}/mrblib/*.rb"].sort!