Re: mkdep bug: creates too many dependencies

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Fri, 6 Feb 1998 12:12:12 +0100 (MET)


Peter Moulder wrote:
>
> I don't know who's the best person to send this report to, but:
>
> mkdep.c doesn't honour #if when calculating dependencies.
>
> E.g.
>
> #ifndef __KERNEL__
> # include <false_positive.h>
> #endif

mkdep.c is a quick-and-dirty program that generates kernel dependencies,
with a few restrictions. These are two of them.

As mkdep is not intended for general use, but for use inside the
kernel, you should be aware of the restrictions, and simply work
around them.

The above case is INTENTIONAL.

Suppose you have

#if SOMESTUFF
#include <first.h>
#else
#include <second.h>
#endif

then mkdep generates a dependency for both files, allowing you to
change "SOMESTUFF" from true to false, and still get a working
dependency.

If you got bitten by this, I suggest you find an appropriate place for
this to be documented (e.g. in the mkdep.c source), document it there,
and submit the patch to Linus.

> Incidentally, mkdep.c also misparses
>
> # /**/ include <false_negative.h>
>
> but don't fix this bug until the first one is fixed (if at all) :) .

This is simply due to the "quick-and-dirty" implementation of "mkdep".
You simply shouldn't do this.

Roger.

-- 
If it's there and you can see it, it's REAL      |___R.E.Wolff@BitWizard.nl  |
If it's there and you can't see it, it's TRANSPARENT |  Tel: +31-15-2137555  |
If it's not there and you can see it, it's VIRTUAL   |__FAX:_+31-15-2138217  |
If it's not there and you can't see it, it's GONE! -- Roy Wilks, 1983  |_____|
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu