Sylvain Bertrand wrote:
??? clang/llvm is a c++ abomination: a massive pile of c++ cr*p. If you dislike the GNU make, wait to read the c++ code of cmake, the build system of clang/llvm, not to mention ninja (something in the horrible python3 or python2). I am into llvm code right now, and I feel like working in an asylum: getting in the heads of sick minds, and I _really_ mean it. Your are aiming at replacing gcc (which is in the process of becoming of pile of steaming c++ cr*p), by an actual steaming pile of it! The _only_ benefit is to clean up the linux build system in order to ease the addition of alternative toolchains. Actually, it's even worse than not being suckless: I don't want open source software to be locked down by organized sickos who obfuscated critical code thanks to a language with a super complex and rich syntax. *Anything* c++ is _not_ suckless, actually light years away from it. Come to your senses, open your eyes!
I totally understand your emotions. A couple of points though: 1) LLVM and Clang have worked in our use cases, most of the time even without patching. 2) CMake is big, it sucks, but for such a huge project LLVM is, it's fine, it's a compromise. Just like LLVM is a compromise. It doesn't fix bad code, which is the cause, it cures symptoms by solving problems GNU created. 3) We need a C++ compiler for Mesa. 4) There are currently no other open-source toolchains that can build the Linux kernel. 5) There are no C++ compilers written in C (or C99 so it can be bootstrapped with a C99 compiler). 6) You are not required to use ninja or Python to build LLVM. In fact, I did it without having both. 7) wmi, the predecessor of wmii, the predecessor of dwm, was written in C++: http://oldgit.suckless.org/wmi/files.html A suckless solution is something that works, and sucks less. LLVM sucks less that the GNU toolchain. Unfortunately, for a desktop or similar Linux project I can't think of something that sucks less than LLVM. Unless you write a new kernel, a new graphics stack, a new windowing system in ANSI C/C99, you are glued to using either of these. Or Plan 9. -- caóc