From cdcc05e4e4f374c893a8b0ce06fa02e94ba69ba1 Mon Sep 17 00:00:00 2001 From: yugui Date: Tue, 16 Dec 2008 03:45:03 +0000 Subject: 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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@20775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ Makefile.in | 5 +++++ configure.in | 4 +++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 01ed6629f..de33e2fb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sun Dec 7 23:17:33 2008 Nobuyoshi Nakada + + * Makefile.in (LIBRUBY_SO): localizes non-public symbols. + + * configure.in (OBJDUMP, OBJCOPY): for dealing with binary files. + Mon Dec 15 10:00:36 2008 Nobuyoshi Nakada * common.mk (btest-ruby): use RUNRUBY instead of MINIRUBY to load the diff --git a/Makefile.in b/Makefile.in index eece91ed6..39fc686b3 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 diff --git a/configure.in b/configure.in index 5b38723b2..34fe037d2 100644 --- a/configure.in +++ b/configure.in @@ -214,6 +214,9 @@ AC_CHECK_TOOL(AS, as) ASFLAGS=$ASFLAGS AC_SUBST(ASFLAGS) +AC_CHECK_TOOL(OBJDUMP, objdump) +AC_CHECK_TOOL(OBJCOPY, objcopy) + case "$target_os" in cygwin*|mingw*) AC_CHECK_TOOL(NM, nm) @@ -223,7 +226,6 @@ cygwin*|mingw*) case "$target_os" in mingw*) test "$rb_cv_msvcrt" = "" && unset rb_cv_msvcrt - AC_CHECK_TOOL(OBJDUMP, objdump) AC_CACHE_CHECK(for mingw32 runtime DLL, rb_cv_msvcrt, [ AC_TRY_LINK([#include ], [FILE* volatile f = stdin; return 0;], -- cgit