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

ruby-changes:24287

From: nobu <ko1@a...>
Date: Mon, 9 Jul 2012 13:28:51 +0900 (JST)
Subject: [ruby-changes:24287] nobu:r36338 (trunk): mkmf.rb: add TARGET_NAME

nobu	2012-07-09 13:28:40 +0900 (Mon, 09 Jul 2012)

  New Revision: 36338

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36338

  Log:
    mkmf.rb: add TARGET_NAME
    
    * configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
      instead of TARGET which may contain non-identifer characters.
    * lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first
      part consists of only word characters.  [ruby-core:46248][Bug #6709]

  Modified files:
    trunk/ChangeLog
    trunk/configure.in
    trunk/lib/mkmf.rb

Index: configure.in
===================================================================
--- configure.in	(revision 36337)
+++ configure.in	(revision 36338)
@@ -2294,7 +2294,7 @@
 			rb_cv_dlopen=yes],
         [aix*], [	: ${LDSHARED='$(CC)'}
 			LDSHARED="$LDSHARED ${linker_flag}-G"
-			DLDFLAGS='-eInit_$(TARGET)'
+			DLDFLAGS='-e$(TARGET_ENTRY)'
 			XLDFLAGS="${linker_flag}"'-bE:$(ARCHFILE)'" ${linker_flag}-brtl"
 			XLDFLAGS="$XLDFLAGS ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"
 			: ${ARCHFILE="ruby.imp"}
@@ -2306,7 +2306,7 @@
 	[beos*], [	AS_CASE(["$target_cpu"],
 			  [powerpc*], [
 			    : ${LDSHARED='$(LD) -xms'}
-			    DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
+			    DLDFLAGS="$DLDFLAGS "'-export $(TARGET_ENTRY) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
 			    LDFLAGS="$LDFLAGS -L/boot/home/config/lib -lbe -lroot"
 			    ],
 			  [i586*], [
@@ -2319,7 +2319,7 @@
 	[haiku*], [	AS_CASE(["$target_cpu"],
 			  [powerpc*], [
 			    : ${LDSHARED='$(LD) -xms'}
-			    DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
+			    DLDFLAGS="$DLDFLAGS "'-export $(TARGET_ENTRY) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
                             ],
 			  [i586*], [
 			    : ${LDSHARED='$(LD) -shared'}
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36337)
+++ ChangeLog	(revision 36338)
@@ -1,3 +1,11 @@
+Mon Jul  9 13:28:34 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
+	  instead of TARGET which may contain non-identifer characters.
+
+	* lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first
+	  part consists of only word characters.  [ruby-core:46248][Bug #6709]
+
 Sun Jul  8 07:36:19 2012  Nobuyoshi Nakada  <nobu@r...>
 
 	* parse.y (shadowing_lvar_gen, warn_unused_var): no warnings for
Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb	(revision 36337)
+++ lib/mkmf.rb	(revision 36338)
@@ -2014,7 +2014,7 @@
           makedef = %{-pe "$_.sub!(/^(?=\\w)/,'#{EXPORT_PREFIX}') unless 1../^EXPORTS$/i"}
         end
       else
-        makedef = %{-e "puts 'EXPORTS', '#{EXPORT_PREFIX}' + 'Init_$(TARGET)'.sub(/\\..*\\z/,'')"}
+        makedef = %{-e "puts 'EXPORTS', '$(TARGET_ENTRY)'"}
       end
       if makedef
         $cleanfiles << '$(DEFFILE)'
@@ -2059,6 +2059,8 @@
 SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')}
 OBJS = #{$objs.join(" ")}
 TARGET = #{target}
+TARGET_NAME = #{target && target[/\A\w+/]}
+TARGET_ENTRY = #{EXPORT_PREFIX || ''}Init_$(TARGET_NAME)
 DLLIB = #{dllib}
 EXTSTATIC = #{$static || ""}
 STATIC_LIB = #{staticlib unless $static.nil?}

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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