>>>>> "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