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

ruby-changes:27268

From: nobu <ko1@a...>
Date: Tue, 19 Feb 2013 15:50:14 +0900 (JST)
Subject: [ruby-changes:27268] nobu:r39320 (ruby_2_0_0): merge revision(s) 39267,39273,39294,39298,39313:

nobu	2013-02-19 15:50:03 +0900 (Tue, 19 Feb 2013)

  New Revision: 39320

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

  Log:
    merge revision(s) 39267,39273,39294,39298,39313:
    
    * configure.in: unexpand arch sitearch and exec_prefix values, so
      directly specified bindir, libdir, rubyprefix, etc can be properly
      substituted.  [ruby-core:52296] [Bug #7860]
    
    * configure.in (shvar_to_cpp): do not substitute exec_prefix itself
      with RUBY_EXEC_PREFIX, which cause recursive definition.
      [ruby-core:52296] [Bug #7860]
    
    * configure.in (unexpand_shvar): regularize a shell variable by
      unexpanding shell variables in it.
    
    * configure.in (unexpand_shvar): regularize a shell variable by
      unexpanding shell variables in it.

  Modified directories:
    branches/ruby_2_0_0/
  Modified files:
    branches/ruby_2_0_0/ChangeLog
    branches/ruby_2_0_0/configure.in

Index: ruby_2_0_0/configure.in
===================================================================
--- ruby_2_0_0/configure.in	(revision 39319)
+++ ruby_2_0_0/configure.in	(revision 39320)
@@ -2512,9 +2512,14 @@ AS_CASE(["$target_os"], https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L2512
 
 AC_SUBST(setup)
 
-if test "$prefix" = NONE; then
-  prefix=$ac_default_prefix
-fi
+test x"$prefix" = xNONE && prefix=$ac_default_prefix
+test x"${exec_prefix}" = xNONE && exec_prefix="$prefix"
+pat=`echo "${exec_prefix}" | tr -c '\012' .`'\(.*\)'
+for var in bindir libdir; do
+    eval val='"$'$var'"'
+    AS_CASE(["$val"], ["${exec_prefix}"*], [val='${exec_prefix}'"`expr \"$val\" : \"$pat\"`"])
+    eval $var='"$val"'
+done
 
 BTESTRUBY='$(MINIRUBY)'
 if test x"$cross_compiling" = xyes; then
@@ -3149,6 +3154,9 @@ sitearchincludedir='${includedir}/${site https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L3154
 
 shvar_to_cpp() {
     local var="$1" val="$2"
+    local exec_prefix_pat="`echo \"${exec_prefix}\" | sed 's/\\./\\\\./g'`"
+    local arch_pat="`echo \"${arch}\" | sed 's/\\./\\\\./g'`"
+    local sitearch_pat="`echo \"${sitearch}\" | sed 's/\\./\\\\./g'`"
     val="`echo '"'"${val}"'"' |
 	sed \
 	    -e 's/\${\([[A-Z][A-Z_]]*\)}/"\1"/g' \
@@ -3171,6 +3179,9 @@ shvar_to_cpp() { https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L3179
 	    -e 's/\${rubyarchprefix}/"RUBY_ARCH_PREFIX_FOR(arch)"/g' \
 	    -e 's/\${rubysitearchprefix}/"RUBY_SITEARCH_PREFIX_FOR(arch)"/g' \
 	    -e 's/\${exec_prefix}/"RUBY_EXEC_PREFIX"/g' \
+	    -e "s|${exec_prefix_pat}/|"'"RUBY_EXEC_PREFIX"/|g' \
+	    -e "s|${arch_pat}|"'"arch"|g' \
+	    -e "s|${sitearch_pat}|"'"sitearch"|g' \
 	    -e 's|^\"NONE/|RUBY_EXEC_PREFIX\"/|' \
 	    -e 's|^\"NONE\"|\"'"${prefix}"'\"|' \
 	    -e 's/^\"\"\(.\)/\1/;s/\(.\)\"\"$/\1/'
@@ -3178,6 +3189,23 @@ shvar_to_cpp() { https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L3189
     eval $var='"$val"'
 }
 
+unexpand_shvar() {
+    local var=$1 val n v expr quote
+    shift
+    test "$#" == 0 && return
+    quote=['s/${[^${}"]*}/"&"/g']
+    for n do
+        eval v='"$'$n'"'
+	v="`echo \"$v\" | sed -e \"$quote\" -e ['s/[][$|.\\?*]/\\\\&/g']`"
+	if test -n "$v"; then
+	    expr=["${expr};s|"'\("[^$"]*\)'"$v|\\1\${$n}\"|g"]
+	    AS_CASE(["$v"], [*'${'*'}'*], [expr=["$expr;s|$v|\"\${$n}\"|g"]])
+	fi
+    done
+    expr=["${quote}${expr};"'s/"\(\${[^${}"]*}\)"/\1/g']
+    eval $var='"`echo \"\\\"${'$var'}\\\"\" | sed \"$expr;s/\\\"\\\"//g;s/^\\\"//;s/\\\"\\\$//\"`"'
+}
+
 rubylibprefix='${libdir}/${RUBY_BASE_NAME}'
 AC_ARG_WITH(rubylibprefix,
 	    AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]),
@@ -3260,6 +3288,9 @@ AC_ARG_WITH(vendorarchdir, https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L3288
             [vendorarchdir=$withval],
             [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}])
 
+unexpand_shvar rubylibprefix       exec_prefix libdir RUBY_BASE_NAME
+unexpand_shvar rubyarchprefix      exec_prefix libdir arch RUBY_BASE_NAME archlibdir rubylibprefix
+unexpand_shvar rubysitearchprefix  exec_prefix libdir sitearch arch RUBY_BASE_NAME archlibdir sitearchlibdir rubylibprefix
 if test "${LOAD_RELATIVE+set}"; then
     AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
     RUBY_EXEC_PREFIX='""'
@@ -3270,6 +3301,7 @@ shvar_to_cpp RUBY_LIB_PREFIX "${rubylibp https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/configure.in#L3301
 shvar_to_cpp RUBY_ARCH_PREFIX_FOR "${rubyarchprefix}"
 shvar_to_cpp RUBY_SITEARCH_PREFIX_FOR "${rubysitearchprefix}"
 shvar_to_cpp RIDIR "${ridir}"
+unexpand_shvar exec_prefix         prefix
 
 if test ${RUBY_LIB_VERSION_STYLE+set}; then
     AC_DEFINE_UNQUOTED(RUBY_LIB_VERSION_STYLE, $RUBY_LIB_VERSION_STYLE !<verconf>!)
Index: ruby_2_0_0/ChangeLog
===================================================================
--- ruby_2_0_0/ChangeLog	(revision 39319)
+++ ruby_2_0_0/ChangeLog	(revision 39320)
@@ -1,3 +1,16 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/ChangeLog#L1
+Tue Feb 19 15:49:58 2013  Nobuyoshi Nakada  <nobu@r...>
+
+	* configure.in (unexpand_shvar): regularize a shell variable by
+	  unexpanding shell variables in it.
+
+	* configure.in (shvar_to_cpp): do not substitute exec_prefix itself
+	  with RUBY_EXEC_PREFIX, which cause recursive definition.
+	  [ruby-core:52296] [Bug #7860]
+
+	* configure.in: unexpand arch sitearch and exec_prefix values, so
+	  directly specified bindir, libdir, rubyprefix, etc can be properly
+	  substituted.  [ruby-core:52296] [Bug #7860]
+
 Tue Feb 19 14:08:46 2013  Eric Hodel  <drbrain@s...>
 
 	* backport r39307 from trunk.  [Bug #7880]

Property changes on: ruby_2_0_0
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /trunk:r39267,39273,39294,39298,39313


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

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