From fc5238a491b41053c39e1586708ec6e5f2736da6 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 16 Aug 2016 06:03:51 +0000 Subject: merge revision(s) 55434: [Backport #12401] * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS different than ENCOBJS, to get rid of circular dependency. build libencs when linking encodings statically. [ruby-core:75618] [Bug #12401] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@55931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/extmk.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'ext') diff --git a/ext/extmk.rb b/ext/extmk.rb index 850461a359..32cc9f10cf 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -696,12 +696,12 @@ if $configure_only and $command_output mf.macro "EXTLDFLAGS", $extflags.split submakeopts = [] if enable_config("shared", $enable_shared) - submakeopts << 'DLDOBJS="$(EXTOBJS) $(ENCOBJS)"' + submakeopts << 'DLDOBJS="$(EXTOBJS) $(EXTENCS)"' submakeopts << 'EXTOBJS=' submakeopts << 'EXTSOLIBS="$(EXTLIBS)"' submakeopts << 'LIBRUBY_SO_UPDATE=$(LIBRUBY_EXTS)' else - submakeopts << 'EXTOBJS="$(EXTOBJS) $(ENCOBJS)"' + submakeopts << 'EXTOBJS="$(EXTOBJS) $(EXTENCS)"' submakeopts << 'EXTLIBS="$(EXTLIBS)"' end submakeopts << 'EXTLDFLAGS="$(EXTLDFLAGS)"' @@ -718,14 +718,15 @@ if $configure_only and $command_output mf.puts mf.puts "#{rubies.join(' ')}: $(extensions:/.=/#{$force_static ? 'static' : 'all'})" submake = "$(Q)$(MAKE) $(MFLAGS) $(SUBMAKEOPTS)" - mf.puts "all static: $(EXTOBJS)\n\t#{submake} #{rubies.join(' ')}\n" + mf.puts "all static: #{rubies.join(' ')}\n" $extobjs.each do |tgt| mf.puts "#{tgt}: #{File.dirname(tgt)}/static" end - mf.puts "#{rubies.join(' ')}: $(EXTOBJS)" + mf.puts "#{rubies.join(' ')}: $(EXTOBJS)#{' libencs' if CONFIG['ENCSTATIC'] == 'static'}" rubies.each do |tgt| mf.puts "#{tgt}:\n\t#{submake} $@" end + mf.puts "libencs:\n\t$(Q)$(MAKE) -f enc.mk V=$(V) $@" mf.puts "ext/extinit.#{$OBJEXT}:\n\t$(Q)$(MAKE) $(MFLAGS) V=$(V) $@" if $static mf.puts if $gnumake == "yes" -- cgit v1.2.3