>>>>> "Ian" == Ian Lance Taylor <[EMAIL PROTECTED]> writes:

Akim> I would like to understand why there are three `rm' while one
Akim> seems way enough.  It seems like the author took a special care
Akim> to remove the conftest files before the user can touch them.

Ian> I don't know.  This is a guess.

Ian> $2 and $3 in AC_TRY_CPP may contain autoconf macros.  I assume
Ian> that removing conftest before invoking them is simply to make
Ian> autoconf macros more reliable.  Some autoconf tests care just
Ian> which conftest files there are; e.g., AC_EXEEXT.  Of course,
Ian> those tests should be careful to remove conftest files first, but
Ian> they might not.  Ensuring that these tests start with a clean
Ian> slate may help them work.

I agree macros which depend upon this should `rm' beforehand.  And
AC_EXEEXT for instance, does.

Ian> This may have particular application to compilers like the one on
Ian> some version of SCO3.2, which would use temporary files with the
Ian> same name as the file you are compiling--in this case, conftest.

Gulp!



Ian> It's not a terribly strong argument.

Do you think it is strong enough so that we should not simplify the
code?  I don't like seeing complications in the code, and here, in
addition, it forbids things which might be useful.  And above all,
what I most dislike is that...

Akim> And then, why should AC_TRY_RUN_NATIVE (hence AC_TRY_COMPILE
Akim> too) have a special permission?  It is used for AC_CHECK_SIZEOF.

Ian> Probably because the above thinking led to a standard approach,
Ian> which was then overridden, for convenience, when AC_CHECK_SIZEOF
Ian> was implemented.

there are exceptions, some bizarreness between macros.

Thanks!

        Akim

Reply via email to