From 5976185c0a62e632469a893705bfe2fa41f8931a Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Fri, 12 Feb 2016 02:19:18 +0800 Subject: Fix bug in mruby-test gem. In an used build path mruby-test wasn't updating mrbtest.c in the case that the mgem selection was changed. This lead to: - a missing reference in case a GEM was removed - ignoring all new GEMs added to the build configuration This fix keeps track of the active gems and demands a rebuild of mrbtest.c in case that the gem selection changed. --- mrbgems/mruby-test/mrbgem.rake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mrbgems/mruby-test/mrbgem.rake b/mrbgems/mruby-test/mrbgem.rake index 298097f62..ae4c2f131 100644 --- a/mrbgems/mruby-test/mrbgem.rake +++ b/mrbgems/mruby-test/mrbgem.rake @@ -146,6 +146,19 @@ MRuby::Gem::Specification.new('mruby-test') do |spec| end init = "#{spec.dir}/init_mrbtest.c" + + # store the last gem selection and make the re-build + # of the test gem depending on a change to the gem + # selection + active_gems = "#{build_dir}/active_gems.lst" + FileUtils.mkdir_p File.dirname(active_gems) + open(active_gems, 'w+') do |f| + build.gems.each do |g| + f.puts g.name + end + end + file clib => active_gems + file mlib => clib file clib => init do |t| _pp "GEN", "*.rb", "#{clib.relative_path}" -- cgit v1.2.3