Find here attached a revised proposed patch. Ok on the reorg, but sorry, I remain confused. This whole thing started with Mike Vapier's change in Feb 2022 (commit 720a11531): https://lists.gnu.org/archive/html/automake-commit/2022-02/msg00009.html
As I read it now, his goal was to speed up other projects, not Automake, by reducing the "sleep 1" to "sleep <mtime_resolution>" in AM_SANITY_CHECK, via AC_CONFIG_COMMANDS_PRE, i.e., before creating config.status. But that is only one instance of generating files. I must be missing something obvious. There are zillions of generated files in the world. For instance, why aren't there problems when a small C file is created and compiled? That could easily take less than 1 second, if that is the mtime resolution. I understand that equal timestamps are considered up to date, and presumably the .c and .o (say) would be equal in such a case. Ok, but then why is configure generating config.status/etc. such a special case that it requires the sleep, and nothing else? I mean, I know the sleep is needed; I've experienced the problems without that sleep myself. But I don't understand why it's the only place (in normal compilations; forget the Automake test suite specifically) that needs it. Can someone please educate me as to what is really going on underneath all this endless agonizing tweaking of the mtime tests? Sorry for my stupidity. --thanks, karl.