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.

More from this day

2026-10-09