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.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
shell versions of various utility functions from here...
# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
m4_defun([_LT_PROG_XSI_REPLACE],
[dnl {
-sed -i .tmp -e '/^$1 ()$/,/^} # $1 /c\
+sed -e '/^$1 ()$/,/^} # $1 /c\
$1 ()\
{\
-m4_bpatsubst([$2], [$], [\\])
-} # XSI $1 implementation' "$cfgfile" \
- || (mv -f "$cfgfile.tmp" "$cfgfile"; exit 1)
-rm -f "$cfgfile.tmp"])
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # XSI $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_xsi_replace_fail=:
+])
# _LT_PROG_XSI_SHELLFNS
if test x"$lt_shell_append" = xyes; then
_LT_PROG_XSI_REPLACE([func_append], [ eval "${1}+=\\${2}"])
fi
+
+if test x"$_lt_xsi_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute faster XSI functions in $ofile])
+fi
])