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

ruby-changes:47385

From: nagachika <ko1@a...>
Date: Fri, 4 Aug 2017 23:39:35 +0900 (JST)
Subject: [ruby-changes:47385] nagachika:r59501 (ruby_2_4): merge revision(s) 58287: [Backport #13411]

nagachika	2017-08-04 23:39:29 +0900 (Fri, 04 Aug 2017)

  New Revision: 59501

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=59501

  Log:
    merge revision(s) 58287: [Backport #13411]
    
    configure.in: rpath with OPTDIR
    
    * configure.in: add rpath flags which is needed for OPTDIR as well
      as -L options, when it is given.  [ruby-dev:50065] [Bug #13411]

  Modified directories:
    branches/ruby_2_4/
  Modified files:
    branches/ruby_2_4/configure.in
    branches/ruby_2_4/version.h
Index: ruby_2_4/version.h
===================================================================
--- ruby_2_4/version.h	(revision 59500)
+++ ruby_2_4/version.h	(revision 59501)
@@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_4/version.h#L1
 #define RUBY_VERSION "2.4.2"
 #define RUBY_RELEASE_DATE "2017-08-04"
-#define RUBY_PATCHLEVEL 168
+#define RUBY_PATCHLEVEL 169
 
 #define RUBY_RELEASE_YEAR 2017
 #define RUBY_RELEASE_MONTH 8
Index: ruby_2_4/configure.in
===================================================================
--- ruby_2_4/configure.in	(revision 59500)
+++ ruby_2_4/configure.in	(revision 59501)
@@ -809,6 +809,23 @@ AC_DEFUN([RUBY_TRY_LDFLAGS], [ https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L809
 ])
 
 : ${DLDFLAGS="$LDFLAGS"}
+: ${RPATHFLAG=''}
+rpathflag=''
+AS_IF([test x"${RPATHFLAG}" = x], [
+    AS_CASE(["$target_os"],
+	[hpux*], [AS_IF([test "$rb_cv_prog_gnu_ld" = no], [rpathflag='+b '])],
+	[aix*], [rpathflag='-blibpath:'],
+	[for rpathflag in -R "-rpath "; do
+	    AS_CASE("$rpathflag",
+		    [*" "], [AS_CASE(["${linker_flag}"],
+				     [*,], [rpathflag=`echo "$rpathflag" | tr ' ' ,`])])
+	    rpathflag="${linker_flag}${rpathflag}"
+	    RUBY_TRY_LDFLAGS([${rpathflag}.], [], [rpathflag=])
+	    AS_IF([test "x${rpathflag}" != x], [])
+        done])
+], [
+    rpathflag=`echo "$RPATHFLAG" | sed 's/%.*//'`
+])
 
 AS_CASE([$RUBY_PATCHLEVEL], [-*],
 	[particular_werror_flags=yes], [particular_werror_flags=no])
@@ -1035,7 +1052,7 @@ AC_ARG_WITH(opt-dir, https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L1052
 	[
 		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -I\1/include|g;s/^ //"`
 		CPPFLAGS="$CPPFLAGS $val"
-		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -L\1/lib|g;s/^ //"`
+		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -L\1/lib${rpathflag:+ $rpathflag\\\\1/lib}|g;s/^ //"`
 		LDFLAGS="$LDFLAGS $val"
 		LDFLAGS_OPTDIR="$val"
 		OPT_DIR="$withval"
@@ -3314,7 +3331,6 @@ AC_SUBST(LIBEXT)dnl https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L3331
 AC_SUBST(ASMEXT, S)dnl
 
 STATIC=
-: ${PATHFLAG=''}
 
 if test "$with_dln_a_out" != yes; then
   rb_cv_dlopen=unknown
@@ -3353,9 +3369,6 @@ if test "$with_dln_a_out" != yes; then https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L3369
 			: ${LDSHARED='$(LD) -b'}
 			XLDFLAGS="$XLDFLAGS -Wl,-E"
 			: ${LIBPATHENV=SHLIB_PATH}
-			if test "$rb_cv_prog_gnu_ld" = no; then
-			    RPATHFLAG=' +b %1$-s'
-			fi
 			rb_cv_dlopen=yes],
 	[solaris*], [	if test "$GCC" = yes; then
 			    : ${LDSHARED='$(CC) -shared'}
@@ -3426,7 +3439,6 @@ if test "$with_dln_a_out" != yes; then https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L3439
                         TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'
                         TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'
 			: ${LIBPATHENV=LIBPATH}
-			RPATHFLAG=" ${linker_flag}-blibpath:%1\$-s:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"
 			rb_cv_dlopen=yes],
 	[nto-qnx*], [	DLDFLAGS="$DLDFLAGS -L/lib -L/usr/lib -L/usr/local/lib"
 			: ${LDSHARED='$(LD) -Bshareable -x'}
@@ -3462,21 +3474,11 @@ if test "$with_dln_a_out" != yes; then https://github.com/ruby/ruby/blob/trunk/ruby_2_4/configure.in#L3474
       ])
   fi
 
-  if test "$enable_rpath" = yes; then
-    if test x"${RPATHFLAG}" = x; then
-      for rpathflag in -R "-rpath "; do
-	AS_CASE("$rpathflag",
-		[*" "], [AS_CASE(["${linker_flag}"],
-				 [*,], [rpathflag=`echo "$rpathflag" | tr ' ' ,`])])
-	rpathflag="${linker_flag}${rpathflag}"
-	RUBY_TRY_LDFLAGS([${rpathflag}.], [], [rpathflag=])
-	if test "x${rpathflag}" != x; then
+  AS_IF([test "$enable_rpath:${RPATHFLAG}" = yes:], [
+      AS_IF([test "x$rpathflag" != x], [
 	  RPATHFLAG=" ${rpathflag}%1\$-s"
-	  break
-	fi
-      done
-    fi
-  fi
+      ])
+  ])
 fi
 if test "${LDSHAREDXX}" = ""; then
     AS_CASE(["${LDSHARED}"],
Index: ruby_2_4
===================================================================
--- ruby_2_4	(revision 59500)
+++ ruby_2_4	(revision 59501)

Property changes on: ruby_2_4
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
   Merged /trunk:r58287

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

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