mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fix static-linked-ext encodings
* 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/trunk@55434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9a96068975
commit
c15ad4a4ac
3 changed files with 13 additions and 5 deletions
|
@ -1,3 +1,10 @@
|
|||
Sat Jun 18 10:13:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* 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]
|
||||
|
||||
Sat Jun 18 08:52:46 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* ext/stringio/stringio.c (strio_getline): fix pointer index
|
||||
|
|
|
@ -202,7 +202,7 @@ configure-ext: $(EXTS_MK)
|
|||
|
||||
build-ext: $(EXTS_MK)
|
||||
$(Q)$(MAKE) -f $(EXTS_MK) $(MFLAGS) libdir="$(libdir)" LIBRUBY_EXTS=$(LIBRUBY_EXTS) \
|
||||
ENCOBJS="$(ENCOBJS)" UPDATE_LIBRARIES=no $(EXTSTATIC)
|
||||
EXTENCS="$(ENCOBJS)" UPDATE_LIBRARIES=no $(EXTSTATIC)
|
||||
|
||||
prog: program wprogram
|
||||
|
||||
|
|
|
@ -703,12 +703,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)"'
|
||||
|
@ -727,14 +727,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"
|
||||
|
|
Loading…
Reference in a new issue