summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-01-21 00:25:58 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-01-21 00:25:58 -0800
commit04941bc1634335c8f7fca3bafc68ca2c25969faf (patch)
tree4f4515f5cebddf0f17d967d94072f7cfc627a9a8
parent8e86ff2283d427b5cb2a02607e1aab998cb5090c (diff)
parent300f0d548b956aa6d36e1768a96fd8ec6d400297 (diff)
downloadmruby-04941bc1634335c8f7fca3bafc68ca2c25969faf.tar.gz
mruby-04941bc1634335c8f7fca3bafc68ca2c25969faf.zip
Merge pull request #761 from bovi/beautify-build
Beautify build process output
-rwxr-xr-xminirake4
-rw-r--r--mrblib/mrblib.rake1
-rw-r--r--tasks/mrbgem_spec.rake8
-rw-r--r--tasks/mruby_build_commands.rake20
-rw-r--r--tasks/ruby_ext.rake23
-rw-r--r--tasks/toolchains/vs2012.rake4
-rw-r--r--test/mrbtest.rake1
7 files changed, 51 insertions, 10 deletions
diff --git a/minirake b/minirake
index 00a2e6486..430e730cb 100755
--- a/minirake
+++ b/minirake
@@ -277,7 +277,7 @@ module MiniRake
# Run the system command +cmd+.
def sh(cmd)
- puts cmd
+ puts cmd if $verbose
system(cmd) or fail "Command Failed: [#{cmd}]"
end
@@ -418,7 +418,7 @@ class RakeApp
# Read and handle the command line options.
def handle_options
- $verbose = true
+ $verbose = false
opts = GetoptLong.new(*command_line_options)
opts.each { |opt, value| do_option(opt, value) }
end
diff --git a/mrblib/mrblib.rake b/mrblib/mrblib.rake
index 493207db4..46d8c5a79 100644
--- a/mrblib/mrblib.rake
+++ b/mrblib/mrblib.rake
@@ -7,6 +7,7 @@ MRuby.each_target do
mrbc_, *rbfiles = t.prerequisites
FileUtils.mkdir_p File.dirname(t.name)
open(t.name, 'w') do |f|
+ _pp "GEN *.rb > #{t.name}"
f.puts File.read("#{dir}/init_mrblib.c")
mrbc.run f, rbfiles, 'mrblib_irep'
end
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake
index e21e0b670..bf381cf33 100644
--- a/tasks/mrbgem_spec.rake
+++ b/tasks/mrbgem_spec.rake
@@ -46,11 +46,15 @@ module MRuby
end
@rbfiles = Dir.glob("#{dir}/mrblib/*.rb")
- @objs = Dir.glob("#{dir}/src/*.{c,cpp,m,asm,S}").map { |f| objfile(f.relative_path_from(@dir).to_s.pathmap("#{build_dir}/%X")) }
+ @objs = Dir.glob("#{dir}/src/*.{c,cpp,m,asm,S}").map do |f|
+ objfile(f.relative_path_from(@dir).to_s.pathmap("#{build_dir}/%X"))
+ end
@objs << objfile("#{build_dir}/gem_init")
@test_rbfiles = Dir.glob("#{dir}/test/*.rb")
- @test_objs = Dir.glob("#{dir}/test/*.{c,cpp,m,asm,S}").map { |f| objfile(f.relative_path_from(dir).to_s.pathmap("#{build_dir}/%X")) }
+ @test_objs = Dir.glob("#{dir}/test/*.{c,cpp,m,asm,S}").map do |f|
+ objfile(f.relative_path_from(dir).to_s.pathmap("#{build_dir}/%X"))
+ end
@test_preload = 'test/assert.rb'
instance_eval(&@initializer)
diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake
index 023b23763..6c160784b 100644
--- a/tasks/mruby_build_commands.rake
+++ b/tasks/mruby_build_commands.rake
@@ -49,8 +49,12 @@ module MRuby
def run(outfile, infile, _defineds=[], _include_paths=[], _flags=[])
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) }
+ include_path_flags = [include_paths, _include_paths, File.dirname(infile)].flatten.map do |f|
+ option_include_path % filename(f)
+ end
+ _pp "CC #{filename(infile)} > #{filename(outfile)}"
+ _run compile_options, { :flags => (flags + define_flags + include_path_flags + _flags).join(' '),
+ :infile => filename(infile), :outfile => filename(outfile) }
end
def define_rules(build_dir, source_dir='')
@@ -112,7 +116,10 @@ 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(' ') }
+ _pp "LD #{filename(outfile)}"
+ _run link_options, { :flags => (flags + library_path_flags + _flags).join(' '),
+ :outfile => filename(outfile) , :objs => filename(objfiles).join(' '),
+ :libs => library_flags.join(' ') }
end
end
@@ -127,6 +134,7 @@ module MRuby
def run(outfile, objfiles)
FileUtils.mkdir_p File.dirname(outfile)
+ _pp "AR #{filename(outfile)}"
_run archive_options, { :outfile => filename(outfile), :objs => filename(objfiles).join(' ') }
end
end
@@ -142,6 +150,7 @@ module MRuby
def run(outfile, infile)
FileUtils.mkdir_p File.dirname(outfile)
+ _pp "YACC #{filename(infile)} > #{filename(outfile)}"
_run compile_options, { :outfile => filename(outfile) , :infile => filename(infile) }
end
end
@@ -157,6 +166,7 @@ module MRuby
def run(outfile, infile)
FileUtils.mkdir_p File.dirname(outfile)
+ _pp "GPERF #{filename(infile)} > #{filename(outfile)}"
_run compile_options, { :outfile => filename(outfile) , :infile => filename(infile) }
end
end
@@ -173,6 +183,7 @@ module MRuby
end
def run_clone(dir, url, _flags = [])
+ _pp "GIT #{url} > #{filename(dir)}"
_run clone_options, { :flags => [flags, _flags].flatten.join(' '), :url => url, :dir => filename(dir) }
end
end
@@ -188,6 +199,7 @@ module MRuby
@command ||= @build.mrbcfile
IO.popen("#{filename @command} #{@compile_options % {:funcname => funcname}}", 'r+') do |io|
[infiles].flatten.each do |f|
+ _pp " MRBC #{f}"
io.write IO.read(f)
end
io.close_write
@@ -195,4 +207,4 @@ module MRuby
end
end
end
-end \ No newline at end of file
+end
diff --git a/tasks/ruby_ext.rake b/tasks/ruby_ext.rake
index ebd499063..22a8409d4 100644
--- a/tasks/ruby_ext.rake
+++ b/tasks/ruby_ext.rake
@@ -33,3 +33,26 @@ class Symbol
proc { |obj, *args| obj.send(self, *args) }
end
end
+
+$pp_show = true
+
+if $verbose.nil?
+ unless Rake.verbose.nil?
+ if Rake.verbose.class == TrueClass
+ # verbose message logging
+ $pp_show = false
+ else
+ $pp_show = true
+ Rake.verbose(false)
+ end
+ else
+ # could not identify rake version
+ $pp_show = false
+ end
+else
+ $pp_show = false if $verbose
+end
+
+def _pp(msg)
+ puts msg if $pp_show
+end
diff --git a/tasks/toolchains/vs2012.rake b/tasks/toolchains/vs2012.rake
index 8b4212468..1f6ea2d65 100644
--- a/tasks/toolchains/vs2012.rake
+++ b/tasks/toolchains/vs2012.rake
@@ -12,8 +12,8 @@ MRuby::Toolchain.new(:vs2012) do |conf|
conf.linker do |linker|
linker.command = ENV['LD'] || 'link.exe'
linker.flags = [ENV['LDFLAGS'] || %w(/nologo)]
- linkerraries = %w(kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32)
- linkerrary_paths = []
+ linker.libraries = %w(kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32)
+ linker.library_paths = []
linker.option_library = '-l%s'
linker.option_library_path = '-L%s'
linker.link_options = "%{flags} /OUT:%{outfile} %{objs} %{libs}"
diff --git a/test/mrbtest.rake b/test/mrbtest.rake
index 591b737cd..88d959995 100644
--- a/test/mrbtest.rake
+++ b/test/mrbtest.rake
@@ -19,6 +19,7 @@ MRuby.each_target do
file mlib => [clib]
file clib => [mrbcfile, init, asslib] + mrbs do |t|
+ _pp "GEN *.rb > #{clib}"
open(clib, 'w') do |f|
f.puts IO.read(init)
mrbc.run f, [asslib] + mrbs, 'mrbtest_irep'