Fix portability regressions in today's earlier changeset.

* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
portable; use `mv -f ...|| cp -f ...' instead.
Add an initial backslash to sed `c' substitutions with leading
whitespace, so that indentation is not removed by some non-POSIX
compliant sed implementations.
(_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
one or more XSI function replacements failed.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
This commit is contained in:
Gary V. Vaughan 2010-06-27 13:57:50 +07:00
parent b8dd17aeba
commit ee2dde86ba
2 changed files with 20 additions and 5 deletions

View File

@ -1,5 +1,14 @@
2010-06-27 Gary V. Vaughan <gary@gnu.org> 2010-06-27 Gary V. Vaughan <gary@gnu.org>
Fix portability regressions in today's earlier changeset.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
portable; use `mv -f ...|| cp -f ...' instead.
Add an initial backslash to sed `c' substitutions with leading
whitespace, so that indentation is not removed by some non-POSIX
compliant sed implementations.
(_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
one or more XSI function replacements failed.
getopt.m4sh generated libtool option parser, and XSI improvements. getopt.m4sh generated libtool option parser, and XSI improvements.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
shell versions of various utility functions from here... shell versions of various utility functions from here...

16
libltdl/m4/libtool.m4 vendored
View File

@ -7257,13 +7257,15 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
m4_defun([_LT_PROG_XSI_REPLACE], m4_defun([_LT_PROG_XSI_REPLACE],
[dnl { [dnl {
sed -i .tmp -e '/^$1 ()$/,/^} # $1 /c\ sed -e '/^$1 ()$/,/^} # $1 /c\
$1 ()\ $1 ()\
{\ {\
m4_bpatsubst([$2], [$], [\\]) m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
} # XSI $1 implementation' "$cfgfile" \ } # XSI $1 implementation' "$cfgfile" > $cfgfile.tmp \
|| (mv -f "$cfgfile.tmp" "$cfgfile"; exit 1) && mv -f "$cfgfile.tmp" "$cfgfile" \
rm -f "$cfgfile.tmp"]) || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
test 0 -eq $? || _lt_xsi_replace_fail=:
])
# _LT_PROG_XSI_SHELLFNS # _LT_PROG_XSI_SHELLFNS
@ -7315,4 +7317,8 @@ fi
if test x"$lt_shell_append" = xyes; then if test x"$lt_shell_append" = xyes; then
_LT_PROG_XSI_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_XSI_REPLACE([func_append], [ eval "${1}+=\\${2}"])
fi fi
if test x"$_lt_xsi_replace_fail" = x":"; then
AC_MSG_WARN([Unable to substitute faster XSI functions in $ofile])
fi
]) ])