Autoconf-Probing: Warum das Kompilieren von Testprogrammen scheitert und wie es besser geht
How to Fix autoconf-style Configuration Probing
Boris Kolpackov kritisiert die klassische Konfigurationserkennung von autoconf und CMake: Sie kompiliert Testprogramme, um Features wie strl*() zu prüfen. Das ist verschwenderisch, langsam, fehleranfällig und ohne Änderungsverfolgung. Sein Gegenvorschlag: erwartungsbasierte Konfiguration und die Nutzung des Build-Systems mit Update-during-Load. Für Funktionsproben empfiehlt er Call-Site-Kompilierung mit -fsyntax-only sowie eine Kontrollprobe, um falsche Negative zu vermeiden.
Der Fehlermodus ist zudem heimtückisch: Ein falsch negatives Ergebnis führt stillschweigend dazu, dass das Feature nicht verwendet wird, was zu fehlender Funktionalität, suboptimaler Leistung usw. führt.