From 49bb58f8f63c353f90cba8c847856512ef8f7783 Mon Sep 17 00:00:00 2001 From: Stepan Kasal Date: Mon, 22 May 2006 16:27:08 +0000 Subject: [PATCH] * lib/autoconf/programs.m4 (AC_PROG_SED): Catch script length limits in Solaris 8 /usr/ucb/sed by testing a long script. --- ChangeLog | 6 ++++++ lib/autoconf/programs.m4 | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 393ba1b3..9f4c2039 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-05-21 Paul Eggert + and Ralf Wildenhues + + * 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 * doc/autoconf.texi (Defining Symbols): Literal parameter of diff --git a/lib/autoconf/programs.m4 b/lib/autoconf/programs.m4 index 838ee86a..1bb9a009 100644 --- a/lib/autoconf/programs.m4 +++ b/lib/autoconf/programs.m4 @@ -812,11 +812,20 @@ adjust the code.]) # 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