KBuild Issues on the LKML
Mark Bainter writes "If you haven't checked out kbuild lately, you should. The new build system Keith Owens has put so much time into has a long
list of benefits, including much shorter build and rebuild times, and greater accuracy.
It appears his system is well liked by most,
kernel developers (though not all).
So the question is, why won't Linus merge it? Keith has been announcing for some time that it is ready to merge, and has worked very hard on trying to keep everything up to date as the development kernel continues to change, yet his requests to merge seem to be largely ignored.
Linus did weigh in on the topic, but his views don't seem to resonate very far on the list, and seem rather arbitrary to me. Keith doesn't seem to be all that fond of Linus' thoughts on the matter either, and has called for an email campaign to get Linus to merge it in all at once.
Perhaps instead of everyone on /. emailing their (partially informed) opinion to Linus, an open discussion amoung Linux users/developers who might not normally participate on the kernel list would lend some weight one way or another."
More troublesome, though, Linus has been a "benevolent dicatator" so far. What happens when he makes too many "bad" decisions? First he refused to use SCM software, then he decided to use Bitkeeper. He held off on accepting the kernel latency patch, then added it. Now he won't add a popular configuration tool.
Linus may be a nice enough guy, and (unlike some other FREE software figures) he's quite modest about his work, but he can't please everybody.
Do you even lift?
These aren't the 'roids you're looking for.
These problem have been around for a long time and were not fixed in the existing system. Some of them cannot be fixed using pure make rules, they are deficencies in make itself. The pre-processor code is to work around make problems that cannot be solved any other way.
The change to a pre-processor and from recursive make to a global view of the kernel build cannot be done in pieces. There is no sensible way to do part of the build using the old system and part of the build using the new system.