ruby-changes:17728
From: nobu <ko1@a...>
Date: Thu, 11 Nov 2010 20:45:42 +0900 (JST)
Subject: [ruby-changes:17728] Ruby:r29739 (trunk): * configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX.
nobu 2010-11-11 20:45:32 +0900 (Thu, 11 Nov 2010) New Revision: 29739 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29739 Log: * configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX. * win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX. Modified files: trunk/ChangeLog trunk/Makefile.in trunk/configure.in trunk/cygwin/GNUmakefile.in trunk/win32/mkexports.rb Index: configure.in =================================================================== --- configure.in (revision 29738) +++ configure.in (revision 29739) @@ -2349,16 +2349,16 @@ if test "$rb_with_pthread" = "yes"; then THREAD_MODEL=pthread fi -AC_CACHE_CHECK([for prefix of exported symbols], rb_cv_export_prefix, [ - AC_TRY_COMPILE([extern void conftest_exported(void) {}], [], [ - rb_cv_export_prefix=`$NM conftest.$ac_objext | - sed -n ['/.*[ ]\([^ ]*\)conftest_exported.*/!d;s//\1/p;q']` +AC_CACHE_CHECK([for prefix of external symbols], rb_cv_symbol_prefix, [ + AC_TRY_COMPILE([extern void conftest_external(void) {}], [], [ + rb_cv_symbol_prefix=`$NM conftest.$ac_objext | + sed -n ['/.*[ ]\([^ ]*\)conftest_external.*/!d;s//\1/p;q']` ], - [rb_cv_export_prefix='']) - test -n "$rb_cv_export_prefix" || rb_cv_export_prefix=NONE + [rb_cv_symbol_prefix='']) + test -n "$rb_cv_symbol_prefix" || rb_cv_symbol_prefix=NONE ]) -EXPORT_PREFIX="$rb_cv_export_prefix" -test "x$EXPORT_PREFIX" = xNONE && EXPORT_PREFIX='' +SYMBOL_PREFIX="$rb_cv_symbol_prefix" +test "x$SYMBOL_PREFIX" = xNONE && SYMBOL_PREFIX='' MINIDLNOBJ=dmydln.o AS_CASE(["$target_os"], [linux*], [ @@ -2424,7 +2424,7 @@ LIBRUBY_SO='$(RUBY_SO_NAME)'.dll LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)' fi - test -z "$EXPORT_PREFIX" && EXPORT_PREFIX=' ' + EXPORT_PREFIX=' ' DLDFLAGS="${DLDFLAGS}"' $(DEFFILE)' AC_LIBOBJ([win32]) COMMON_LIBS=m @@ -2557,6 +2557,7 @@ AC_SUBST(COMMON_MACROS) AC_SUBST(COMMON_HEADERS) AC_SUBST(EXPORT_PREFIX) +AC_SUBST(SYMBOL_PREFIX) AC_SUBST(MINIOBJS) AC_SUBST(THREAD_MODEL) Index: ChangeLog =================================================================== --- ChangeLog (revision 29738) +++ ChangeLog (revision 29739) @@ -1,3 +1,9 @@ +Thu Nov 11 20:45:23 2010 Nobuyoshi Nakada <nobu@r...> + + * configure.in (SYMBOL_PREFIX): separate from EXPORT_PREFIX. + + * win32/mkexports.rb (Exports#each_export): use SYMBOL_PREFIX. + Wed Nov 10 07:20:10 2010 Nobuyoshi Nakada <nobu@r...> * cygwin/GNUmakefile.in (scriptbin): make executable file from Index: cygwin/GNUmakefile.in =================================================================== --- cygwin/GNUmakefile.in (revision 29738) +++ cygwin/GNUmakefile.in (revision 29739) @@ -57,7 +57,7 @@ $(PROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@ $(WPROGRAM): $(RUBYW_INSTALL_NAME).res.@OBJEXT@ @rm -f $@ - $(PURIFY) $(CC) -mwindows -e _mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \ + $(PURIFY) $(CC) -mwindows -e $(SYMBOL_PREFIX)mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \ $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@ $(STUBPROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@ stub.@OBJEXT@ @rm -f $@ Index: win32/mkexports.rb =================================================================== --- win32/mkexports.rb (revision 29738) +++ win32/mkexports.rb (revision 29739) @@ -143,9 +143,12 @@ end def each_export(objs) + symprefix = RbConfig::CONFIG["SYMBOL_PREFIX"] + symprefix.strip! if symprefix + re = /\s(?:(T)|[[:upper:]])\s#{symprefix}((?!Init_|.*_threadptr_|DllMain@).*)$/ objdump(objs) do |l| next if /@.*@/ =~ l - yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_|.*_threadptr_|DllMain@).*)$/ =~ l + yield $2, !$1 if re =~ l end end end Index: Makefile.in =================================================================== --- Makefile.in (revision 29738) +++ Makefile.in (revision 29739) @@ -135,6 +135,7 @@ ASMEXT = S DLEXT = @DLEXT@ MANTYPE = @MANTYPE@ +SYMBOL_PREFIX = @SYMBOL_PREFIX@ INSTALLED_LIST= .installed.list @@ -169,7 +170,7 @@ $(LIBRUBY_SO): @-$(PRE_LIBRUBY_UPDATE) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@ - -$(OBJCOPY) -w -L '@EXPORT_PREFIX@Init_*' -L '@EXPORT_PREFIX@*_threadptr_*' $@ + -$(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}' \ $(LIBRUBY_ALIASES) || true -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/