Re: source dependencies cleanup? (fwd)

Brian Blackmore (bnb@looking-glass.org)
6 Dec 1996 20:20:34 -0000


"Joshua M. Thompson" <invid@optera.com> wrote:
[ deletion ]
>> There are interdependencies between sections of the system and thus configs
>> overlap. Not a big problem but one to take care about.

>This will be the hard part, and that's why I will have my new Configure
>script generate both the new seperate config headers and the old
>all-in-one autoconf.h. It'll allow the source to be modified bit by bit;
>unmodified sources will simply recompile when they don't need to, and the
>modified sources will only compile if they are affected by the change.
[ deletion ]

What I am about to suggest is possibly a bad idea, but sometimes good ideas
come from bad ones :-)

Assuming mkdep ends up handling #ifdef's correctly (if it doesn't problems
occur in some of the network code) then autoconf.h could be defined as ...

#ifndef MAKE_DEPEND
#include <config/network.h>
#include <config/scsi.h>
#include <config/fs.h>
#endif

this would allow mkdep to be passed a -DMAKE_DEPEND which would cause it to
avoid all the configuration dependancies.

Dependancies to CONFIG_* options could then be calculated by a separate
utility doing much the same job as mkdep except making a dependancy from
the .o file who's source references a CONFIG_ option to the .h file which
may define it and stored in a separate .config-depend file which would be
included in a makefile much the same way as a .depend file is.

When a reconfiguration takes place whichever configuration script was
being used would ensure only those config/*.h files which have actually
changed would be updated and thus make would only change those files
that are required.

-- 
Brian                                   http://www.wonderland.org/~eternal/