Page MenuHomeFreeBSD

Add a kmod.opts.mk.
Needs ReviewPublic

Authored by jhb on Tue, Oct 22, 10:21 PM.

Details

Reviewers
imp
Summary

This Makefile sets KERN_OPTS. This permits kernel module Makefiles to
use KERN_OPTS to control the value of variables such as SRCS that are
used by bsd.kmod.mk for KERN_OPTS values that honor WITH/WITHOUT
options for standalone builds.

Test Plan

Try to do a standalone build of a kernel module that uses tests on
KERN_OPTS (e.g. modules/geom/geom_uzip). It will fail because
KERN_OPTS isn't defined. Adding ".include <kmod.opts.mk>" at the
start of the Makefile locates the kern.opts.mk and config.mk
Makefiles in the kernel source tree and includes them.

I have two other patches in flight (T6 NIC TLS and bhyve save/restore)
that also make use of KERN_OPTS to control SRCS and are affected by
this.

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 27161
Build 25433: arc lint + arc unit

Event Timeline

jhb created this revision.Tue, Oct 22, 10:21 PM
imp added inline comments.Wed, Oct 23, 5:03 PM
share/mk/kmod.opts.mk
9

we have this list in 4 places now, including inside of the kernel conf dir. This makes it 5. Any chance you can make it just one too?

jhb added inline comments.Wed, Oct 23, 5:59 PM
share/mk/kmod.opts.mk
9

The one in sys/conf/kmod.mk is different (fewer directories) FWIW. I was only aware of this being the third place (bsd.kmod.mk and sys/conf/kmod.mk being the others). Looks like sys/conf/dtb.build.mk which uses the shorter list of dirs from sys/conf/kmod.mk is the 4th. So we have 2 lists each duplicated twice, and 3 different flavors of the nested '.if'.

imp added inline comments.Thu, Oct 24, 5:56 PM
share/mk/kmod.opts.mk
9

yea, that's super-ugly :(
I have bsd.sysdir.mk that I've written.
I'll post a followup after some testing.

imp added a comment.Thu, Oct 24, 6:17 PM

https://reviews.freebsd.org/D22144
is what I'm thinking. I think I have all the dirs in this one and found all the places we use it.
I've not test tested all the use cases....
so we can work out the sharing issues there.