summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-07 14:17:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-07 14:17:36 +0000
commita2a53430330e8d010a479c6e85e9f2cf178efdf0 (patch)
tree83251096725865aa44483db264b8d30fc9015696 /Makefile.in
parent920ea359baab9c09da72aca330eddd2a3e5cce6a (diff)
* Makefile.in (LIBRUBY_SO): localizes non-public symbols.
* configure.in (OBJDUMP, OBJCOPY): for dealing with binary files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in5
1 files changed, 5 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index eece91ed6e..39fc686b3e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -102,6 +102,8 @@ AS = @AS@
ASFLAGS = @ASFLAGS@
IFCHANGE = $(srcdir)/tool/ifchange
SET_LC_MESSAGES = env LC_MESSAGES=C
+OBJDUMP = @OBJDUMP@
+OBJCOPY = @OBJCOPY@
OBJEXT = @OBJEXT@
ASMEXT = S
@@ -137,6 +139,9 @@ $(LIBRUBY_A):
$(LIBRUBY_SO):
@-$(PRE_LIBRUBY_UPDATE)
$(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
+ @-test "$(OBJDUMP)" = "" || test "$(OBJCOPY)" = "" || { \
+ set dummy `$(OBJDUMP) -t $@ | sed '/^[^ ]* g/!d;s/.* //;/^\(Init_\|vm_\)/!d;s/^/-L /'`; \
+ shift; test "$$#" = 0 || $(OBJCOPY) "$$@" $@; }
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
File.symlink "$(LIBRUBY_SO)", link}' \
$(LIBRUBY_ALIASES) || true