4 ms·
I use autotools for an OS project I have. But here's the thing: AFAIK lua builds from just a Makefile. libopencm3 also builds from just a Makefile, and it will
by blippage 4y ago
I use autotools for an OS project I have.
But here's the thing: AFAIK lua builds from just a Makefile. libopencm3 also builds from just a Makefile, and it will build multiple examples for multiple microcontrollers. The BSD guys seem to do just fine with Makefiles.
So, could we not just add a few features to Makefiles so that we can do away with all this other infrastructure?
Personally, I just try to use Makefiles wherever possible. My heart sinks when someone comes out with a new build tool. If you must have a build tool, use either autotools or cmake. Please please please don't introduce some new shiny toy that is "autotools done right" but in practise is at least as much pain. And, for the love of all that is holy, don't write your build tool in Python. There's nothing wrong with Python. It just doesn't belong in build systems. Build systems should be written in C or C++, and nothing else. Not Rust, not Haskell, not anything else.
- AHTERIX5000 4y agoWell if you have a library or app without dependencies producing working Makefile for multiple platforms can work as with lua. But the moment you start introducing dependencies on external libraries everything breaks very easily even between different flavors of Linux and build tools such as automake or cmake can mitigate the problem of finding correct paths and names. No-one loves such tools but they are not used without a reason.
- trasz 4y agoDependencies are handled by pkg-config, not autotools.
- bjourne 4y agoI've been using WAF for years and it is indeed written in Python. For complex configuration+build+deployments you need a scripting language and Python is probably the best language for that purpose. Because if you already know Python you don't need to learn a new language.