[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: carriage return line endings vs. literal ^M in status.m4

From: Ralf Wildenhues
Subject: Re: carriage return line endings vs. literal ^M in status.m4
Date: Sat, 5 Apr 2008 12:13:51 +0200
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

Hello Jim,

* Jim Meyering wrote on Sat, Apr 05, 2008 at 11:48:49AM CEST:
> I've been working through some odd problems related to a user's
> attempt to build recent coreutils snapshots on a Maemo/OS2008 system.
> So far I've hit two problems:
> The first affected coreutils only (
> The second (discovered minutes ago) affects the very latest autoconf:

Thanks for the report.  It would be nice to see the results of 'make
check' of the Autoconf package with this patch applied.

> --- a/lib/autoconf/status.m4
> +++ b/lib/autoconf/status.m4
> @@ -368,7 +368,7 @@ else
>    # The final `:' finishes the AND list.
>    ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
>  fi]])
> -ac_cr='^M'
> +ac_cr=`echo .|tr . '\015'`
>  ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
>  if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
>    ac_cs_awk_cr='\\r'

This breaks on EBCDIC hosts, no?  I wonder how relevant that is these
days.  FWIW, libtool.m4 does a simple check to distinguish both:

  # test EBCDIC or ASCII
  case `echo X|tr X '\101'` in
    A) # ASCII based system
    ... ;;
    *) # EBCDIC
    ... ;;

If this test becomes expensive, it would probably be better to move it
from config.status time to be a configure time test.

Also, this change introduces a hard requirement of Autoconf on 'tr'
(otherwise used in Autotest, and only on some systems for AS_ECHO).
I wonder whether that will uncover more issues on exotic systems.
Also, 'tr' is not listed in the GNU Coding Standards as allowed tool
but I guess it should be.  I assume it isn't because of all the
portability issues that are connected with this tool.  Sigh.

Please add a space before '|' for readability.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]