From: Ralf Wildenhues Date: Sun, 5 Jun 2005 17:34:17 +0000 (+0000) Subject: * config/ltmain.m4sh (func_mode_compile): In order to find out X-Git-Tag: release-2-1b~635 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0872a7f5fc928ab6b5c2627f63afaf73df13fc40;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 32a2026ed..e9e2c5689 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 a8e3506ab..8510d33d0 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. @@ -286,11 +283,9 @@ func_quote_for_eval () # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. - # 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* | *@:>@* | *\|* | *\&* | *\(* | *\)* | "") + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[[\@<:@\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]]*|*@:>@*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) @@ -316,11 +311,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 b199f730e..ea287b0cd 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -1228,7 +1228,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." func_basename "$obj" objname="$func_basename_result" func_dirname "$obj" "/" ""