From ee2dde86ba2f1bdc0638726c6580b96800ad4b39 Mon Sep 17 00:00:00 2001 From: "Gary V. Vaughan" Date: Sun, 27 Jun 2010 13:57:50 +0700 Subject: [PATCH] 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 --- ChangeLog | 9 +++++++++ libltdl/m4/libtool.m4 | 16 +++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index e95b8361..853ee86a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2010-06-27 Gary V. Vaughan + 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... diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 0b8a00e8..2079e205 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -7257,13 +7257,15 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl # '^} 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 @@ -7315,4 +7317,8 @@ fi 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 ])