From 62711da25352ac195013e0b81cd6343f8f39b9b5 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 16 Feb 2013 03:45:53 +0000 Subject: configure.in: unexpand exec_prefix etc * 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] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- configure.in | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 4886791de2..8a3f458a3b 100644 --- a/configure.in +++ b/configure.in @@ -2551,9 +2551,14 @@ AS_CASE(["$target_os"], 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 @@ -3188,6 +3193,9 @@ sitearchincludedir='${includedir}/${sitearch}' 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' \ @@ -3210,6 +3218,9 @@ shvar_to_cpp() { -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/' -- cgit v1.2.3