A great deal of time is lost at the time of ./configure; especially when dependencies are missing and the subsequent calling thereof.
I've read many topics on this subject citing that caching the result of configure scripts for re-use with other configure scripts is error-prone due to stale results, things going out of sync, and that creating a common implementation for sharing results would be "very hard" [1].
I would like to note that I am aware that configure scripts already support caching but this is disabled by default [2].
If distributions already provide package managers which understand interdependencies and themselves already know what would be all of the common (or even most common) source dependencies, why is there no standard for some kind of configure cache available from the distro? One might be able to assume given certain conditions which can be evaluated by the package manager that many of these tests shouldn't need to be run at all. Or at the very least, not unless there is a failure during the configure.
Even though there are a number of other competing build systems, I find that configure is still the most prevalent by far. These scripts are shell-based, single-threaded, error-prone, often provide cryptic or no diagnostics, and are often extremely slow. It's not unusual for me to encounter a failure with a configure script or compilation due to a missing dependency that was not even part of configure.
Has this ever been addressed by any distro? For example, Gentoo does a tremendous amount of local compilation. Do they optimize any of this away?
I'm not looking for recommendations for build systems but rather a historical or cultural perspective on why things continue to rely so heavily on autoconf and configure for modern projects. This may very well fall within the bounds of opinion but I think that this is an extremely interesting topic which may have its fair share of facts based on build conventions, company policy, and greybeard customs.
A similar argument could made of mailing lists which are archaic compared to modern forms collaboration on the web but they are also simple and perform there function exactly the same now as they have always done with little to no change given its simplicity. Maybe autoconf follows a similar fate? (Disclaimer: I actually love mailing lists with any frustration being a result of poor support on the part of the mail client).