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/