On 7/30/2024 4:44 AM, Dag-Erling Smørgrav wrote:
"Poul-Henning Kamp"<p...@phk.freebsd.dk>  writes:
Dag-Erling Smørgrav<d...@freebsd.org>  writes:
There is very little difference between options and devices in kernel
configuration files, but for what it's worth, filemon is a device, not
an option.
Apart from the internals of config(8) and it's input data, is there
any actual difference left ?
 From the perspective of including files in the build, there is no
difference: `foo/foo.c optional foo` does not care whether "foo" is an
option or a device.  However, options generate macros, while devices
don't.  So adding `option FILEMON` to your kernel config will cause
filemon to be compiled into the kernel, but it will also generate an
unneeded opt_filemon.h with `#define FILEMON 1`.  Or it would, if it
weren't for this:

     % git annotate sys/conf/options |& grep -i filemon
     6c6f1f0185b84      (Peter Wemm     2013-07-03 20:22:12 +0000       
109)FILEMON     opt_dontuse.h

which suggests Peter intended filemon to be an option rather than a
device.

DES

Yes it probably should have been a device from the start.  I do not recall why I picked one over the other.  It was originally not config(8)able at all.

-Peter

Reply via email to