diff options
| author | Yuichiro MASUI <[email protected]> | 2013-01-21 12:46:17 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-01-21 12:46:17 +0900 |
| commit | 0defb59053ccd1e6c8637149329989ae81e46c71 (patch) | |
| tree | d57fb0a99501f312f1af9a694a48cff0555a6b00 | |
| parent | 8e86ff2283d427b5cb2a02607e1aab998cb5090c (diff) | |
| download | mruby-0defb59053ccd1e6c8637149329989ae81e46c71.tar.gz mruby-0defb59053ccd1e6c8637149329989ae81e46c71.zip | |
build_config gets more flexibility
| -rw-r--r-- | tasks/mrbgem_spec.rake | 2 | ||||
| -rw-r--r-- | tasks/mrbgems_test.rake | 6 | ||||
| -rw-r--r-- | tasks/mruby_build.rake | 8 | ||||
| -rw-r--r-- | tasks/mruby_build_commands.rake | 4 | ||||
| -rw-r--r-- | test/mrbtest.rake | 2 | ||||
| -rw-r--r-- | tools/mirb/mirb.rake | 2 | ||||
| -rw-r--r-- | tools/mrbc/mrbc.rake | 2 | ||||
| -rw-r--r-- | tools/mruby/mruby.rake | 2 |
8 files changed, 14 insertions, 14 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake index e21e0b670..439b2c7a8 100644 --- a/tasks/mrbgem_spec.rake +++ b/tasks/mrbgem_spec.rake @@ -90,7 +90,7 @@ module MRuby def define_gem_init_builder file objfile("#{build_dir}/gem_init") => "#{build_dir}/gem_init.c" - file "#{build_dir}/gem_init.c" => [build.mrbcfile] + rbfiles do |t| + file "#{build_dir}/gem_init.c" => [build.mrbcfile] + [rbfiles].flatten do |t| FileUtils.mkdir_p build_dir generate_gem_init("#{build_dir}/gem_init.c") end diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake index 1c495be5b..cb00aba57 100644 --- a/tasks/mrbgems_test.rake +++ b/tasks/mrbgems_test.rake @@ -5,16 +5,16 @@ MRuby.each_target do test_rbc = "#{g.build_dir}/gem_test.c" test_rbobj = test_rbc.ext(exts.object) - file g.testlib => g.test_objs + [test_rbobj] do |t| + file g.testlib => [g.test_objs, test_rbobj].flatten do |t| g.build.archiver.run t.name, t.prerequisites end file test_rbobj => test_rbc - file test_rbc => g.test_rbfiles + [g.build.mrbcfile, libfile("#{build_dir}/lib/libmruby")] do |t| + file test_rbc => [g.test_rbfiles].flatten + [g.build.mrbcfile, libfile("#{build_dir}/lib/libmruby")] do |t| open(t.name, 'w') do |f| g.print_gem_init_header(f) g.build.mrbc.run f, g.test_preload, "gem_test_irep_#{g.funcname}_preload" - g.test_rbfiles.each_with_index do |rbfile, i| + g.test_rbfiles.flatten.each_with_index do |rbfile, i| g.build.mrbc.run f, rbfile, "gem_test_irep_#{g.funcname}_#{i}" end f.puts %Q[void mrb_#{g.funcname}_gem_test(mrb_state *mrb);] unless g.test_objs.empty? diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake index bcae9dfd9..3ce2f4992 100644 --- a/tasks/mruby_build.rake +++ b/tasks/mruby_build.rake @@ -113,7 +113,7 @@ module MRuby def filename(name) if name.is_a?(Array) - name.map { |n| filename(n) } + name.flatten.map { |n| filename(n) } else '"%s"' % name.gsub('/', file_separator) end @@ -121,7 +121,7 @@ module MRuby def exefile(name) if name.is_a?(Array) - name.map { |n| exefile(n) } + name.flatten.map { |n| exefile(n) } else "#{name}#{exts.executable}" end @@ -129,7 +129,7 @@ module MRuby def objfile(name) if name.is_a?(Array) - name.map { |n| objfile(n) } + name.flatten.map { |n| objfile(n) } else "#{name}#{exts.object}" end @@ -137,7 +137,7 @@ module MRuby def libfile(name) if name.is_a?(Array) - name.map { |n| libfile(n) } + name.flatten.map { |n| libfile(n) } else "#{name}#{exts.library}" end diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake index 023b23763..7014d5a20 100644 --- a/tasks/mruby_build_commands.rake +++ b/tasks/mruby_build_commands.rake @@ -50,7 +50,7 @@ module MRuby FileUtils.mkdir_p File.dirname(outfile) define_flags = [defines, _defineds].flatten.map{ |d| option_define % d } include_path_flags = [include_paths, _include_paths, File.dirname(infile)].flatten.map{ |f| option_include_path % filename(f) } - _run compile_options, { :flags => (flags + define_flags + include_path_flags + _flags).join(' '), :infile => filename(infile), :outfile => filename(outfile) } + _run compile_options, { :flags => [flags, define_flags, include_path_flags, _flags].flatten.join(' '), :infile => filename(infile), :outfile => filename(outfile) } end def define_rules(build_dir, source_dir='') @@ -112,7 +112,7 @@ module MRuby FileUtils.mkdir_p File.dirname(outfile) library_flags = [libraries, _libraries].flatten.reverse.map{ |d| option_library % d } library_path_flags = [library_paths, _library_paths].flatten.map{ |f| option_library_path % filename(f) } - _run link_options, { :flags => (flags + library_path_flags + _flags).join(' '), :outfile => filename(outfile) , :objs => filename(objfiles).join(' '), :libs => library_flags.join(' ') } + _run link_options, { :flags => [flags, library_path_flags, _flags].flatten.join(' '), :outfile => filename(outfile) , :objs => filename(objfiles).join(' '), :libs => library_flags.join(' ') } end end diff --git a/test/mrbtest.rake b/test/mrbtest.rake index 591b737cd..9a242e25b 100644 --- a/test/mrbtest.rake +++ b/test/mrbtest.rake @@ -8,7 +8,7 @@ MRuby.each_target do init = "#{dir}/init_mrbtest.c" asslib = "#{dir}/assert.rb" - objs = [objfile("#{build_dir}/#{dir}/driver"), mlib] + objs = [objfile("#{build_dir}/#{dir}/driver"), mlib].flatten file exec => objs + gems.map(&:testlib) + [libfile("#{build_dir}/lib/libmruby")] do |t| gem_flags = gems.map { |g| g.linker.flags } diff --git a/tools/mirb/mirb.rake b/tools/mirb/mirb.rake index 9f41fff64..0c340a2f5 100644 --- a/tools/mirb/mirb.rake +++ b/tools/mirb/mirb.rake @@ -3,7 +3,7 @@ MRuby.each_target do if bins.find { |s| s.to_s == 'mirb' } exec = exefile("#{build_dir}/bin/mirb") - objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) }.flatten file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t| gem_flags = gems.map { |g| g.linker.flags } diff --git a/tools/mrbc/mrbc.rake b/tools/mrbc/mrbc.rake index 248433cf0..0121b7f81 100644 --- a/tools/mrbc/mrbc.rake +++ b/tools/mrbc/mrbc.rake @@ -3,7 +3,7 @@ MRuby.each_target do if bins.find { |s| s.to_s == 'mrbc' } exec = exefile("#{build_dir}/bin/mrbc") - objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) }.flatten file exec => objs + [libfile("#{build_dir}/lib/libmruby_core")] do |t| linker.run t.name, t.prerequisites diff --git a/tools/mruby/mruby.rake b/tools/mruby/mruby.rake index d380cb9f5..df31b0343 100644 --- a/tools/mruby/mruby.rake +++ b/tools/mruby/mruby.rake @@ -3,7 +3,7 @@ MRuby.each_target do if bins.find { |s| s.to_s == 'mruby' } exec = exefile("#{build_dir}/bin/mruby") - objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) } + objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) }.flatten file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t| gem_flags = gems.map { |g| g.linker.flags } |
