Build Systems Should Handle Configuration Probes, Not Autoconf
How to Fix autoconf-style Configuration Probing
Autoconf-style configuration probing compiles test programs to detect features like strl*(), but it's wasteful, brittle, slow, and lacks change tracking. Boris Kolpackov argues we should use the build system itself: run probes in parallel with proper dependency tracking, and use 'update during load' to pause buildfile evaluation, fetch probe results, and resume. He also recommends call-site compilation over symbol checks and a control probe to distinguish missing features from other failures.
The failure mode is also insidious: a false negative silently leads to the feature not being used, leading to missing functionality, suboptimal performance, etc.