summaryrefslogtreecommitdiffhomepage
path: root/tasks/bin.rake
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-01-08 21:14:19 +0900
committerGitHub <[email protected]>2021-01-08 21:14:19 +0900
commit6587269af8800831f2175ae04ca738328b9b1308 (patch)
tree3388c53575e1e772ac142d0c746464763ed71963 /tasks/bin.rake
parenta0c1e075e35c358d21934c28ff1bec4153502409 (diff)
parent3a8d7bdf82dddb8d5e54330503d9ed11b4f68ad0 (diff)
downloadmruby-6587269af8800831f2175ae04ca738328b9b1308.tar.gz
mruby-6587269af8800831f2175ae04ca738328b9b1308.zip
Merge pull request #5267 from shuujii/delay-test-code-build-until-rake-test
Delay test code build until `rake test`
Diffstat (limited to 'tasks/bin.rake')
-rw-r--r--tasks/bin.rake20
1 files changed, 4 insertions, 16 deletions
diff --git a/tasks/bin.rake b/tasks/bin.rake
index afef065a1..bc8820b66 100644
--- a/tasks/bin.rake
+++ b/tasks/bin.rake
@@ -1,35 +1,23 @@
-install_task = ->(src) do
- dst = "#{MRuby::Build.install_dir}/#{File.basename(src)}"
- file dst => src do
- install_D src, dst
- end
- dst
-end
-
MRuby.each_target do |build|
if build.host? && build.mrbc_build && !build.gems["mruby-bin-mrbc"]
exe = build.exefile("#{build.mrbc_build.build_dir}/bin/mrbc")
- build.products << install_task.(exe)
+ build.products << build.define_installer(exe)
end
- build.bins.each do |bin|
- exe = build.exefile("#{build.build_dir}/bin/#{bin}")
- build.products << (build.host? ? install_task.(exe) : exe)
- end
+ build.bins.each{|bin| build.products << define_installer_if_needed(bin)}
- linker_attrs = build.gems.map{|gem| gem.linker.run_attrs}.transpose
+ linker_attrs = build.gems.linker_attrs
build.gems.each do |gem|
gem.bins.each do |bin|
exe = build.exefile("#{build.build_dir}/bin/#{bin}")
objs = Dir["#{gem.dir}/tools/#{bin}/*.{c,cpp,cxx,cc}"].map do |f|
build.objfile(f.pathmap("#{gem.build_dir}/tools/#{bin}/%n"))
end
-
file exe => objs.concat(build.libraries) do |t|
build.linker.run t.name, t.prerequisites, *linker_attrs
end
- build.products << (build.host? ? install_task.(exe) : exe)
+ build.products << define_installer_if_needed(bin)
end
end
end