Request for help: how do teach module building about kernel options?

Warner Losh imp at bsdimp.com
Tue Jan 3 19:02:11 UTC 2012


On Jan 3, 2012, at 10:30 AM, Adrian Chadd wrote:

> On 3 January 2012 06:24, John Baldwin <jhb at freebsd.org> wrote:
> 
>>> Working off the cuff, I'd propose the following API:
>>> 
>>> KERNOPTS=foo baz
>>> SRC_FOO = foo.c
>>> SRC_BAZ = baz.c
>>> SRC= a.c b.c d.c
>>> 
>>> And have the magic needed to conditionally add SRC_FOO and SRC_BAZ to SRC in bsd.kern.mk.
> 
> I'd be happy with the former to begin with, based on all the options.
> Devices would be nice too, but that can come later.
> How about:
> 
> KERNOPTS=foo baz
> KERNDEVICES=a b c d e

I think you are misunderstanding what I'm trying to say.  This isn't "options foo and bar from the kernel config file" but rather "please let me build things based on what's in the opt_foo.h and opt_bar.h files"

> Or if we're goign for linux-like config.mk (which would save on line
> length issues, for very large kernel config files?):
> 
> KERNOPTS_foo=
> KERNOPTS_bar=XXX
> KERNOPTS_baz=YYY
> 
>> Not only that, but it would be nice if the list of modules to be built could
>> be tailored to what options are enabled.  For example, if I build a kernel that
>> doesn't have inet or inet6 then it shouldn't try to build ipfw, etc.
> 
> That'd be nice too, but it's almost like we'd need another domain
> specific language just to describe how to build sys/modules/Makefile.
> :-)

Right now MODULES_OVERRIDE provides an adequate hook for this.

> So how about we do up say, the KERNOPTS field first, which would be a
> big win. Then KERNDEVICES too, if that's possible?

I'd only planned on doing KERNOPTS :)

Warner


More information about the freebsd-arch mailing list