user85335: Why does Bitcoin Core use Autotools instead of checking a Makefile into source?

user38618: 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 "fail if can't compile completely"s in the autoconf file.

85335: <p>Why does Bitcoin Core use <a href="https://en.wikipedia.org/wiki/GNU_Autotools" rel="nofollow noreferrer">Autotools</a> instead of checking a Makefile into source?</p>
 38618: <p>Because checking for compiler features, without Automake/CMake/Ninja/Bazel with only Makefile and C++ preprocessor is hard and unelegant.</p>
<p>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.</p>
