From: Ralf Wildenhues Date: Sun, 5 Jun 2005 17:35:11 +0000 (+0000) Subject: * config/ltmain.m4sh (func_mode_compile): In order to find out X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56e4a63233c35f7478a9c15996e7afbcb36adf47;p=thirdparty%2Flibtool.git * config/ltmain.m4sh (func_mode_compile): In order to find out about forbidden characters in output, check with grep after checking func_quote_for_eval result. Also, warn instead of fail. * config/general.m4sh (func_quote_for_eval, func_quote_for_expand): Revert SunOS sh bug workaround patch from 2004-12-28 as it triggers bugs in the Tru64 5.1B shell. Reported by Albert Chin and Nicolas Joly . --- diff --git a/ChangeLog b/ChangeLog index f744fe1d6..1e698162f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2005-06-05 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_compile): In order to find out + about forbidden characters in output, check with grep after checking + func_quote_for_eval result. Also, warn instead of fail. + * config/general.m4sh (func_quote_for_eval, func_quote_for_expand): + Revert SunOS sh bug workaround patch from 2004-12-28 as it + triggers bugs in the Tru64 5.1B shell. + Reported by Albert Chin and + Nicolas Joly . + 2005-06-01 Olly Betts (tiny change) * libltdl/argz.c (argz_create_sep): Fix typo. diff --git a/config/general.m4sh b/config/general.m4sh index 0d928ce36..feb54100b 100644 --- a/config/general.m4sh +++ b/config/general.m4sh @@ -96,9 +96,6 @@ sed_quote_subst='s/\([[`"$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' -# Protect character class for func_quote_* by variable expansion. -quote_scanset='[[@<:@~#^*{};<>?'"'"' ]]' - # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. @@ -278,11 +275,8 @@ func_quote_for_eval () # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *$quote_scanset* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "") + # in scan sets, so we specify it separately. + *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"") my_arg="\"$my_arg\"" ;; esac @@ -303,11 +297,8 @@ func_quote_for_expand () # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *$quote_scanset* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "") + # in scan sets, so we specify it separately. + *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"") my_arg="\"$my_arg\"" ;; esac diff --git a/config/ltmain.m4sh b/config/ltmain.m4sh index 7524357f9..e2c01de41 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -1172,7 +1172,8 @@ func_mode_compile () func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ - && func_fatal_error "libobj name \`$libobj' may not contain shell special characters." + && $ECHO "X$libobj" | $GREP ['[@:>@~#^*{};<>?"'"'"' &()|`$@<:@]'] \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." objname=`$ECHO "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$ECHO "X$obj" | $Xsed -e 's%/[[^/]]*$%%'` if test "X$xdir" = "X$obj"; then