[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]