Closed msune closed 4 years ago
I personally do not consider the Autotools to be a good choice for a new C project in 2020. This here is why.
Hi @kozross. it's a very respectable opinion. For those who work close to HW, with multiple Unix POSIX (and non-POSIX) systems, autotools is arguably the only thing that truly works, and works well. I've tried multiple times cmake, and there are always portability problems - and I don't like some of the design decisions on it. It's very personal, though.
On the article, let me already pinpoint some of the things:
Complexity is standard. If I were to describe Autotools with just one word, it would be this: Ununderstandable
I partially agree. There is a substantial lack of proper documentation. Those who have been working with it long time, already have their templates and ways to work (hence the template project).
One website that I'd strongly recommend:
Which is a good source for someone unfamiliar to autools - and btw refutes some of the claims of the article. If this PR is accepted I can add it in the doc section.
Poor portability You can use Autotools on Windows, but first you need to install either Cygwin or MSYS and even then you can only use variants of GCC.
GNU build system was designed around Unix systems not Windows, plain and simple.
There is roughly zero support for Visual studio,
I truly don't understand why this is GNU's build system fault. If at all, is the unwilligness of Microsoft to add it (as most IDEs have it), most likely is due to the Unix nature (and need of Cygwin). But maybe Microsoft embracing Linux will change that? :smiley:
Anyway, I don't want to create controversy; your list => your rules :smile:. Just let me know if you feel like accepting it or not, so that I can amend #163 accordingly.
Hi @oz123 @kozross . Let me know how to proceed with this, to act accordingly wth #163.
@msune I've handed over maintenance to @oz123, so the ball's in their court.
TBH, I am not against autotools, and it's still VERY common. Lastly, the development of autotools has restarted. Hence, I am in favour of merging this PR.
This patcheset (2), adds:
automake
,autoconf
,libtool
). There is no specific page for it, so the introduction to "the system" is as part of theautomake
manual.NOTE: this PR builds on top of #161 and #160, respectively, for the sake of avoiding unnecessary rebases (specially with refs). If necessary, I can rebased them on top of current
HEAD
of master to be integrated before the others