5 ms·
While what you said is true, for outsiders it misses the 'why' (which I'm sure you are aware of!). The idea with autotools is that the generated configure scri
by tomn 4y ago
While what you said is true, for outsiders it misses the 'why' (which I'm sure you are aware of!).
The idea with autotools is that the generated configure script (and other assorted files) is supposed to be forwards and backwards compatible with different systems. It's not perfect, but the behaviour is mostly locked down at the time it is built, based on the particular set of macros it is generated with.
There are definitely aspects of this which don't work (it's nearly impossible to test, getting specific versions of autotools is presumably a PITA, and the make-in-bash-in-m4 language is deeply cursed), but the overall design does make some things better.
For example, if your project needs a specific version of cmake, your users will have to figure out how to install it, but if your project requires a specific version of autotools, only your developers need to install it.
(FWIW autotools is on my 'never again' list of technologies; it's incredibly cursed)
- verall 4y agoAs long as your policies are set correctly (not that this is particularly easy), your project will only need a version of CMake or newer, not a specific version.
- tomn 4y agoYeah, they are quite good at compatibility. In practice there may often be an upper version limit if you happen to use any features which eventually get deprecated or removed.