* If you want to build an explicitly cross tool despite host == target, or
act like you are cross compiling despite build == host, or build a native
tool (i.e. one using the native directory layout and installed as plain
"gcc") despite host != target, or act like you aren't cross compiling (so
can run execute tests for $host) despite build != host, these should be
determined by explicit configure options; not by which of build, host and
target where specified explicitly and which were defaulted. (And not by
older autoconf's experiments to see if it can execute a program built for
the host.)
I completely agree that this is how it should work. Unfortunately,
this is not how autoconf {2.x,x>13} works. I don't agree with a
number of the decisions made by the autoconf maintainers. However, I
do think that as long we use autoconf, there is some benefit to be
gained by following autoconf's default behaviour.