Subject: bug#10766: bug#11893: Regression in automake 1.12.1 on Mac OS X

From: Peter Rosin <[email-masked]>
Date: Thu, 12 Jul 2012 20:40:44 +0200

On 2012-07-12 17:48, Eric Blake wrote:
> On 07/12/2012 08:37 AM, Stefano Lattarini wrote:
> 
>>>> Agreed (albeit it does its dirty work for now).  Any suggestion on
>>>> how to make it more reliable?
>>>
>>> Is test /usr/bin/CC -ef /usr/bin/cc portable enough?
>>>
>> I have no idea ...  it seems to work on Cygwin 1.5 though.
> 
> In general, 'test a -ef b' is not portable - it is not required by POSIX
> 2008 (although it has been proposed for a future version of POSIX).  But
> on Cygwin, /bin/sh happens to support it.  If you can guarantee that you
> are already on cygwin before using -ef, then this would work; or maybe
> if you pre-filter with 'test . -ef .' to ensure that -ef is understood,
> before then trying -ef to check for case insensitivity.

> Other than that, the only supported method in existing POSIX for
> checking for equal files is by parsing 'ls -i' output; but I don't know
> if 'ls -i' is portable to ancient hosts.

if test -z `ls -i /usr/bin/cc /usr/bin/CC | sed 'N; /^\( *[^ ]* \).*\n\1/!s/.*//; s/..*/same/'`; then
  echo "sensible aka sensitive"
fi

But that of course relies on a working ls -i, as well as its formatting...

Cheers,
Peter