Why Does Bitcoin Core Use Autotools? Why does Bitcoin Core use Autotools instead of checking a Makefile into source?
Because checking for compiler features, without Automake/CMake/Ninja/Bazel with only Makefile and C++ preprocessor is hard and unelegant.
And C++ preprocessor can't be used to make full-compile feature tests. If the compiler supports AVX256, a relatively new instruction set, that doesn't mean the assembler supports it too. There are &quot;fail if can't compile completely&quot;s in the autoconf file.