summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-17 12:20:57 +0000
committershirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-17 12:20:57 +0000
commit14d59c122f3158356bc84b25829f752585480cb7 (patch)
tree2755b7404873d5af1f5a007b0edfe447cbc05413
parentaef5f90281d470449fa785f8778b3223a02afd2e (diff)
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
-rw-r--r--ChangeLog13
-rw-r--r--common.mk2
-rw-r--r--cygwin/GNUmakefile.in3
-rwxr-xr-xext/extmk.rb11
4 files changed, 23 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 9e569fe..6937a95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/common.mk b/common.mk
index d2818f6..3585e12 100644
--- a/common.mk
+++ b/common.mk
@@ -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)
diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in
index 19d1727..2b0a806 100644
--- a/cygwin/GNUmakefile.in
+++ b/cygwin/GNUmakefile.in
@@ -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)
diff --git a/ext/extmk.rb b/ext/extmk.rb
index df86c0f..40c3f40 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -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 + " "}