Date: Fri, 28 Aug 1998 23:22:02 -0600 From: Warner Losh <imp@village.org> To: committers@freebsd.org Subject: Re: make.conf Message-ID: <199808290522.XAA11009@harmony.village.org> In-Reply-To: Your message of "Fri, 28 Aug 1998 22:16:33 MDT." <199808290422.WAA18049@pluto.plutotech.com> References: <199808290422.WAA18049@pluto.plutotech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199808290422.WAA18049@pluto.plutotech.com> "Justin T. Gibbs" writes: : If others share this view, perhaps we should work towards providing a : mechanism for our user community to configure how the system src trees : are built that is completely localized to the source files we wish to : target. At first I thought /etc/make.conf was really cool. Then I had several discussions about this with others in the BSD community, especially in relationship to the "ports" collection on OpenBSD. I too think that the more we add to /etc/make.conf, the more we're painting a huge "kick me" sign on ourselves. And I'm not even thinking about the upgrade issues surrounding it. I've been racking my brains trying to come up with some way to globally affect some things (like /usr/src), while not having it be really global (eg things not in /usr/src or /usr/ports). Some solutions are trivial (eg adding .include <bsd.conf.mk> to all make files in the system (as their first line)), others are harder, but involve fewer files being edited. Some involve hacks to make to look for configuration information "locally". None of the harder ones will solve all the problems. It is almost as if you wanted to have the gcc-like flag '-include mk.conf' in make to have it do the right thing. Doing this from the top of the tree is easy (just hack it into a simple /usr/src/Makefile that calls a more complicated /usr/src/Makefile.build), but leaving people the ability to build part of the tree is harder. Then you think, oh, I'll just put something in /usr/src and somehow have make magically read it (for any value of /usr/src, btw). One way to do that would be to have a Makefile.inc-like file at all levels of the tree (except the leaves) that gets included before things (eg like the -include ../mk.conf). This would allow one to build, and allow one to stop at the top level (if each level except the top level included it). There are problems with this approach as well, when /usr has a mk.conf in it. However, it would solve the read-only source tree problem (as the /usr/src/mk.conf could have an include directive in it that is variable and defaults to /etc/make.conf). I'm not sure that committers is the place to talk about these ideas at length, so I'll leave it at that and go off and see how hard this[*] idea would be to implement... Warner [*] The "just include ../mk.conf, if it exists" idea, properly parameterized, of course.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808290522.XAA11009>