Skip site navigation (1)Skip section navigation (2)
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>