extmk.rb: fix mingw make failure with make -jN

* common.mk (WPROGRAM): need same dependencies as PROGRAM.

* cygwin/GNUmakefile.in (uncommon.mk): move include position
  below WPROGRAM definition to be defined in uncommon.mk.

* ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN.
  If make of ruby.exe and rubyw.exe run in parallel, link dll and link
  exe run in parallel, which causes link failure on mingw. To fix this,
  we make ruby.exe and rubyw.exe in one make process.
  [ruby-core:48007] [Bug #7165]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shirosaki 2012-10-17 12:20:57 +00:00
Родитель aef5f90281
Коммит 14d59c122f
4 изменённых файлов: 23 добавлений и 6 удалений

Просмотреть файл

@ -1,3 +1,16 @@
Wed Oct 17 21:16:47 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* common.mk (WPROGRAM): need same dependencies as PROGRAM.
* cygwin/GNUmakefile.in (uncommon.mk): move include position
below WPROGRAM definition to be defined in uncommon.mk.
* ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN.
If make of ruby.exe and rubyw.exe run in parallel, link dll and link
exe run in parallel, which causes link failure on mingw. To fix this,
we make ruby.exe and rubyw.exe in one make process.
[ruby-core:48007] [Bug #7165]
Wed Oct 17 16:25:34 2012 Koichi Sasada <ko1@atdot.net>
* benchmark/bm_vm2_method_missing.rb: add a benchmark to measure

Просмотреть файл

@ -212,7 +212,7 @@ Doxyfile: $(srcdir)/template/Doxyfile.tmpl $(PREP) $(srcdir)/tool/generic_erb.rb
program: showflags $(PROGRAM)
wprogram: showflags $(WPROGRAM)
$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)
$(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)
$(LIBRUBY_A): $(OBJS) $(MAINOBJ) $(DMYEXT) $(ARCHFILE)

Просмотреть файл

@ -1,5 +1,4 @@
include Makefile
-include uncommon.mk
ENABLE_SHARED=@ENABLE_SHARED@
DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)"
@ -35,6 +34,8 @@ EXTOBJS += $(if $(filter-out $(RUBYW_INSTALL_NAME),$(@:$(EXEEXT)=)),$(RUBY_INSTA
RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc
RUBYDEF = $(DLL_BASE_NAME).def
-include uncommon.mk
ruby: $(PROGRAM)
rubyw: $(WPROGRAM)
stub: $(STUBPROGRAM)

Просмотреть файл

@ -656,13 +656,11 @@ if $configure_only and $command_output
mf.puts "#{tgt}: $(extensions:/.=/#{tgt})"
end
mf.puts
mf.puts "all: #{rubies.join(' ')}"
mf.puts "static: #{rubies.join(' ')}"
mf.puts "clean:\n\t-$(Q)$(RM) ext/extinit.#{$OBJEXT}"
mf.puts "distclean:\n\t-$(Q)$(RM) ext/extinit.c"
mf.puts
mf.puts "#{rubies.join(' ')}: $(extensions:/.=/#{$force_static ? 'static' : 'all'})"
rubies.each do |tgt|
(["all static"] + rubies).each_with_index do |tgt, i|
mf.print "#{tgt}:\n\t$(Q)$(MAKE) "
mf.print "$(MFLAGS) "
if enable_config("shared", $enable_shared)
@ -671,7 +669,12 @@ if $configure_only and $command_output
else
mf.print %[EXTOBJS="$(EXTOBJS) $(ENCOBJS)" EXTLIBS="$(EXTLIBS)" ]
end
mf.puts 'EXTLDFLAGS="$(EXTLDFLAGS)" $@'
mf.print 'EXTLDFLAGS="$(EXTLDFLAGS)" '
if i == 0
mf.puts rubies.join(' ')
else
mf.puts '$@'
end
end
mf.puts
exec = config_string("exec") {|str| str + " "}