3 ms·
> And even then it's more hatred of M4 than it is anything in autoconf per se. To be fair, M4 is rather…special. And when you add that in a Makefile template w
by kergonath 3y ago
> And even then it's more hatred of M4 than it is anything in autoconf per se.
To be fair, M4 is rather…special. And when you add that in a Makefile template with shell thrown into the mix it gets _very_ hairy.
- ajross 3y agoOh sure, and that's true enough. Working with autoconf[1] is a giant pain for Kids Today weaned on entirely different idioms[2]. And it's the kind of thing you can't really avoid[3] if you're going to be doing work on these traditional Linux packages. And that sucks, and it makes it look like Linux is a weird kingdom filled with dinosaurs. And that sucks because you still have to work in Linux. So you hate the proximate cause. But the boring truth is that configuration management is just a hard problem and realistically you'd hate it anyway. [1] Not so much automake/libtool, which are configured by straightforward idioms and mostly harmless. [2] Though if you've got some C preprocessor fu, it doesn't look quite so alien. [3] Though it also needs to be pointed out that 90% of the problem autoconf was originally intended to solve (gratuitously incompatible Unix variants) is basically gone now. You either write to straight ISO-C/POSIX if you're doing simple stuff, work through well-established abstraction libraries with fixed APIs, or you include well-known platform headers (Linux or otherwise) for the complicated bits. No more nonsense testing like "Hm... what header do I need for strncat()?"
- xcrunner529 3y agoBecause so much of the Linux world refuses to let C go.