1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
parent aef5f90281
commit 14d59c122f
4 changed files with 23 additions and 6 deletions

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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 + " "}