History log of /netbsd-current/usr.bin/config/config.5
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.48 18-Jan-2024 thorpej

With config(1) as it exists today, a kernel Makefile is able to implement
logic on kernel options so long as those options are not defflag'd or
defparam'd. This works because such options are automatally added to the
IDENT var in the kernel Makefile as a preprocessor define, and the Makefile
can then do an operation like:

.if !empty(IDENT:M-DSOMECOOLCPUOPTION)
CFLAGS+= -mcpu=somecoolcpu
.endif

Unfortunately, this precludes making it possible to generate a compile-time
dependency on SOMECOOLCPUOPTION, or having SOMECOOLCPUOPTION imply another
kernel config option using the normal config(1) option dependency function.

Fix this by introducing a new option description keyword: mkflagvar. This
keyword marks an already defflag'd option as wanting a kernel Makefile var
defined if that option is selected in the kernel config file. So:

defflag opt_coolcpu.h SOMECOOLCPUOPTION ANOTHERCOOLCPUOPTION
mkflagvar SOMECOOLCPUOPTION ANOTHERCOOLCPUOPTION

will cause:

KERNEL_OPT_SOMECOOLCPUOPTION="1"
KERNEL_OPT_ANOTHERCOOLCPUOPTION="1"

...to be emitted into the kernel Makefile if those options are, in fact,
selected with "options ..." in the kernel config file, thus allowing for
a compile-time dependency on the option to be generated in addition to
Makefile logic, which now looks like:

.if !empty(KERNEL_OPT_SOMECOOLCPUOPTION)
CFLAGS+= -mcpu=somecoolcpu
.endif


Revision tags: netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
# 1.47 04-Oct-2021 andvar

remove duplicate the article in documentation.


# 1.46 11-Sep-2021 andvar

Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 29-Sep-2020 msaitoh

s/implicitely/implicitly/


# 1.44 31-Jul-2020 uwe

Swtich from -ohang to -tag lists.

-ohang lists are hard to read b/c long config directives are almost
impossible to tell from the following text. Occasional multi-paragraph
descriptions were quite confusing too.


# 1.43 31-Jul-2020 uwe

Missed formatting fixes for "no makeoptions".


# 1.42 31-Jul-2020 uwe

The tale of two makeoptions.

There are two forms that were both documented in the selections
section, but the form with the condition (and only that form) can be
used only in the descriptions section. Move it to the appropriate .Ss
and add prominent notice to both.


# 1.41 31-Jul-2020 uwe

Formatting improvements.


# 1.40 31-Jul-2020 uwe

Minor tweak to list formatting.

Where necessary, use .Bl -ohang -compact and explicit .Pp to be able
to group multiple config directives (separate .It) by omitting .Pp
between them.

While here, add a .|" comment before .It to make them more visible
when editing.


# 1.39 31-Jul-2020 uwe

Formatting improvements.

Only comb through the first few pages (OBJECTS AND NAMES) for now.

Use .Em for emphasis, not .Ar (both look the same in text output, but
.Ar is very confusing in PostScript). Reduce emphasis - don't
highlight every usage of a term. Where everything is emphasized
nothing is.

Fix PS formatting of locator syntax examples so that square brackets
are literal and don't look meta-syntactic. Explicitly show optional
locator syntax (in literal square brackets).


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


# 1.47 04-Oct-2021 andvar

remove duplicate the article in documentation.


# 1.46 11-Sep-2021 andvar

Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 29-Sep-2020 msaitoh

s/implicitely/implicitly/


# 1.44 31-Jul-2020 uwe

Swtich from -ohang to -tag lists.

-ohang lists are hard to read b/c long config directives are almost
impossible to tell from the following text. Occasional multi-paragraph
descriptions were quite confusing too.


# 1.43 31-Jul-2020 uwe

Missed formatting fixes for "no makeoptions".


# 1.42 31-Jul-2020 uwe

The tale of two makeoptions.

There are two forms that were both documented in the selections
section, but the form with the condition (and only that form) can be
used only in the descriptions section. Move it to the appropriate .Ss
and add prominent notice to both.


# 1.41 31-Jul-2020 uwe

Formatting improvements.


# 1.40 31-Jul-2020 uwe

Minor tweak to list formatting.

Where necessary, use .Bl -ohang -compact and explicit .Pp to be able
to group multiple config directives (separate .It) by omitting .Pp
between them.

While here, add a .|" comment before .It to make them more visible
when editing.


# 1.39 31-Jul-2020 uwe

Formatting improvements.

Only comb through the first few pages (OBJECTS AND NAMES) for now.

Use .Em for emphasis, not .Ar (both look the same in text output, but
.Ar is very confusing in PostScript). Reduce emphasis - don't
highlight every usage of a term. Where everything is emphasized
nothing is.

Fix PS formatting of locator syntax examples so that square brackets
are literal and don't look meta-syntactic. Explicitly show optional
locator syntax (in literal square brackets).


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


# 1.46 11-Sep-2021 andvar

Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.45 29-Sep-2020 msaitoh

s/implicitely/implicitly/


# 1.44 31-Jul-2020 uwe

Swtich from -ohang to -tag lists.

-ohang lists are hard to read b/c long config directives are almost
impossible to tell from the following text. Occasional multi-paragraph
descriptions were quite confusing too.


# 1.43 31-Jul-2020 uwe

Missed formatting fixes for "no makeoptions".


# 1.42 31-Jul-2020 uwe

The tale of two makeoptions.

There are two forms that were both documented in the selections
section, but the form with the condition (and only that form) can be
used only in the descriptions section. Move it to the appropriate .Ss
and add prominent notice to both.


# 1.41 31-Jul-2020 uwe

Formatting improvements.


# 1.40 31-Jul-2020 uwe

Minor tweak to list formatting.

Where necessary, use .Bl -ohang -compact and explicit .Pp to be able
to group multiple config directives (separate .It) by omitting .Pp
between them.

While here, add a .|" comment before .It to make them more visible
when editing.


# 1.39 31-Jul-2020 uwe

Formatting improvements.

Only comb through the first few pages (OBJECTS AND NAMES) for now.

Use .Em for emphasis, not .Ar (both look the same in text output, but
.Ar is very confusing in PostScript). Reduce emphasis - don't
highlight every usage of a term. Where everything is emphasized
nothing is.

Fix PS formatting of locator syntax examples so that square brackets
are literal and don't look meta-syntactic. Explicitly show optional
locator syntax (in literal square brackets).


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


# 1.45 29-Sep-2020 msaitoh

s/implicitely/implicitly/


# 1.44 31-Jul-2020 uwe

Swtich from -ohang to -tag lists.

-ohang lists are hard to read b/c long config directives are almost
impossible to tell from the following text. Occasional multi-paragraph
descriptions were quite confusing too.


# 1.43 31-Jul-2020 uwe

Missed formatting fixes for "no makeoptions".


# 1.42 31-Jul-2020 uwe

The tale of two makeoptions.

There are two forms that were both documented in the selections
section, but the form with the condition (and only that form) can be
used only in the descriptions section. Move it to the appropriate .Ss
and add prominent notice to both.


# 1.41 31-Jul-2020 uwe

Formatting improvements.


# 1.40 31-Jul-2020 uwe

Minor tweak to list formatting.

Where necessary, use .Bl -ohang -compact and explicit .Pp to be able
to group multiple config directives (separate .It) by omitting .Pp
between them.

While here, add a .|" comment before .It to make them more visible
when editing.


# 1.39 31-Jul-2020 uwe

Formatting improvements.

Only comb through the first few pages (OBJECTS AND NAMES) for now.

Use .Em for emphasis, not .Ar (both look the same in text output, but
.Ar is very confusing in PostScript). Reduce emphasis - don't
highlight every usage of a term. Where everything is emphasized
nothing is.

Fix PS formatting of locator syntax examples so that square brackets
are literal and don't look meta-syntactic. Explicitly show optional
locator syntax (in literal square brackets).


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


# 1.44 31-Jul-2020 uwe

Swtich from -ohang to -tag lists.

-ohang lists are hard to read b/c long config directives are almost
impossible to tell from the following text. Occasional multi-paragraph
descriptions were quite confusing too.


# 1.43 31-Jul-2020 uwe

Missed formatting fixes for "no makeoptions".


# 1.42 31-Jul-2020 uwe

The tale of two makeoptions.

There are two forms that were both documented in the selections
section, but the form with the condition (and only that form) can be
used only in the descriptions section. Move it to the appropriate .Ss
and add prominent notice to both.


# 1.41 31-Jul-2020 uwe

Formatting improvements.


# 1.40 31-Jul-2020 uwe

Minor tweak to list formatting.

Where necessary, use .Bl -ohang -compact and explicit .Pp to be able
to group multiple config directives (separate .It) by omitting .Pp
between them.

While here, add a .|" comment before .It to make them more visible
when editing.


# 1.39 31-Jul-2020 uwe

Formatting improvements.

Only comb through the first few pages (OBJECTS AND NAMES) for now.

Use .Em for emphasis, not .Ar (both look the same in text output, but
.Ar is very confusing in PostScript). Reduce emphasis - don't
highlight every usage of a term. Where everything is emphasized
nothing is.

Fix PS formatting of locator syntax examples so that square brackets
are literal and don't look meta-syntactic. Explicitly show optional
locator syntax (in literal square brackets).


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


# 1.38 03-Jul-2017 wiz

Remove workaround for ancient HTML generation code.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.


Revision tags: pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
# 1.37 19-Jul-2016 maya

Don't reference older CFATTACH_DECL


Revision tags: pgoyette-localcount-base
# 1.36 02-May-2016 wiz

branches: 1.36.2;
New sentence, new line. Bump date for previous.


# 1.35 29-Apr-2016 mlelstv

Extend syntax of config phrase, a quoted string instead of a device name
is passed as root specification string. This can be used to specify a
wedge by name.


# 1.34 01-Sep-2015 uebayasi

Introduce a new syntax, "buildprefix", to specify prefix of files under kernel
build subdirectory. This is not used now that everything is built at the
top of kernel build directory. It will become mandatory for source/object
files put out of kernel source tree to specify corresponding build subdirectory.
Only ``no dots'' relative path is accepted as "buildprefix".


# 1.33 01-Sep-2015 pgoyette

Allow redefinition of options (with only a warning message). Removal
of non-included options was already only a warning.

This also affects redefinition and removal of file-system and makeoption
entries.

Reviewed and OKd by uebayasi@


# 1.32 31-Aug-2015 pgoyette

Need to read closer - there was another occurrence of the same tyepo


# 1.31 31-Aug-2015 pgoyette

Tyepo


# 1.30 30-Aug-2015 wiz

Fix a macro usage. Add more markup.


# 1.29 30-Aug-2015 uebayasi

Define `makeoptions' values as parameters with "makeoptions_" prefix too.
C sources are encouraged to include relevant opt_*.h files rather than relying
on -DXXX passed via makefiles.


# 1.28 29-Aug-2015 uebayasi

Revert "Retire optional `rule' argument of `file' command". It is still used
in m68k ports.


# 1.27 28-Aug-2015 uebayasi

Retire optional `rule' argument of `file' command.

This has existed since Rev. 1.1 of Torek's config(8) [1], but probably has
never been used by anyone.

(I can not imagine how a `file' like look like if `rule' is specified.)

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/config.new/Attic/files.c?rev=1.1


# 1.26 28-Aug-2015 uebayasi

Paths given to "file" and "object" are relative from "prefix" if defined.


# 1.25 31-Oct-2014 uebayasi

config(1), config(5): Introduce "select"

o Introduce a new selection directive "select" to select an attribute (as a
module) and its dependencies.
o Support "no select" too.
o Stop abusing "options" to select an attribute.
o Bump config(1) version.


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.24 29-May-2014 wiz

branches: 1.24.2;
Bump date for previous.


# 1.23 29-May-2014 mrg

implement "no ident".


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.22 13-Feb-2014 wiz

branches: 1.22.2;
Fix some typos found by Rich Neswold and reported in PR 48597.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.21 03-Mar-2010 pooka

branches: 1.21.6; 1.21.12;
Remove fs_foo.h support from deffs now that nothing uses it.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.20 20-Feb-2009 cube

Bump date.


# 1.19 20-Feb-2009 cube

Remove mentions that a kernel configuration file must support at least one
file-system because it's no longer true.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.18 10-Jun-2008 drochner

branches: 1.18.6;
Disable use of pseudo-devices defined "defpseudo" with interface
attributes, but provide compatibility for older source trees (according
to the "version" in conf/files and other files.*.
reviewed by cube


# 1.17 10-Jun-2008 wiz

Bump date for previous.


# 1.16 10-Jun-2008 drochner

Seperate pseudo-devs which don't use device_t et al. (the classical
ones, mostly network pseudo interfaces) and those which use autoconf
to attach instances dynamically, or to attach child devices.
Use a new keyword "defpseudodev" for the latter.
Issue a warning if interface attributes are used with "old" pseudodevs,
but let it work as before for now. This will be removed soon.
approved by cube


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2
# 1.15 30-Apr-2008 martin

branches: 1.15.2;
Convert TNF licenses to new 2 clause variant


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.14 26-Mar-2008 skrll

branches: 1.14.2;
Typo.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.13 10-Nov-2007 cube

Make the "machine" statement define attributes for `machine', `arch' and
all the `subarch' given as parameters. This is useful in combination with
ifdef...


# 1.12 09-Nov-2007 cube

Add support for "ifdef <attribute>" blocks. It goes like this:

ifdef <attr> / ifndef <attr>
elifdef <attr>
elifndef <attr>
else
endif

No indentation is possible for now, it will come later.


# 1.11 10-Sep-2007 cube

Some more licence clean up.


Revision tags: matt-mips64-base
# 1.10 09-Jan-2007 cube

branches: 1.10.4;
Add new syntaxic sugar to provide a value in lint (i.e., config -L)
configurations for defparams. It will be used _only_ by config -L.

This will greatly help automating tests with lint configurations,
hopefully.


# 1.9 08-Jan-2007 wiz

Improve formatting, fix typo, bump date for previous.


# 1.8 07-Jan-2007 cube

- Document "source /path" and "build /path".
- Move documentation for "package", because as I learned tonight, it's not
allowed before setmachine. You get to discover scary new stuff about
config(1) each time you look at it.


# 1.7 06-Jan-2007 cube

Mention that newlines mid-statement are allowed, and clarify how
needs-count and needs-flag work, notably for simple attributes.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base netbsd-4-base
# 1.6 24-Nov-2006 christos

fix spelling of accommodate; from Zapher.


# 1.5 04-Sep-2006 wiz

Fix typo.


# 1.4 04-Sep-2006 dsl

Add support for specifying a default value on a 'defparam' line.
If a default is specified then the option is always defined in the
corresponding .h file.
Particularly useful for parameters where the default action isn't the
same a defining the value zero, given that the current use of #if defined(opt)
is open to problems wehere the relevant .h file isn't actually included, so
requiring an option to always have a value makes sense.
Also included (but commented out) is code that adds a global symbol to
the object file to stop objects compiled with different values for the
same option being linked together - I'm not quite happy with it yet!


Revision tags: abandoned-netbsd-4-base
# 1.3 05-Jul-2006 cube

s/setmachine/machine. Overlook pointed out by Havard Eidnes.


Revision tags: chap-midi-base chap-midi-nbase
# 1.2 04-Jun-2006 cube

branches: 1.2.2;
Set a more realistic date than the day I started writing it.


# 1.1 04-Jun-2006 cube

Everything you've always wanted to know about config(1) without daring
asking (with reason).

You've entered the config(1) dungeon--More--
An option hits you. You die.