summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.in2
-rw-r--r--common.mk1
-rwxr-xr-xext/extmk.rb2
-rw-r--r--win32/Makefile.sub3
5 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b42d2d6c07..27b5d16ed9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun May 20 12:25:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.
+
+ * ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid
+ of discard libraries needed by default. [Bug #6462]
+
Sat May 19 19:04:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/extmk.rb (command_output): ENCOBJS is needed for all linked
diff --git a/Makefile.in b/Makefile.in
index de807f74e7..2fe2d1c0e6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -199,7 +199,7 @@ $(LIBRUBY_A):
$(LIBRUBY_SO):
@-$(PRE_LIBRUBY_UPDATE)
$(ECHO) linking shared-library $@
- $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
+ $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@
-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)*_threadptr_*' $@
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
File.symlink "$(LIBRUBY_SO)", link}' \
diff --git a/common.mk b/common.mk
index e8e9896320..94da381316 100644
--- a/common.mk
+++ b/common.mk
@@ -34,6 +34,7 @@ NORMALMAINOBJ = main.$(OBJEXT)
MAINOBJ = $(NORMALMAINOBJ)
EXTOBJS =
DLDOBJS = $(DMYEXT)
+EXTSOLIBS =
MINIOBJS = $(ARCHMINIOBJS) dmyencoding.$(OBJEXT) dmyversion.$(OBJEXT) miniprelude.$(OBJEXT)
ENC_MK = enc.mk
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 81faca8bf6..9af651c4a0 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -663,7 +663,7 @@ if $configure_only and $command_output
mf.print "#{tgt}:\n\t$(Q)$(MAKE) "
mf.print "$(MFLAGS) "
if enable_config("shared", $enable_shared)
- mf.print %[DLDOBJS="$(EXTOBJS)" SOLIBS="$(ENCOBJS) $(EXTLIBS)" ]
+ mf.print %[DLDOBJS="$(EXTOBJS)" EXTSOLIBS="$(ENCOBJS) $(EXTLIBS)" ]
mf.print 'LIBRUBY_SO_UPDATE=$(LIBRUBY_EXTS) '
else
mf.print %[EXTOBJS="$(EXTOBJS) $(ENCOBJS)" EXTLIBS="$(EXTLIBS)" ]
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 710e146915..acc2efff89 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -222,6 +222,9 @@ RFLAGS = -r
!if !defined(EXTLIBS)
EXTLIBS =
!endif
+!if !defined(EXTSOLIBS)
+EXTSOLIBS =
+!endif
!if !defined(LIBS)
LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib imagehlp.lib $(EXTLIBS)
!endif