summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-18 01:09:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-18 01:09:56 +0000
commitf8530342f4faca241b305fb2da3e6dd094e385c6 (patch)
tree2e8618f9b946731b38b58b36a093b8aa2140e65f
parentc4d41074868afbf18c5a1750eb06617027140598 (diff)
configure.in: unexpand_shvar
* configure.in (unexpand_shvar): regularize a shell variable by unexpanding shell variables in it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--configure.in20
2 files changed, 30 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index aec1f3c015..d7e549e209 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Mon Feb 18 10:09:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (unexpand_shvar): regularize a shell variable by
+ unexpanding shell variables in it.
+
+Mon Feb 18 10:08:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (unexpand_shvar): regularize a shell variable by
+ unexpanding shell variables in it.
+
Sun Feb 17 20:55:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compar.c (rb_invcmp): compare by inversed comarison, with preventing
diff --git a/configure.in b/configure.in
index f86e22b5b0..586bfc2a19 100644
--- a/configure.in
+++ b/configure.in
@@ -3227,6 +3227,23 @@ shvar_to_cpp() {
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]]]),
@@ -3311,6 +3328,9 @@ AC_ARG_WITH(vendorarchdir,
[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='""'