bug-gnulib
[Top][All Lists]
Advanced

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

Re: link-follow and mingw


From: Eric Blake
Subject: Re: link-follow and mingw
Date: Tue, 22 Sep 2009 19:20:52 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jim Meyering on 9/22/2009 7:08 AM:
> At first I wondered why it would be necessary to unlink sym, a file
> named "conftest.sym" here, when right after this test, the usual
> rm -fr conftest* would remove it for us?  Then I looked, and see
> that what I recalled is no longer the case.  While in some places,
> autoconf-generated configure files do indeed run
> 
>     rm -f conftest*
> 
> it's not run after this sort of test.
> Here, this is what's (now?) run:
> 
>     rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
>       conftest.$ac_objext conftest.beam conftest.$ac_ext
> 
> and that doesn't remove the carefully-named temporary file.

I think autoconf has always tried to only remove compiler files at the end
of AC_*_IFELSE, leaving other files in place in case subsequent shell code
needed to inspect the contents of the file.  In other words, I don't think
the rm -f conftest.* done by autoconf has ever been done throughout the
configure script, but only once at the end.

> Has autoconf changed this over the years?

I'd have to research it further for a definitive answer, but if it
changed, it was years ago.

> Or is this accidental fall-out from some other change?

I think this particular failure case has been latent, and was only
recently exposed due to my change in semantics to link-follow.m4 to swap
the sense of success.  It used to be that failure to run the link-follow
test was considered as success for the cache variable, while success in
running the code set LINK_FOLLOWS_SYMLINK to nonzero; but now that we know
we _want_ link that does not follow symlink, I reordered the test earlier
this month, and that's where the latent use of conftest.sym finally
changed the sense of the test on Linux.

> I don't have time to investigate right now,
> but will eventually audit for other assumptions like this.

A good rule of thumb in writing autoconf macros is to clean up any files
you directly created, which are unrelated to compiler side-effects.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkq5d/QACgkQ84KuGfSFAYCT9wCfeajOL82U58IzqtqCR58BE7oa
LzEAn2nqXm1iy8ySkOOhiHSrQIKXg36C
=Kb2n
-----END PGP SIGNATURE-----




reply via email to

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