Subject: Re: port-mac/1678: missing dependencies for COMPAT_SUNOS
To: Christos Zoulas <christos@deshaw.com>
From: David Brownlee <david@city.ac.uk>
List: netbsd-bugs
Date: 11/03/1995 19:10:17
On Fri, 3 Nov 1995, Christos Zoulas wrote:
> On Nov 3, 1:04am, Chris_G_Demetriou@BALVENIE.PDL.CS.CMU.EDU (Chris G Demetriou) wrote:
> -- Subject: Re: port-mac/1678: missing dependencies for COMPAT_SUNOS
>
> | > People have suggested in the past to put every -DFOO flag in a
> | > foo.h file that contains '#define FOO 1' and let the compiler to its thing.
> | > This of course is a maintainance nightmare and will slow down compilation
> | > a lot.
> |
> | Which is better: speed, or correctness? To my mind, speed is
> | worthless without correctness, and the current mechanism, though
> | faster, is incorrect.
> |
> |
> | I would actually suggest one "options.h", rather than lots of little
> | foo.h files, which would then be included in every .c file in the
> | kernel.
> |
> | in what way is it a "maintainence nightmare"? I don't think that it
> | causes any serious problems, other than a few extra recompilations.
>
> If you have 50 or so more one line .h files in the kernel compile directory,
> and you need to edit each c file to include a subset of them. Everytime
> you add an ifdef to a c file, you must check if the appropriate .h file
> is included.
>
Would an intermediate setup be viable?
Have an number of option files (ie
net_opt.h nfs_opt.h ufs_opt.h
scsi_opt.h vm_opt.h compat_opt.h
fs_opt.h m68k_opt.h mac68k_opt.h
(the last couple being machine dependant of course) and
then include & depend against the appropriate ones...
The other ways would be to start playing with something that takes
files.nfs and conf files & determines what needs to be rebuilt
dependant on the last build from that... nasty :)
> | Looking at it another way:
> |
> | how often to you change your kernel config file? i.e. how often would
> | it hurt to recompile the world, if you have dependencies made?
> |
> | similarly: how often do you change <sys/types.h> or <sys/param.h>? I
> | know that when i do that, and i actually care whether the entire world
> | is recompiled, i remove the .depend file and remove and make the .o's
> | i want, individually.
> |
> | It seems to me that the default: normal build, with dependencies,
> | should produce a correct kernel, even if that means recompiling a few
> | extra .o's to get it.
> |
> | What is the cost of doing it each way? Is it better to keep new
> | end-users from running into this problem repeatedly, or to give
> | developers very slightly quicker (on average) compilations?
> |
> | I'd say that the former is more important. It also make sure that
> | seasoned developers don't get accidentally burned by the same problem.
>
> I agree that options.h is a good idea.
>
> christos
>
David/abs
david@city.ac.uk +44 171 477 8186 (MIME) david@southern.com +44 181 888 8949
Network Analyst, UCS, City University System Manager, Southern Studios Ltd
Northampton Square, London EC1V 0HB PO Box 59, London N22 1AR
<<< Monochrome - Largest UK Internet BBS - telnet mono.org >>>
>=- Microsoft: Abort and Retry Cancel -or- NetBSD: http://www.netbsd.org -=<
(Apologies for long signature - in process of changing jobs)