Subject: Re: bin/1970
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: None <Chris_G_Demetriou@NIAGARA.NECTAR.CS.CMU.EDU>
List: current-users
Date: 02/22/1996 18:35:36
Jason said:
> I definitely agree with Perry on this one. For example, I'd like to use
> "-O -pipe" on my 32mb hp380 but only "-O" on my 8mb hp319. One could
> argue that I shouldn't ever compile anything on the 319, but that's not
> the point :-) Since these systems share "/usr/share" (in fact, my
> /usr/share is shared between an hp340, hp319, hp380, sun3/60, sun4/260,
> and mvme-147), I can't use /usr/share/mk/local.mk to set those
> machine-specific variables.
Note also that the mechanism by which i added /etc/mk.conf in the PR
allows for something much more general than '/usr/share/mk/local.mk'.
In particular, if i have 5 users on a machine, each of which has their
own copy of /usr/src, and each of which has their own copy of
/usr/obj, and i want 'make obj' to DTRT with symlinks, etc.,
you just _can't_ do that witk /usr/share/mk/local.mk.
You _can_ do that with the proposal i sent in in the PR.
> However, with Chris's current PR (#1970), the issue of overriding CFLAGS,
> compiler, etc. isn't even addressed. Those are dealt with in sys.mk and
> Chris's changes only cover bsd.own.mk. To deal with this, sys.mk and
> bsd.own.mk both need to include /etc/mk.conf, but I don't particularly
> like the idea of defining bsd.own.mk variables (by inclusion) in sys.mk
> and vice-versa. I've though of a way to address that, but it's so ugly
> that I don't want to mention it in public :-)
My concern was for -- and only for -- building NetBSD source trees.
/etc/mk.conf as i proposed it was meant to be a way to configure the
NetBSD build process and that was _it_.
> Of course, /etc/mk.conf is likely to define 3 or 4 things tops on any
> given system, so perhaps the over-inclusion problem isn't really much of
> a problem and not deserving of any extra brain cycles.
/etc/mk.conf should be able to define _anything it wants_, without
being limited by the set of things which are supposed to go in sys.mk.
For instance, is it a good idea for sys.mk to define the make variable
"KERBEROS"? How about the more common "BSDSRCDIR"?
I can think of a few reasons why i might want bsd.own.mk to define
those, and a lot more things... And if those definitions are
automatically included in program makefiles, what will happen?
(hint: "nothing good." 8-)
I guess my thing is, i build NetBSD sources every day. I build
'other' sources rather infrequently, and usually when i do i'm either
not concerned with the flags to various tools used in the build, or
the programs' build processes divine the right tools automatically.
cgd