+2006-05-21 Paul Eggert <eggert@cs.ucla.edu>
+ and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * lib/autoconf/programs.m4 (AC_PROG_SED): Catch script length
+ limits in Solaris 8 /usr/ucb/sed by testing a long script.
+
2006-05-22 Stepan Kasal <kasal@ucw.cz>
* doc/autoconf.texi (Defining Symbols): Literal parameter of
# as few characters as possible. Prefer GNU sed if found.
AC_DEFUN([AC_PROG_SED],
[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
- [_AC_PATH_PROG_FEATURE_CHECK(SED, [sed gsed],
+ [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+ dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed.
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ _AC_PATH_PROG_FEATURE_CHECK(SED, [sed gsed],
[_AC_FEATURE_CHECK_LENGTH([ac_path_SED], [ac_cv_path_SED],
- ["$ac_path_SED" -e 's/a$//'])])])
+ ["$ac_path_SED" -f conftest.sed])])])
SED="$ac_cv_path_SED"
- AC_SUBST([SED])
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
])# AC_PROG_SED