Comment by bluGill

3 years ago

autotools works well if you are building on and for a standard linux system. However if you are building on bsd it might not work (often assumes make is gnu make). If you are cross compiling it won't work (I cross compile a lot of code, the odds that an autotools build works out of the box is almost zero). It probably won't work on windows either, though I have less experience there.

That hasn't been my experience at all. I use Autotools on all of my personal projects that are C or C++, and I deal with all kinds of build systems in my day-job doing embedded Linux work.

Autotools goes to extreme lengths to maintain portability across Unix-like systems. That's kind of its whole deal, and it's the reason why people choose it. It's also better at cross-compliation than any other build system I've used.

There are lots of packages out there that have some kind of ./configure script or a Makefile. But they're not all fully Autotoolized, not by a long shot.

  • Autotools is designed for the problem, and CAN solve the problem. However my experience is it doesn't because the developers don't understand how to make it work and so they mess things up.

    I have good luck with cmake for the same problem. It took me a while to write the toolchain file, but now porting a new cmake project just works.