Re: [KBUILD] Re: Announcing CML2, a replacement for the kbuild system

From: Alexander Viro (
Date: Fri May 26 2000 - 21:02:16 EST

On Fri, 26 May 2000, Eric S. Raymond wrote:

> > Sigh... I suspect that it's the real reason why your approach doesn't make
> > sense to me - you are developing complex stuff that works for FUBAR domain
> > instead of getting the domain fixed.
> One war at a time, Alex. If we try to replace the whole Makefile system
> at the same time that we clean up the Augean stable that is CML1 it will
> create havoc.

You are missing the real Augean stable - output of
% find /usr/src/linux -type f|xargs grep -n '#ifdef' /dev/null
- that's where the real dung is, problems with configuration complexity
are direct results of it...

> > Try to grep the tree for CONFIG_FOO - you'll see that most of the places
> > that care are in Makefiles. 99% of the rest is not needed - check the
> > history of fs/filesystems.c for example.
> You may be right. But CML2 is simpler than what it's replacing by a
> large (and readily measurable) factor, so it's a net win to make that
> change anyway. *Then* we can go clean up the rest of the build
> system.

Oh, that's fine - the fact that new variant is more compact and readable
is a Good Thing(tm), no arguments here.

> > IOW, instead of developing clever ways to handle complex dependencies
> > we'ld be better off simplifying them and leaving the rest to make(1)...
> If that were possible, I have little doubt it would have been done already.

It _is_ beeing done. Been there, done some parts of that. Seriously, one
of the goals to keep in mind is <strong> the less #ifdef's the better
</strong>. For a lot of obvious reasons, not the last of them being that
if the majority of config options will affect only the choice of object
files to be linked we will have a chance to get automated testing of the
whole thing - at least on the "does it compile?" level.

BTW, I'ld really recommend to run the search - you'll see the heaploads of
crap and there used to be more of that stuff. Some pieces resemble typical
GNU code - #ifdef on every third line...

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:17 EST