[llvm-dev] [RFC] I've made a huge mistake
Chris Bieneman via llvm-dev
llvm-dev at lists.llvm.org
Sat Apr 1 08:48:11 PDT 2017
I'm sorry to be the bearer of bad news. I've spent the last several months in severe denial of the problem and I just can't keep denying it to myself anymore. I've made a huge mistake. We never should have removed autoconf support.
I've come to this conclusion after a great deal of thoughtful reflection on the impact of our CMake build system over the last year. Below I've listed the primary reasons that have weighed on my conscience.
(1) CMake's Windows support has led more Windows users to LLVM, and as a Unix user, I just can't relate to them. Call me old fashioned, but if you aren't writing code in a vt100 terminal you're just not in a world I understand. I can even set aside the age-old Emacs vs Vim debate, but not writing code in a terminal is something completely different.
(2) CMake's scripting language has made our build system support all these crazy use cases that I never dreamed of, and they're kinda scary. Did you know that people are cross-compiling arm-Linux toolchains from Darwin? Blasphemy!
(3) The CMake open source community is too responsive! I file bugs and they fix them. This is unacceptable. Since they fix my bug reports I can't claim to my boss that I'm blocked on someone outside the company fixing something anymore. This is a really big problem detracting from my foam sword fighting practice time.
(4) People expect it to work. With the autoconf build everyone kinda expected it to fall over in anything other than non-basic uses, and we were all ok with it. With CMake people expect things like 3-stage clang builds to just work out of the box. It is completely exhausting to have the burden of a build system that works.
(5) We don't have Eric Christopher to save us all. With autoconf Eric ensured that everything was in tip-top shape. Now we don't have Eric watching all our build system commits. What has the world come to!
To swiftly rectify this problem I've provided a patch:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev