summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-16 03:45:03 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-16 03:45:03 +0000
commit4f7723c02fe910308f1d3b728a5bbf54ad6e9424 (patch)
treee66f3c60fa563f23f290b3de8a71d3c70bbdb98a /Makefile.in
parent5e369b4f31b664e3a1f32021a64ed457f18c16eb (diff)
merges r20572 from trunk into ruby_1_9_1.
* 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/branches/ruby_1_9_1@20775 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