autoconf-patches
[Top][All Lists]
Advanced

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

Re: autoconf-2.61's AC_LINK_IFELSE with MinGW cross-compilers


From: Ralf Corsepius
Subject: Re: autoconf-2.61's AC_LINK_IFELSE with MinGW cross-compilers
Date: Thu, 12 Apr 2007 12:46:30 +0200

On Thu, 2007-04-12 at 10:46 +0100, Keith MARSHALL wrote:
> Ralf Corsepius wrote:
> > On Wed, 2007-04-11 at 10:32 -0700, Paul Eggert wrote:
> >> Stepan Kasal <address@hidden> writes:
> >>
> >>>              * lib/autoconf/general.m4 (_AC_LINK_IFELSE): Skip 
> AS_TEST_X
> >>>              when cross-compiling.
> >>
> >> Thanks, I installed that.
> >
> > Hmm, I am not convinced. If this check can be skipped for cross
> > compilation (Which I think is not correct), why can't it always be
> > skipped?
> 
> As I read the background discussion, leading to introduction of this
> extended test, it appears that it was introduced to appease one broken
> compiler suite,
Wrong. 

It was triggered by running standard autoconf-2.61 configure scripts on
MinGW and Cygwin.

>  running on an elderly minority platform. 
... if you want to label MinGW with this attribute, I agree.

>  In so doing,
> it has broken a feature of autoconf itself, on a current and widely
> deployed platform, namely Microsoft Windows.
Wrong again.

It is triggered by MinGW/Cygwin's "test -x" behavior diverging from
POSIX:

-x  pathname
        True if pathname resolves to a file that exists and for which
        permission to execute the file (or search it, if it is a
        directory) will be granted, as defined in File Read, Write, and
        Creation. False if pathname cannot be resolved, or if pathname
        resolves to a file for which permission to execute (or search)
        the file will not be granted.

NOTE: This definition is completely independent from a file being a
executable natively on a platform.

To me this reads as: MinGW and Cygwin's "test -x" are broken.

Wrt. autoconf this would mean: "test -x" is non-portable. autoconf must
not use it anywhere.

The way easier approach however would be MinGW and Cygwin to be fixed.


Ralf






reply via email to

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