|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.13 |
03-Jun-2023 |
lukem |
bsd.own.mk: rename GCC_NO_* to CC_WNO_*
Rename compiler-warning-disable variables from GCC_NO_warning to CC_WNO_warning where warning is the full warning name as used by the compiler.
GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH
Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406
|
| 1.12 |
07-Feb-2020 |
fox |
usr.bin/config: Suppress -Werror=stringop-truncation error.
Add GCC_NO_STRINGOP_TRUNCATION to scan.c to prevent build failure.
Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag. gcc version 8.3.0
Reviewed by: kamil@
|
|
Revision tags: phil-wifi-20191119
|
| 1.11 |
13-Oct-2019 |
mrg |
introduce some common variables for use in GCC warning disables:
GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8) GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8) GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8) GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)
use these to turn off warnings for most GCC-8 complaints. many of these are false positives, most of the real bugs are already commited, or are yet to come.
we plan to introduce versions of (some?) of these that use the "-Wno-error=" form, which still displays the warnings but does not make it an error, and all of the above will be re-considered as either being "fix me" (warning still displayed) or "warning is wrong."
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.10 |
29-Oct-2014 |
christos |
branches: 1.10.16; put back scanner warnings now that flex produces clean code.
|
| 1.9 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-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 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 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-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 jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.8 |
13-May-2007 |
veego |
branches: 1.8.54; Using ${NETBSDSRCDIR} requires <bsd.own.mk>
|
| 1.7 |
12-May-2007 |
dsl |
Enable the code that adds global constants to every kernel object file that uses each configuration parameter. This will stop kernel objects build with different options (that come from config files) being linked together or loaded as a LKM. Currently some options that have an effect on the kernel DDI/KI are passed directly as parameters to cc. An aim (for anyone adequately bored) would be to reduce the number of these constants that appear in each .o file. .o files with the same constants should be sharable between kernels (even between XEN and i386).
|
| 1.6 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
|
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.5 |
29-Aug-2006 |
christos |
protect libutil with HOSTPROG
|
| 1.4 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.3 |
04-Jun-2006 |
cube |
Install config.5 and config.samples.5.
|
| 1.2 |
06-Jun-2005 |
thorpej |
branches: 1.2.2; Remove bogus BINDIR assignment.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406 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 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 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 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base bouyer-quota2-nbase bouyer-quota2-base matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base mjf-devfs2-base yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base cube-autoconf-base hpcarm-cleanup-base
|
| 1.2 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.34 |
02-Aug-2021 |
andvar |
fix various typos in comments and log messages.
|
| 1.33 |
24-Jul-2021 |
andvar |
Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889. Also fixed some additional typos in comments, found on review of same files or typos.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.32 |
05-Mar-2020 |
wiz |
genric -> generic
|
|
Revision tags: netbsd-8-3-RELEASE is-mlppp-base netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.31 |
22-Nov-2015 |
uebayasi |
branches: 1.31.16; 1.31.18; A few more.
|
| 1.30 |
11-Sep-2015 |
uebayasi |
Libraries should be built in sub-make. libkern is polluting .PATH too much.
|
| 1.29 |
08-Sep-2015 |
uebayasi |
About ${CTFCONVERT}.
|
| 1.28 |
08-Sep-2015 |
uebayasi |
${MD_OBJS} and friends.
|
| 1.27 |
08-Sep-2015 |
uebayasi |
${LD} input files and library (*.a) support.
|
| 1.26 |
03-Sep-2015 |
mrg |
remove these items:
o Disallow unknown options. o Kill makeoptions.
because they're overly strict and i use these both regularly to do stuff that isn't in the base src, and i'm quite sure i am not the only one.
|
| 1.25 |
28-Aug-2015 |
uebayasi |
+ suffix rules
|
| 1.24 |
27-Aug-2015 |
uebayasi |
+ copy symtab
|
| 1.23 |
26-Aug-2015 |
uebayasi |
One more about linker script, another about genassym.
|
| 1.22 |
25-Aug-2015 |
uebayasi |
I don't like -Ttext .
|
| 1.21 |
25-Aug-2015 |
uebayasi |
+ kill makeoptions
|
| 1.20 |
23-Aug-2015 |
uebayasi |
TODOs about kernel options.
|
| 1.19 |
22-Aug-2015 |
uebayasi |
Linker script TODO items.
|
| 1.18 |
19-Aug-2015 |
pgoyette |
Insert comment regarding PR/48571 so it doesn't get lost.
config(1) ioconf is insufficient for pseudo-devices
config_{init,fini}_component
|
| 1.17 |
19-Aug-2015 |
uebayasi |
+ pseudo(dev) attach
|
| 1.16 |
10-Apr-2015 |
uebayasi |
Typo in previous.
|
| 1.15 |
10-Apr-2015 |
uebayasi |
More about attribute -> bus, and child configuration.
|
| 1.14 |
16-Nov-2014 |
uebayasi |
branches: 1.14.2; config(1): TODO about namespace (esp. options vs. module)
|
| 1.13 |
16-Nov-2014 |
uebayasi |
config(1): TODO item about swapnetbsd.c
|
| 1.12 |
13-Nov-2014 |
uebayasi |
Revise a plan about link-set.
(I was ignorant 2 weeks ago.)
|
| 1.11 |
08-Nov-2014 |
uebayasi |
config(1): Note a little more about linkage
|
| 1.10 |
07-Nov-2014 |
uebayasi |
config(1): TODO about kernel linkage
|
| 1.9 |
01-Nov-2014 |
uebayasi |
config(1): More TODO description.
|
| 1.8 |
01-Nov-2014 |
uebayasi |
config(1): One more TODO about retiring direct attachment
|
| 1.7 |
30-Oct-2014 |
wiz |
Spelling fixes.
|
| 1.6 |
30-Oct-2014 |
uebayasi |
config(1): More TODO
|
| 1.5 |
30-Oct-2014 |
uebayasi |
config(1): More TODO items
|
| 1.4 |
12-Oct-2014 |
apb |
Allow easier adding/removing of options without regard to whether or not they were already defined.
|
| 1.3 |
12-Oct-2014 |
wiz |
Spelling.
|
| 1.2 |
12-Oct-2014 |
uebayasi |
More TODOs.
|
| 1.1 |
10-Oct-2014 |
uebayasi |
Put TODO ideas (to keep your fun).
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.19 |
01-Sep-2015 |
uebayasi |
Experimental ``suffix rules + subdirectories'' build support (-S).
|
| 1.18 |
16-Jul-2015 |
dholland |
Document previously secret -d debug option. Bump date.
|
| 1.17 |
10-Oct-2014 |
wiz |
Fix two typos.
|
| 1.16 |
10-Oct-2014 |
uebayasi |
Document -M.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
|
| 1.15 |
05-May-2014 |
wiz |
branches: 1.15.2; Sort SYNOPSIS. Bump date for previous.
|
| 1.14 |
05-May-2014 |
martin |
Add two new options, -U and -D, that can be used to define "makeoptions" on the config command line. While there, rename the undocumented (internal) parser debug option from -D to -d. Discussed on tech-toolchain.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.13 |
30-Aug-2012 |
wiz |
branches: 1.13.2; 1.13.8; Use more markup. Wording.
|
| 1.12 |
30-Aug-2012 |
christos |
bump date.
|
| 1.11 |
30-Aug-2012 |
christos |
make config -x look at the booted kernel first.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase 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 matt-premerge-20091211
|
| 1.10 |
31-Aug-2009 |
wiz |
branches: 1.10.6; New sentence, new line.
|
| 1.9 |
31-Aug-2009 |
cube |
.Sx to refer to a section, and add one ref to the lint stuff for clarity.
|
|
Revision tags: jym-xensuspend-nbase jym-xensuspend-base
|
| 1.8 |
04-May-2009 |
wiz |
Use Sx. Remove superfluous .Pp.
|
| 1.7 |
24-Mar-2009 |
joerg |
.sp -> .Pp
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.6 |
09-Sep-2007 |
cube |
branches: 1.6.14; Improve the structure of the man page to make it more usual, with the hope that people might actually read it some day. Yeah, I know, dream on, dream on.
Thanks schmonz@ for a quick english check.
|
|
Revision tags: matt-mips64-base
|
| 1.5 |
09-Jan-2007 |
wiz |
branches: 1.5.4; Bump date for previous (year was wrong).
|
| 1.4 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
|
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 abandoned-netbsd-4-base netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.3 |
04-Jun-2006 |
cube |
Reference config(5). Noted by perry@.
XXX options(4), config(9) and probably some others still have to be changed XXX a bit. A chaque jour suffit sa peine.
|
| 1.2 |
05-Jun-2005 |
wiz |
branches: 1.2.2; config(1), not (8)
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
| 1.51 |
10-Dec-2025 |
andvar |
Fix typos in documentation.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.50 |
13-Aug-2024 |
uwe |
config(5): bump date for and fix typo in previous
PR bin/58583
|
| 1.49 |
13-Aug-2024 |
uwe |
config(5): mention ioconf and pseudo-root
Add barebones descriptions for ioconf and pseudo-root added by pooka@ long time ago for rump and kmods. Definitely could be improved and expanded, so feel free...
PR bin/58583
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.48 |
18-Jan-2024 |
thorpej |
branches: 1.48.2; 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-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 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-4-RELEASE 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-3-RELEASE 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.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.8 |
04-Apr-2022 |
andvar |
fix various typos, mainly in comments.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.7 |
01-Aug-2020 |
uwe |
Minor formatting tweaks.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE 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-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-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 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.6 |
06-Mar-2014 |
riastradh |
`Controller' takes two l's.
|
| 1.5 |
13-Feb-2014 |
wiz |
Fix some typos found by Rich Neswold and reported in PR 48597.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE 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-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-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 netbsd-5-2-RELEASE netbsd-5-2-RC1 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 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 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-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 jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base 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 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
|
| 1.4 |
30-Apr-2008 |
martin |
branches: 1.4.4; 1.4.26; Convert TNF licenses to new 2 clause variant
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.3 |
10-Sep-2007 |
cube |
branches: 1.3.6; Some more licence clean up.
|
|
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 matt-mips64-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base chap-midi-base chap-midi-nbase
|
| 1.2 |
04-Jun-2006 |
cube |
branches: 1.2.2; 1.2.12; 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: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.109 |
05-Apr-2024 |
riastradh |
config(1): Make sort order deterministic.
Ensure we break ties in every case. This way, even though we use the unstable qsort(3) library routine, the output is reproducible, no matter what algorithm is behind qsort(3).
It would be nice if we could just use a stable sort function here, but mergesort(3) is nonstandard, so we'd have to add it to tools/compat, which is a big pain.
Instead, put a tie-breaking rule in every comparison function we use with qsort, and abort() in the event of ties -- that way, we noisily refuse to rely on unstable sort order.
While here, dispense with any question of integer overflow, and sprinkle comments.
PR bin/58115
|
| 1.108 |
18-Jan-2024 |
thorpej |
Bump version.
|
| 1.107 |
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-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.106 |
03-Apr-2020 |
joerg |
branches: 1.106.6; Avoid depending on common symbols.
|
| 1.105 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: is-mlppp-base netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.104 |
27-Aug-2018 |
riastradh |
branches: 1.104.2; Bump config(5) version for OPT.foo.c variables.
|
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
|
| 1.103 |
09-Apr-2018 |
christos |
branches: 1.103.2; Keep previous location of device definitions so we can print them in error messages.
|
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.102 |
27-Nov-2017 |
christos |
branches: 1.102.2; use a reference count to avoid deleting psrefs still in use.
|
| 1.101 |
18-Nov-2017 |
christos |
Allow multiple attachments methods to the same child+parent combination:
foo* at bar? with baz foo* at bar? with barf
Do this by scanning the list of iba's and allocating a new cfparent for each. Keep track of the shared parent+child combinations by using the same id for them.
|
| 1.100 |
16-Nov-2017 |
christos |
When deleting orphans detect parent<->child loops and break them. "active" is not a boolean, use the right comparison.
|
|
Revision tags: perseant-stdc-iso10646-base
|
| 1.99 |
16-Jun-2017 |
christos |
Bump for quoting makeoptions with multiple lines.
|
|
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
|
| 1.98 |
09-Sep-2016 |
christos |
branches: 1.98.6; Make attribute deselection work: - when deselecting attributes, remove files that depend on them - when deselecting attributes, remove devices that depend on them
|
| 1.97 |
07-Aug-2016 |
christos |
Bump version for -no
|
| 1.96 |
07-Aug-2016 |
christos |
Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.95 |
18-Mar-2016 |
christos |
match the updated <sys/types.h> definition
|
| 1.94 |
12-Nov-2015 |
pooka |
In ioconfname mode, #define IOCONF as the ioconf token.
Avoids having to retype the name to call config_init/fini_component().
|
| 1.93 |
04-Sep-2015 |
uebayasi |
Sort files in ${ALLFILES} in the order of parsing of `files.*'.
config(1) reads the first `files.${MACHINE}' when it encounters `machine'. Then it includes common `files.${MACHINE_SUBARCH}', `files.${MACHINE_ARCH}', and MI `sys/conf/files' at last. This change makes the first "file" in `files.${MACHINE}' appear first in ${ALLFILES}.
|
| 1.92 |
04-Sep-2015 |
uebayasi |
Make config(1) output only ${ALLFILES}, selected input files, and pass it to Makefile.kern.inc, where files are filtered by suffix.
|
| 1.91 |
04-Sep-2015 |
uebayasi |
*.o files don't need special handling at all now. Makefile.kern.inc knows *.o input files don't need to get compiled, but need to get linked.
|
| 1.90 |
03-Sep-2015 |
uebayasi |
Add generated *.c files (devsw.c and ioconf.c) to ${CFILES} by config(1) internally. ${MI_CFILES} in Makefile.kern.inc is no longer needed.
|
| 1.89 |
03-Sep-2015 |
uebayasi |
After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.88 |
03-Sep-2015 |
uebayasi |
Move `all' target definition to Makefile.kern.inc.
|
| 1.87 |
03-Sep-2015 |
uebayasi |
Define kernel dependency in Makefile.kern.inc.
|
| 1.86 |
02-Sep-2015 |
uebayasi |
Define ${OBJS} in `Makefile.kern.inc'. Relative paths are not truncated (a/b/c/x.c -> x.c) in `-S' mode. Don't provide some explicit rules for `-S' mode for safety.
|
| 1.85 |
02-Sep-2015 |
uebayasi |
Output relative path for ${CFILES} and ${SFILES} in generated `Makefile'. `Makefile.kern.inc' knows how to deal with $S prefix, so don't bother it in config(1).
|
| 1.84 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.83 |
01-Sep-2015 |
uebayasi |
Experimental ``suffix rules + subdirectories'' build support (-S).
|
| 1.82 |
01-Sep-2015 |
uebayasi |
Bump version for "buildprefix".
|
| 1.81 |
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.80 |
01-Sep-2015 |
uebayasi |
Keep track of directory of files internally.
|
| 1.79 |
01-Sep-2015 |
uebayasi |
Clean up struct files.
|
| 1.78 |
01-Sep-2015 |
uebayasi |
Use per-suffix lists where appropriate.
|
| 1.77 |
01-Sep-2015 |
uebayasi |
Abstract struct filetype is no longer needed.
|
| 1.76 |
01-Sep-2015 |
uebayasi |
Merge struct objects into struct files. Keep per-suffix file lists.
|
| 1.75 |
01-Sep-2015 |
uebayasi |
Start merging struct files and struct objects.
|
| 1.74 |
31-Aug-2015 |
uebayasi |
Restore the old behavior of "maxusers" to allow the value to be overriden. Problem reported by John D. Baker.
|
| 1.73 |
30-Aug-2015 |
uebayasi |
Revert "Accept only relative paths ...". This will be redone in much better, stricter way.
|
| 1.72 |
30-Aug-2015 |
uebayasi |
Define compile rules in sys/conf/Makefile.kern.inc except those overriden by "file ... compile-with ...". As rules are still explicit, be careful to not override by checking .if !target(xxx.o).
|
| 1.71 |
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.70 |
29-Aug-2015 |
uebayasi |
Convert MAXUSERS, take 2.
Define MAXUSERS in opt_param.h and include it from sys/param.h, for more accurate dependency. Don't define -DMAXUSERS and add it to ${CPPFLAGS}. config(5)'s "maxusers" syntax doesn't change.
(The version just before revert was OK, but I had something bad in my obj dirs.)
|
| 1.69 |
29-Aug-2015 |
uebayasi |
Revert MAXUSERS changes. Need fresh air.
|
| 1.68 |
29-Aug-2015 |
uebayasi |
Define MAXUXERS in opt_param.h. Bump config(1) version.
|
| 1.67 |
29-Aug-2015 |
uebayasi |
Revert "Retire optional `rule' argument of `file' command". It is still used in m68k ports.
|
| 1.66 |
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.65 |
20-Aug-2015 |
christos |
move driver attach declarations to ioconf.h
|
| 1.64 |
17-Nov-2014 |
uebayasi |
Pre-calc file path len/suffix. Misc. clean up.
|
| 1.63 |
15-Nov-2014 |
uebayasi |
config(1): Sort objects by weight in modular build
Sort per-module kernel objects (*.ko) by dependency weight. Important modules are placed in lower addresses. The ``machdep'' module will be always placed in the lowest.
(At this moment, the order is not exact because dependency information is incomplete in config files (files.*). Thus ``sysmon_power.ko'' comes lower than ``machdep.ko'' and/or ``uvm.ko''; but still much better than alphabetical sort.)
|
| 1.62 |
06-Nov-2014 |
uebayasi |
config(1): Rename internal flag to enable modular build
|
| 1.61 |
01-Nov-2014 |
uebayasi |
config(1): Start calling module as module
|
| 1.60 |
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.
|
| 1.59 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.58 |
18-Oct-2014 |
uebayasi |
Keep track of attribute (module) dependency using hash2.
|
| 1.57 |
12-Oct-2014 |
uebayasi |
Make hash capable of taking two key strings.
|
| 1.56 |
11-Oct-2014 |
uebayasi |
Enable debug for tools.
|
| 1.55 |
10-Oct-2014 |
uebayasi |
Bump config(1) version.
config(1) still keeps backward-compatibility; it is more permissive than before. The tree, however, needs the updated config(1), mainly to strictly define attribute ("module") ownership and dependencies.
|
| 1.54 |
10-Oct-2014 |
uebayasi |
Refactor attr definition and initialization a little.
|
| 1.53 |
09-Oct-2014 |
uebayasi |
FIT_FORCESELECT is never set anywhere.
|
| 1.52 |
09-Oct-2014 |
uebayasi |
FIT_NOPROLOGUE is never set anywhere.
|
| 1.51 |
09-Oct-2014 |
uebayasi |
Steal -M to enable "modular" build.
|
| 1.50 |
09-Oct-2014 |
uebayasi |
Define an implicit attribute "netbsd" internally to collect files that don't belong to any specific attribute.
Eventually, all operations doing "foreach (files)" can be rewritten as "foreach (attributes) foreach (files)".
|
| 1.49 |
09-Oct-2014 |
uebayasi |
If a file is marked by an atom expression, like "file a.c foo", and if the specified expression is an attribute, mark the file as belonging to the attribute.
At this moment this information is not used for any purpose, but can be traced by config -ddd.
|
| 1.48 |
09-Oct-2014 |
martin |
Provide a CFGDBG version for the tools build.
|
| 1.47 |
09-Oct-2014 |
uebayasi |
Add debug print function.
|
| 1.46 |
24-Aug-2014 |
joerg |
Bump CONFIG_VERSION.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
|
| 1.45 |
05-May-2014 |
martin |
branches: 1.45.2; Add two new options, -U and -D, that can be used to define "makeoptions" on the config command line. While there, rename the undocumented (internal) parser debug option from -D to -d. Discussed on tech-toolchain.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.44 |
08-Jun-2012 |
martin |
branches: 1.44.2; 1.44.8; If we build several kernel (variants) within the same build directory, bad things may happen in a parallel build - especially with rules like the automatic size adjustment for SYMTAB_SPACE, see long standing failure of evbarm on the build cluster. Easy fix: .WAIT for each config to complete, before going on with the next. Low impact, only minor loss of paralellism, and only in cases where needed.
|
|
Revision tags: yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.43 |
12-Mar-2012 |
dholland |
Remove the NV_OBSOLETE flag, which is no longer needed. While here, update an outdated comment about condition expressions.
|
| 1.42 |
12-Mar-2012 |
dholland |
Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.41 |
12-Mar-2012 |
dholland |
Introduce type-safe wrappers around the hash tables. Use them for a selected set of tables affected by the next nvlist cleanup in the works.
|
| 1.40 |
11-Mar-2012 |
dholland |
Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.39 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.38 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
| 1.37 |
11-Mar-2012 |
dholland |
Remove cf_swap, which hasn't been used in a long time.
|
| 1.36 |
10-Mar-2012 |
dholland |
Use __printflike. Build products unchanged.
|
|
Revision tags: 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.35 |
30-Apr-2010 |
pooka |
branches: 1.35.6; 1.35.8; For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.34 |
22-Mar-2010 |
pooka |
Some drivers want to include ioconf.h, so generate it if doing "ioconf" config.
|
| 1.33 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
| 1.32 |
03-Mar-2010 |
pooka |
Remove fs_foo.h support from deffs now that nothing uses it.
|
| 1.31 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.30 |
13-Mar-2009 |
cube |
Now that condmkopttab isn't a hash table anymore, don't initialise it with ht_new()... So actually rename it to condmkoptions to avoid confusion.
Reported build failure on amd64 (strange that I wouldn't get it on i386) on current-users by Kurt Schreiner.
|
| 1.29 |
13-Mar-2009 |
cube |
Actually allow a full expression for the condition for "makeoptions" in files.*
Patch from Yorick Hardy.
|
| 1.28 |
15-Feb-2009 |
cube |
- Allow substition of options values in the generated Makefile using the syntax %OPTION%. - Make it possible to specify a syntax version information in the Makefile. - Bump version to 20090214.
|
| 1.27 |
20-Jan-2009 |
drochner |
branches: 1.27.2; Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
| 1.26 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
| 1.25 |
21-Dec-2008 |
martin |
bump version due to recent rootfs changes
|
|
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
|
| 1.24 |
30-Aug-2008 |
cube |
Bump CONFIG_VERSION after the previous fix to main.c.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.23 |
10-Jun-2008 |
cube |
Do proper config(5) version checking after previous changes [hi drochner!].
The rule is, if you change scan.l or gram.y, you bump the config(5) version. If you implement the changes under sys/conf/files or affiliate, you bump the required version in sys/conf/files or in an appropriate place to minimise annoyance. If the changes makes new config(1) incompatible with a previous version of config(5), embed it in config(1) using the CONFIG_MINVERSION definition along with CONFIG_VERSION.
This has been in the tree for what, 3 years now? It's even documented...
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.22 |
12-Dec-2007 |
lukem |
branches: 1.22.4; 1.22.6; Use a common function to generate the "MACHINE GENERATED" comment, and ensure mkswap.c adds it too.
|
|
Revision tags: cube-autoconf-base
|
| 1.21 |
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.
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.20 |
13-Jan-2007 |
christos |
branches: 1.20.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.19 |
12-Jan-2007 |
cube |
Handle defopt lists properly, as ':=' syntax introduce an additional element... For that, introduce nvcat(nv1, nv2).
|
| 1.18 |
09-Jan-2007 |
cube |
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.17 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
|
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.16 |
27-Sep-2006 |
christos |
Coverity CID 175: Avoid memory leak; add new function to destroy a hash table.
|
| 1.15 |
04-Sep-2006 |
cube |
Bump version after last feature addition (default value for defparam).
|
| 1.14 |
03-Sep-2006 |
dsl |
There isn't really any point in the 'union' for nv_str and nv_ptr, all it does is cause confusion when I try to add default values for defparam. Also if malloc()/free() aren't efficient enough for us, we ought to fix them rather than having local free list - so kill the local free lists.
|
| 1.13 |
30-Aug-2006 |
cube |
Bump version after deffs change.
|
| 1.12 |
30-Aug-2006 |
matt |
Allow deffs to take dependencies like defflag and defopt
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.11 |
04-Jun-2006 |
cube |
Bump version after fix to obsolete syntax.
|
| 1.10 |
25-May-2006 |
cube |
Introduce two new statements:
obsolete defflag <option> [, <option> [, ...]] obsolete defparam <option> [, <option> [, ...]]
The two statements actually do the same thing (there could be only one), but it makes things less cryptic that way. The optional ": deps" part of a 'defflag' or 'defparam' still has to be dropped when it gets obsoleted.
When the user has 'options OBSOLETE_OPTION' in his configuration file, it is ignored (that is, opt_*.h files are generated as if it wasn't there), and the user gets a warning about it.
Bump version to 20060525.
When someone first uses that syntax in the tree, a "version 20060525" statement should be added before its occurrence, preferably at the top of sys/conf/files.
Suggested by Matt Thomas a few months ago.
|
| 1.9 |
07-Nov-2005 |
erh |
branches: 1.9.2; Remove special hack for swapnetbsd.c when generating the makefile. Instead, just add it to the list of files. Make "prefix foo" lines actually work right when foo is an absolute path, and make sure the length calculations correspond to the output. Provide a way to specify a file that will always be included, and a way to omit the prologue ("$S/") on that file.
|
| 1.8 |
12-Oct-2005 |
cube |
Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.7 |
04-Oct-2005 |
cube |
- Make sure to try aliases of removed device instances when walking deaddevitab. - Record the position in the config file of device instances so it is possible to tell if a device instance was declared before or after its parent's removal.
E.g.:
child* at parent? no parent
will have the child instance ignored as an explicit orphan, while
no parent child* at parent?
will error out because now the child instance is a real orphan.
That let the POSTPONED_ORPHAN regression test pass.
|
| 1.6 |
04-Oct-2005 |
cube |
Add a flag to mark broken instances. That might happen when there is a syntax error in the file, yet we want to somehow gracefully go on in order to print out all the errors in the file, which means we have to take special care with those structures.
Reported by Simon Burge in private mail.
|
| 1.5 |
04-Oct-2005 |
cube |
- Keep track of the file in which we find the device instance - Introduce xwarn() for delayed warnings - Use xerror() and xwarn() in fixdevis() to notify about orphans
That way the correct file is printed when listing orphaned devices.
Reported by Juergen Hannken-Illjes in private mail.
|
| 1.4 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.3 |
30-Sep-2005 |
cube |
Rework the way orphan device instances are handled. To achieve that, keep track of instances attaching at root, and walk down the tree of active device instances. Then, all instances that are not marked active are found as orphans.
Doing it that way allows us to simply ignore orphan devices, instead of warning about them and still keep them in the configuration. Now, orphaned instances are considered as never having existed.
In the end, this allows 'no <device> at <attachment>' to be much more efficient, as the user doesn't have to negate all descendents of the instance s/he actually wants to negate. Warnings are still emitted, though.
While there, make official a side-effect of the previous lack of action against orphaned instances: config(1) used to warn about instances that attach at a numbered device when no instance of that device with that number existed, even though there was a starred instance of the device.
E.g. (provided by Alan Barrett):
pciide* at pci? dev ? function ? flags 0x0000 wdc0 at isa? port 0x1f0 irq 14 flags 0x00 wdc1 at isa? port 0x170 irq 15 flags 0x00 atabus* at ata? wd0 at atabus0 drive 0
With this commit, config(1) will no longer warn about 'wd0 at atabus0'.
|
| 1.2 |
10-Sep-2005 |
martin |
Move package/cinclude/include handling from the parser to the scanner, where it belongs. This has the side effect of fixing PR toolchain/30903.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.38 |
05-Apr-2024 |
riastradh |
config(1): Make sort order deterministic.
Ensure we break ties in every case. This way, even though we use the unstable qsort(3) library routine, the output is reproducible, no matter what algorithm is behind qsort(3).
It would be nice if we could just use a stable sort function here, but mergesort(3) is nonstandard, so we'd have to add it to tools/compat, which is a big pain.
Instead, put a tie-breaking rule in every comparison function we use with qsort, and abort() in the event of ties -- that way, we noisily refuse to rely on unstable sort order.
While here, dispense with any question of integer overflow, and sprinkle comments.
PR bin/58115
|
|
Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.37 |
07-Mar-2020 |
christos |
branches: 1.37.6; Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: netbsd-8-3-RELEASE is-mlppp-base netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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
|
| 1.36 |
09-Sep-2016 |
christos |
branches: 1.36.14; 1.36.16; Make attribute deselection work: - when deselecting attributes, remove files that depend on them - when deselecting attributes, remove devices that depend on them
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.35 |
04-Sep-2015 |
uebayasi |
Fix previous.
|
| 1.34 |
04-Sep-2015 |
uebayasi |
Fix segmentation fault.
|
| 1.33 |
04-Sep-2015 |
uebayasi |
Sort files in ${ALLFILES} in the order of parsing of `files.*'.
config(1) reads the first `files.${MACHINE}' when it encounters `machine'. Then it includes common `files.${MACHINE_SUBARCH}', `files.${MACHINE_ARCH}', and MI `sys/conf/files' at last. This change makes the first "file" in `files.${MACHINE}' appear first in ${ALLFILES}.
|
| 1.32 |
04-Sep-2015 |
uebayasi |
*.o files don't need special handling at all now. Makefile.kern.inc knows *.o input files don't need to get compiled, but need to get linked.
|
| 1.31 |
04-Sep-2015 |
uebayasi |
Now Makefile.kern.inc handles swap<kernel>.c compiling/linking nicely, config(1) can become less hackish.
|
| 1.30 |
04-Sep-2015 |
uebayasi |
Share more code by making *.o handling less special.
|
| 1.29 |
03-Sep-2015 |
uebayasi |
Add generated *.c files (devsw.c and ioconf.c) to ${CFILES} by config(1) internally. ${MI_CFILES} in Makefile.kern.inc is no longer needed.
|
| 1.28 |
03-Sep-2015 |
uebayasi |
After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.27 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.26 |
01-Sep-2015 |
uebayasi |
Experimental ``suffix rules + subdirectories'' build support (-S).
|
| 1.25 |
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.24 |
01-Sep-2015 |
uebayasi |
Keep track of directory of files internally.
|
| 1.23 |
01-Sep-2015 |
uebayasi |
Use per-suffix lists where appropriate.
|
| 1.22 |
01-Sep-2015 |
uebayasi |
Merge struct objects into struct files. Keep per-suffix file lists.
|
| 1.21 |
29-Aug-2015 |
uebayasi |
Revert "Retire optional `rule' argument of `file' command". It is still used in m68k ports.
|
| 1.20 |
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.19 |
28-Aug-2015 |
uebayasi |
Error out if a given path is absolute.
|
| 1.18 |
17-Nov-2014 |
uebayasi |
Pre-calc file path len/suffix. Misc. clean up.
|
| 1.17 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.16 |
09-Oct-2014 |
uebayasi |
FIT_FORCESELECT is never set anywhere.
|
| 1.15 |
09-Oct-2014 |
uebayasi |
Define an implicit attribute "netbsd" internally to collect files that don't belong to any specific attribute.
Eventually, all operations doing "foreach (files)" can be rewritten as "foreach (attributes) foreach (files)".
|
| 1.14 |
09-Oct-2014 |
uebayasi |
If a file is marked by an atom expression, like "file a.c foo", and if the specified expression is an attribute, mark the file as belonging to the attribute.
At this moment this information is not used for any purpose, but can be traced by config -ddd.
|
| 1.13 |
09-Oct-2014 |
uebayasi |
Debug print where things are selected (by user).
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.12 |
21-May-2014 |
dholland |
branches: 1.12.2; avoid error path SIGSEGV
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.11 |
11-Mar-2012 |
dholland |
branches: 1.11.2; 1.11.8; Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.10 |
13-Mar-2009 |
cube |
branches: 1.10.6; Actually allow a full expression for the condition for "makeoptions" in files.*
Patch from Yorick Hardy.
|
| 1.9 |
20-Jan-2009 |
drochner |
branches: 1.9.2; Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
| 1.8 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.7 |
30-Nov-2007 |
dsl |
Be more informative about duplicated device names.
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.6 |
13-Jan-2007 |
christos |
branches: 1.6.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.5 |
26-Dec-2006 |
alc |
CID-4275: don't leak `fixdevmtab'
|
|
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.4 |
27-Sep-2006 |
christos |
Coverity CID 175: Avoid memory leak; add new function to destroy a hash table.
|
| 1.3 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.2 |
07-Nov-2005 |
erh |
Remove special hack for swapnetbsd.c when generating the makefile. Instead, just add it to the list of files. Make "prefix foo" lines actually work right when foo is an absolute path, and make sure the length calculations correspond to the output. Provide a way to specify a file that will always be included, and a way to omit the prologue ("$S/") on that file.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.57 |
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-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.56 |
26-Jul-2020 |
uwe |
Add debug output for ENDDEFS.
This makes it more clear in the debug output where config switched from definitions to selections.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.55 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: netbsd-8-3-RELEASE is-mlppp-base netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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
|
| 1.54 |
07-Aug-2016 |
christos |
branches: 1.54.14; 1.54.16; Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.53 |
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.52 |
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.51 |
01-Sep-2015 |
uebayasi |
Merge struct objects into struct files. Keep per-suffix file lists.
|
| 1.50 |
31-Aug-2015 |
uebayasi |
Restore the old behavior of "maxusers" to allow the value to be overriden. Problem reported by John D. Baker.
|
| 1.49 |
29-Aug-2015 |
uebayasi |
Convert MAXUSERS, take 2.
Define MAXUSERS in opt_param.h and include it from sys/param.h, for more accurate dependency. Don't define -DMAXUSERS and add it to ${CPPFLAGS}. config(5)'s "maxusers" syntax doesn't change.
(The version just before revert was OK, but I had something bad in my obj dirs.)
|
| 1.48 |
29-Aug-2015 |
uebayasi |
Revert "Retire optional `rule' argument of `file' command". It is still used in m68k ports.
|
| 1.47 |
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.46 |
04-Nov-2014 |
joerg |
makedev returns ~uint64_t, but val is int64_t. Cast for -Wconversion.
|
| 1.45 |
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.
|
| 1.44 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.43 |
10-Oct-2014 |
uebayasi |
Allow dependency on undefined attributes, so that attribute definitions can be written out-of-order, like:
# b is not defined yet define a: b file a.c a
# b is defined here define b fine b.c
|
| 1.42 |
10-Oct-2014 |
uebayasi |
Split plain/interface/devclass attribute initializers.
|
| 1.41 |
09-Oct-2014 |
uebayasi |
Sort definition/selection rules to clarify which is which.
|
| 1.40 |
09-Oct-2014 |
uebayasi |
The word "configuration" is too ambiguous; use "selection" meaning that user selects some of provided "definitions".
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.39 |
29-May-2014 |
mrg |
branches: 1.39.2; implement "no ident".
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.38 |
11-Aug-2013 |
pooka |
branches: 1.38.2; ioconf/pseudo-root have been in here unchanged for 3+ years and their use has spread from rump kernels into dozens of kernel modules. Let's pretend we don't want to see config yell about them being experimental every time.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.37 |
12-Mar-2012 |
dholland |
branches: 1.37.2; Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.36 |
11-Mar-2012 |
dholland |
Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.35 |
11-Mar-2012 |
dholland |
More naming improvements.
|
| 1.34 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.33 |
11-Mar-2012 |
dholland |
Rename a few more things; try to use the same terminology as config(5).
|
| 1.32 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
| 1.31 |
11-Mar-2012 |
dholland |
Strengthen the logic that wraps allocations going on the parser stack. (This allows cleaning up when a syntax error occurs, because yacc just dumps the parser stack on the floor.)
The new logic can handle arbitrary data types instead of being limited to struct nvlist.
|
| 1.30 |
11-Mar-2012 |
dholland |
Write out the expression grammar for dependency constraints instead of using precedence rules. Precedence rules (besides being a hack) often lead to unexpected/unwanted behavior in corner cases.
|
| 1.29 |
11-Mar-2012 |
dholland |
Sort productions in grammar. No functional change.
|
| 1.28 |
11-Mar-2012 |
dholland |
Simplify some things. Rename some productions for clarity.
|
| 1.27 |
11-Mar-2012 |
dholland |
A bit more of previous.
|
| 1.26 |
11-Mar-2012 |
dholland |
Reformat according to (my) basic standards for yacc grammars. No functional change.
|
| 1.25 |
11-Mar-2012 |
dholland |
Comments.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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.24 |
30-Apr-2010 |
pooka |
branches: 1.24.6; For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.23 |
08-Mar-2010 |
pooka |
print ioconf WARNING in caps too
|
| 1.22 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
| 1.21 |
03-Mar-2010 |
pooka |
Remove fs_foo.h support from deffs now that nothing uses it.
|
| 1.20 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.19 |
13-Mar-2009 |
cube |
Actually allow a full expression for the condition for "makeoptions" in files.*
Patch from Yorick Hardy.
|
| 1.18 |
28-Dec-2008 |
christos |
branches: 1.18.2; rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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.17 |
10-Jun-2008 |
drochner |
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.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-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.15 |
11-Nov-2007 |
cube |
branches: 1.15.6; 1.15.8; Don't defattr machinearch if it's NULL. Pointed out by Juergen Hannken-Illjes.
|
| 1.14 |
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...
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.13 |
13-Jan-2007 |
christos |
branches: 1.13.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.12 |
12-Jan-2007 |
cube |
Handle defopt lists properly, as ':=' syntax introduce an additional element... For that, introduce nvcat(nv1, nv2).
|
| 1.11 |
09-Jan-2007 |
cube |
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.
|
|
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.10 |
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!
|
| 1.9 |
30-Aug-2006 |
matt |
Allow deffs to take dependencies like defflag and defopt
|
| 1.8 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.7 |
04-Jun-2006 |
cube |
D'uh. Forgot the file name argument in the "obsolete" statements.
|
| 1.6 |
25-May-2006 |
cube |
Introduce two new statements:
obsolete defflag <option> [, <option> [, ...]] obsolete defparam <option> [, <option> [, ...]]
The two statements actually do the same thing (there could be only one), but it makes things less cryptic that way. The optional ": deps" part of a 'defflag' or 'defparam' still has to be dropped when it gets obsoleted.
When the user has 'options OBSOLETE_OPTION' in his configuration file, it is ignored (that is, opt_*.h files are generated as if it wasn't there), and the user gets a warning about it.
Bump version to 20060525.
When someone first uses that syntax in the tree, a "version 20060525" statement should be added before its occurrence, preferably at the top of sys/conf/files.
Suggested by Matt Thomas a few months ago.
|
| 1.5 |
11-Feb-2006 |
cube |
branches: 1.5.2; Add 'no config <name>'.
|
| 1.4 |
12-Oct-2005 |
cube |
Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.3 |
30-Sep-2005 |
cube |
Introduce two new statements:
no device at <attachment>
<attachment> can take two forms: either numbered/wildcarded, in which case only exactly matching instances will be removed, or plain (with no number or wildcard), in which case all matching instances will be removed.
When <attachment> is a plain interface attribute, all instances using that attribute (either directly or through an explicit device) will be removed.
E.g.: auich* at pci? dev ? function ? audio0 at audiobus? audio1 at auich? audio* at auich0
no device at auich0 -> removes audio* no device at auich? -> removes audio1 no device at auich -> removes audio1 _and_ audio* no device at audiobus? -> removes audio0 no device at audiobus -> removes audio0, audio1 and audio*
no <device>
As in the previous case, <device> can either be numbered/starred, in which case all exactly matching instances are removed, or plain, in which case all instances of the device are removed.
E.g.: (continuing previous example)
no audio* -> removes 'audio* at auich0' no audio -> removes all audio instances
|
| 1.2 |
10-Sep-2005 |
martin |
Move package/cinclude/include handling from the parser to the scanner, where it belongs. This has the side effect of fixing PR toolchain/30903.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.12 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.11 |
29-Oct-2014 |
christos |
branches: 1.11.28; - add RCSID's - fix -Wconversion (except scanner)
|
| 1.10 |
12-Oct-2014 |
uebayasi |
Fix typos in previous.
|
| 1.9 |
12-Oct-2014 |
uebayasi |
Make hash capable of taking two key strings.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.8 |
12-Mar-2012 |
dholland |
branches: 1.8.10; Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.7 |
12-Mar-2012 |
dholland |
Introduce type-safe wrappers around the hash tables. Use them for a selected set of tables affected by the next nvlist cleanup in the works.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.6 |
11-Apr-2009 |
lukem |
branches: 1.6.6; Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.5 |
27-Dec-2006 |
alc |
branches: 1.5.20; Fix a typo in ht_free() which caused the last list of the hashtable to be ignored. It caused config(1) to crash on the following assert() if the list was used.
This bug shows up after the recent change in files.c which fixed a memory leak.
pointed out by dogcow@ reviewed by cube@
|
|
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.4 |
27-Sep-2006 |
christos |
Coverity CID 175: Avoid memory leak; add new function to destroy a hash table.
|
| 1.3 |
03-Sep-2006 |
dsl |
There isn't really any point in the 'union' for nv_str and nv_ptr, all it does is cause confusion when I try to add default values for defparam. Also if malloc()/free() aren't efficient enough for us, we ought to fix them rather than having local free list - so kill the local free lists.
|
| 1.2 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.17 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.16 |
12-Oct-2021 |
christos |
branches: 1.16.4; PR/56453: Wataru Ashihara: config(1): Assertion fails in config -L Only compare pointers when one is found.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.15 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.14 |
20-Mar-2012 |
matt |
branches: 1.14.10; Use C89 function definitions
|
| 1.13 |
12-Mar-2012 |
dholland |
Remove the NV_OBSOLETE flag, which is no longer needed. While here, update an outdated comment about condition expressions.
|
| 1.12 |
12-Mar-2012 |
dholland |
Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.11 |
12-Mar-2012 |
dholland |
Introduce type-safe wrappers around the hash tables. Use them for a selected set of tables affected by the next nvlist cleanup in the works.
|
| 1.10 |
11-Mar-2012 |
dholland |
Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.9 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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 matt-premerge-20091211
|
| 1.8 |
30-Aug-2009 |
cube |
branches: 1.8.6; For {pseudo-,}devices, check if an instance of the pseudo or the considered attachment of the device has already been done by the template config file. If so, don't emit a line. Reported by John Nemeth.
|
|
Revision tags: jym-xensuspend-nbase jym-xensuspend-base
|
| 1.7 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
|
| 1.6 |
29-Apr-2008 |
martin |
Convert to new 2 clause license
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.5 |
10-Sep-2007 |
cube |
branches: 1.5.6; Some more licence clean up.
|
|
Revision tags: matt-mips64-base
|
| 1.4 |
10-Jan-2007 |
cube |
branches: 1.4.4; Change the name of the resulting kernel binary, because "lint" confuses our Makefiles. While there, add a couple comments to explain how all attachments are found.
|
| 1.3 |
09-Jan-2007 |
cube |
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.2 |
08-Jan-2007 |
cube |
Print pseudo-devices in their own section and print all of them (d'oh).
|
| 1.1 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.102 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.101 |
18-Jan-2024 |
thorpej |
branches: 1.101.2; 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-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.100 |
03-Apr-2020 |
joerg |
Avoid depending on common symbols.
|
| 1.99 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: is-mlppp-base netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
| 1.98 |
24-Dec-2018 |
christos |
branches: 1.98.2; yydebug is now defined only if YYDEBUG is
|
|
Revision tags: 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
|
| 1.97 |
28-Nov-2017 |
christos |
branches: 1.97.2; 1.97.4; - make the level computation consistent - keep going only if things changed.
|
| 1.96 |
27-Nov-2017 |
christos |
use a reference count to avoid deleting psrefs still in use.
|
| 1.95 |
24-Nov-2017 |
christos |
- Instead of checking the recursion level before we recurse, check in on function entry. - Always decrement the level and reset levelparent on exit.
|
| 1.94 |
18-Nov-2017 |
christos |
add more debugging, no functional change.
|
| 1.93 |
18-Nov-2017 |
christos |
avoid creating infinite loops.
|
| 1.92 |
16-Nov-2017 |
christos |
When deleting orphans detect parent<->child loops and break them. "active" is not a boolean, use the right comparison.
|
|
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 perseant-stdc-iso10646-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
|
| 1.91 |
05-Sep-2016 |
sevan |
branches: 1.91.6; Drop main() prototype.
|
| 1.90 |
07-Aug-2016 |
christos |
Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.89 |
04-Sep-2015 |
uebayasi |
*.o files don't need special handling at all now. Makefile.kern.inc knows *.o input files don't need to get compiled, but need to get linked.
|
| 1.88 |
03-Sep-2015 |
uebayasi |
After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.87 |
03-Sep-2015 |
uebayasi |
Fix build.
|
| 1.86 |
03-Sep-2015 |
uebayasi |
In `-S' mode, create symlinks from outside of $S to build directory, for files that are placed outside of $S, so that `Makefile.kern.inc' can see all files under either $S or build directory.
|
| 1.85 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.84 |
01-Sep-2015 |
uebayasi |
Experimental ``suffix rules + subdirectories'' build support (-S).
|
| 1.83 |
01-Sep-2015 |
uebayasi |
Prepare to build subdirectories. Not enabled yet.
|
| 1.82 |
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.81 |
31-Aug-2015 |
uebayasi |
Restore the old behavior of "maxusers" to allow the value to be overriden. Problem reported by John D. Baker.
|
| 1.80 |
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.79 |
29-Aug-2015 |
uebayasi |
Revert MAXUSERS. CVS is hard.
|
| 1.78 |
29-Aug-2015 |
uebayasi |
Fix previous.
|
| 1.77 |
28-Aug-2015 |
uebayasi |
Global paths looked up at output stage (mk*()) are relative to `srcdir'. Ignore "prefix" by not calling sourcepath().
|
| 1.76 |
08-Aug-2015 |
shm |
Add missed munmap(2) in extract_config
|
| 1.75 |
16-Jun-2015 |
christos |
remove stray newlines from errors/warnings
|
| 1.74 |
22-Jan-2015 |
christos |
appease gcc-4.5.4
|
| 1.73 |
06-Nov-2014 |
uebayasi |
config(1): Rename internal flag to enable modular build
|
| 1.72 |
04-Nov-2014 |
joerg |
To make -Wconversion happy, cast return value of tolower/toupper to char.
|
| 1.71 |
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.
|
| 1.70 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.69 |
18-Oct-2014 |
uebayasi |
Keep track of attribute (module) dependency using hash2.
|
| 1.68 |
14-Oct-2014 |
uebayasi |
Revert implicit attribute (module) declaration for options (flag/param).
Flag and param are to change contents of attributes (modules). These don't have code (*.[coS]).
Filesystem definition still defines an attribute (module) implicitly.
|
| 1.67 |
11-Oct-2014 |
uebayasi |
More debug messages.
|
| 1.66 |
11-Oct-2014 |
uebayasi |
After yyparse() is done, print not file but stage for debug.
|
| 1.65 |
11-Oct-2014 |
uebayasi |
Enable debug for tools.
|
| 1.64 |
10-Oct-2014 |
uebayasi |
Remove an unsed var.
|
| 1.63 |
10-Oct-2014 |
uebayasi |
Revert a mistakenly added, superflous attribute match test that caused some valid options to get lost.
|
| 1.62 |
10-Oct-2014 |
uebayasi |
Select attributes for filesystem options too.
|
| 1.61 |
10-Oct-2014 |
uebayasi |
If an option is selected, select the matching (lowercased) attribute. Handle dependencies too.
|
| 1.60 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for options.
|
| 1.59 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for filesystem.
|
| 1.58 |
09-Oct-2014 |
uebayasi |
Steal -M to enable "modular" build.
|
| 1.57 |
09-Oct-2014 |
uebayasi |
Always select the fallback allattr.
|
| 1.56 |
09-Oct-2014 |
uebayasi |
Debug print where things are selected (by user).
|
| 1.55 |
09-Oct-2014 |
uebayasi |
Add debug print function.
|
|
Revision tags: netbsd-7-base tls-maxphys-base
|
| 1.54 |
09-Aug-2014 |
bad |
branches: 1.54.2; Treat an undefined option as a warning instead of an error when undoing an option.
Allows one to win with declarations like: no options MSGBUFSIZE options MSGBUFSIZE="128*1024"
Briefly discussed with cube@, lukem@ and martin@.
|
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base
|
| 1.53 |
05-May-2014 |
wiz |
Sort options in usage.
|
| 1.52 |
05-May-2014 |
martin |
Add two new options, -U and -D, that can be used to define "makeoptions" on the config command line. While there, rename the undocumented (internal) parser debug option from -D to -d. Discussed on tech-toolchain.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.51 |
01-Nov-2013 |
christos |
branches: 1.51.2; go back to using file:line: from uwe.
|
| 1.50 |
01-Nov-2013 |
christos |
make config errors look more like other programs: <file>,<line>: instead of <file>:<line>:
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.49 |
31-Aug-2012 |
christos |
branches: 1.49.2; Don't support sysctl for the tools version of config. It is too complicated to do so, and config -x is not used during the build.
|
| 1.48 |
30-Aug-2012 |
christos |
make config -x look at the booted kernel first.
|
|
Revision tags: yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.47 |
12-Mar-2012 |
dholland |
Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.46 |
12-Mar-2012 |
dholland |
Introduce type-safe wrappers around the hash tables. Use them for a selected set of tables affected by the next nvlist cleanup in the works.
|
| 1.45 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.44 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.43 |
09-Jul-2011 |
matt |
branches: 1.43.2; When making the symlink for machine -> arch/foo/include also make foo -> arch/foo/include. This allows one to include <foo/bar.h> include <machine/bar.h> which can be handy.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.42 |
22-Mar-2010 |
pooka |
Some drivers want to include ioconf.h, so generate it if doing "ioconf" config.
|
| 1.41 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
| 1.40 |
03-Mar-2010 |
pooka |
reflect previous change in comment
|
| 1.39 |
03-Mar-2010 |
pooka |
Remove fs_foo.h support from deffs now that nothing uses it.
|
| 1.38 |
13-Feb-2010 |
pooka |
Fix off-by-one (config -x works again) and improve editing artifacts (actually the whole "config -x must be used alone" change was made unnecessary along the way. cest la vie).
|
| 1.37 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.36 |
13-Mar-2009 |
cube |
Now that condmkopttab isn't a hash table anymore, don't initialise it with ht_new()... So actually rename it to condmkoptions to avoid confusion.
Reported build failure on amd64 (strange that I wouldn't get it on i386) on current-users by Kurt Schreiner.
|
| 1.35 |
13-Mar-2009 |
cube |
Actually allow a full expression for the condition for "makeoptions" in files.*
Patch from Yorick Hardy.
|
| 1.34 |
14-Feb-2009 |
cube |
Error out if one f the mkxxx() prints an error.
|
| 1.33 |
28-Dec-2008 |
christos |
branches: 1.33.2; rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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
|
| 1.32 |
20-Oct-2008 |
ad |
Don't complain about a missing 'file-system' directive. File system code can be provided by modules.
|
| 1.31 |
16-Oct-2008 |
dholland |
Adjust previous; apb@ points out that _PATH_TMP is provided by compat_defs.h; thus, this shouldn't need a paranoid fallback definition. And, use _PATH_TMP also in the second place that was using a hardwired "/tmp".
|
| 1.30 |
16-Oct-2008 |
dholland |
Fix ridiculously small filename buffer for temporary file and resulting truncation if $TMPDIR is set; also, fix an error path to not leave the temporary file behind. From Gao Ya'nan in PR 39746. While here, use _PATH_TMP instead of a hardwired "/tmp".
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.29 |
30-Aug-2008 |
cube |
In find_declared_option, use the correct hash for file-systems. That way, information about dependencies are actually processed.
|
| 1.28 |
21-Jul-2008 |
lukem |
Remove the \n and tabs from the __COPYRIGHT() strings. Tweak to use a consistent format.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.27 |
10-Jun-2008 |
drochner |
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.26 |
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-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.25 |
15-Dec-2007 |
perry |
branches: 1.25.4; 1.25.6; convert __attribute__s to applicable cdefs.h macros
|
|
Revision tags: cube-autoconf-base
|
| 1.24 |
09-Nov-2007 |
cube |
Don't pollute fsopttab with duplicate options for the sake of a test that has probably been gone for a very long time. Produces identical output.
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.23 |
13-Jan-2007 |
christos |
branches: 1.23.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.22 |
09-Jan-2007 |
cube |
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.21 |
08-Jan-2007 |
cube |
One %s is enough to print one string.
|
| 1.20 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
| 1.19 |
06-Jan-2007 |
cube |
Make deffilesystem check all defined options, not just defopttab (which ought to be empty nowadays).
|
|
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.18 |
29-Oct-2006 |
uwe |
Include <sys/cdefs.h> and use __used on config[] instead of the ifdef dance. Prevents gcc4 from g/c'ing embedded config from VAX kernels.
|
| 1.17 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
| 1.16 |
30-Aug-2006 |
he |
Remove unused local variable.
|
| 1.15 |
30-Aug-2006 |
matt |
Allow deffs to take dependencies like defflag and defopt
|
| 1.14 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.13 |
25-May-2006 |
cube |
Introduce two new statements:
obsolete defflag <option> [, <option> [, ...]] obsolete defparam <option> [, <option> [, ...]]
The two statements actually do the same thing (there could be only one), but it makes things less cryptic that way. The optional ": deps" part of a 'defflag' or 'defparam' still has to be dropped when it gets obsoleted.
When the user has 'options OBSOLETE_OPTION' in his configuration file, it is ignored (that is, opt_*.h files are generated as if it wasn't there), and the user gets a warning about it.
Bump version to 20060525.
When someone first uses that syntax in the tree, a "version 20060525" statement should be added before its occurrence, preferably at the top of sys/conf/files.
Suggested by Matt Thomas a few months ago.
|
| 1.12 |
25-May-2006 |
christos |
s/vax/__vax__/
|
| 1.11 |
24-May-2006 |
christos |
deal with the vax gcc that does not understand __attribute__ used.
|
| 1.10 |
14-May-2006 |
christos |
branches: 1.10.2; gcc-4.0 needs attribute used. Variables with attribute unused get removed.
|
| 1.9 |
19-Mar-2006 |
cube |
Close file on error. CID 176.
|
| 1.8 |
10-Dec-2005 |
cube |
The loop detection code could not detect the negation of an instance that made a device its own parent. Add a test that checks that and stop looping in that special case (after all, everything is already being handled by the parent instance).
Reported by Jukka Salmi on current-user.
|
| 1.7 |
13-Nov-2005 |
cube |
Invert the meaning of a comment to match reality. Pointed out by uwe@.
|
| 1.6 |
04-Oct-2005 |
cube |
Stop walking the tree when two conditions are met: we've seen the device already (one of its instances has been changed), and we have made no change on any of the instances.
Previously, it stopped as soon as it detected the device had been seen. While all the instances of the device at stake were eventually seen, the same wasn't true for its children...
Fixes hpcmips's GENERIC.
|
| 1.5 |
04-Oct-2005 |
cube |
- Make sure to try aliases of removed device instances when walking deaddevitab. - Record the position in the config file of device instances so it is possible to tell if a device instance was declared before or after its parent's removal.
E.g.:
child* at parent? no parent
will have the child instance ignored as an explicit orphan, while
no parent child* at parent?
will error out because now the child instance is a real orphan.
That let the POSTPONED_ORPHAN regression test pass.
|
| 1.4 |
02-Oct-2005 |
cube |
Don't return immediately when detecting that a devbase has already been seen: aliases might have to be activated, too. Fixes GENERIC of alpha and amiga.
|
| 1.3 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.2 |
30-Sep-2005 |
cube |
Rework the way orphan device instances are handled. To achieve that, keep track of instances attaching at root, and walk down the tree of active device instances. Then, all instances that are not marked active are found as orphans.
Doing it that way allows us to simply ignore orphan devices, instead of warning about them and still keep them in the configuration. Now, orphaned instances are considered as never having existed.
In the end, this allows 'no <device> at <attachment>' to be much more efficient, as the user doesn't have to negate all descendents of the instance s/he actually wants to negate. Warnings are still emitted, though.
While there, make official a side-effect of the previous lack of action against orphaned instances: config(1) used to warn about instances that attach at a numbered device when no instance of that device with that number existed, even though there was a starred instance of the device.
E.g. (provided by Alan Barrett):
pciide* at pci? dev ? function ? flags 0x0000 wdc0 at isa? port 0x1f0 irq 14 flags 0x00 wdc1 at isa? port 0x170 irq 15 flags 0x00 atabus* at ata? wd0 at atabus0 drive 0
With this commit, config(1) will no longer warn about 'wd0 at atabus0'.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.16 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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.15 |
16-Jul-2016 |
pgoyette |
branches: 1.15.26; Only emit bdevsw externs for entries in the bdev table, rather than for entries in the cdev table.
|
|
Revision tags: pgoyette-localcount-base
|
| 1.14 |
03-Sep-2015 |
uebayasi |
branches: 1.14.2; After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.13 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.12 |
10-Nov-2014 |
christos |
merge a bit of duplicated code.
|
| 1.11 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 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 tls-maxphys-base 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.10 |
30-Jul-2010 |
cube |
branches: 1.10.24; Emit compatible struct devsw_conv when version is older than 20100430.
|
| 1.9 |
30-Apr-2010 |
pooka |
For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.8 |
15-Apr-2010 |
pooka |
output __arraycount instead of homegrown macro
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.7 |
20-Jan-2009 |
drochner |
Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
|
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 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
|
| 1.6 |
28-Apr-2008 |
martin |
Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.5 |
12-Dec-2007 |
lukem |
branches: 1.5.4; Use a common function to generate the "MACHINE GENERATED" comment, and ensure mkswap.c adds it too.
|
|
Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
|
| 1.4 |
13-Jan-2007 |
christos |
branches: 1.4.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.3 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.2 |
30-Jul-2005 |
yamt |
allow configuration without swap.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.30 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.29 |
03-Sep-2015 |
uebayasi |
branches: 1.29.28; After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.28 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.27 |
20-Aug-2015 |
christos |
move driver attach declarations to ioconf.h
|
| 1.26 |
22-Jan-2015 |
christos |
appease gcc-4.5.4
|
| 1.25 |
04-Nov-2014 |
joerg |
To make -Wconversion happy, cast return value of tolower/toupper to char.
|
| 1.24 |
30-Oct-2014 |
christos |
remove overflow test that triggered for negative values; we only care about the hash here.
|
| 1.23 |
30-Oct-2014 |
christos |
print more info about the overflow
|
| 1.22 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.21 |
12-Mar-2012 |
dholland |
branches: 1.21.10; Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.20 |
12-Mar-2012 |
dholland |
Introduce type-safe wrappers around the hash tables. Use them for a selected set of tables affected by the next nvlist cleanup in the works.
|
| 1.19 |
11-Mar-2012 |
dholland |
Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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.18 |
22-Mar-2010 |
pooka |
branches: 1.18.6; Some drivers want to include ioconf.h, so generate it if doing "ioconf" config.
|
| 1.17 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211
|
| 1.16 |
13-May-2009 |
cube |
Dependency on config_time.src was removed today from Makefile.kern.inc, so starting from that date it's not necessary to create it. (Of course that won't happen until config version is bumped for some other reason.)
|
|
Revision tags: jym-xensuspend-nbase jym-xensuspend-base
|
| 1.15 |
11-Apr-2009 |
lukem |
Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
| 1.14 |
28-Dec-2008 |
christos |
branches: 1.14.2; rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.13 |
09-Nov-2007 |
cube |
Don't pollute fsopttab with duplicate options for the sake of a test that has probably been gone for a very long time. Produces identical output.
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.12 |
12-May-2007 |
dsl |
branches: 1.12.4; Enable the code that adds global constants to every kernel object file that uses each configuration parameter. This will stop kernel objects build with different options (that come from config files) being linked together or loaded as a LKM. Currently some options that have an effect on the kernel DDI/KI are passed directly as parameters to cc. An aim (for anyone adequately bored) would be to reduce the number of these constants that appear in each .o file. .o files with the same constants should be sharable between kernels (even between XEN and i386).
|
| 1.11 |
10-May-2007 |
dsl |
Use '.equ' instead of '.set' when defining global constants. On alpha '.set' has a non-standard purpose.
|
| 1.10 |
13-Jan-2007 |
christos |
- rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.9 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
| 1.8 |
04-Sep-2006 |
christos |
make this compile again.
|
| 1.7 |
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!
|
| 1.6 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.5 |
25-May-2006 |
cube |
Introduce two new statements:
obsolete defflag <option> [, <option> [, ...]] obsolete defparam <option> [, <option> [, ...]]
The two statements actually do the same thing (there could be only one), but it makes things less cryptic that way. The optional ": deps" part of a 'defflag' or 'defparam' still has to be dropped when it gets obsoleted.
When the user has 'options OBSOLETE_OPTION' in his configuration file, it is ignored (that is, opt_*.h files are generated as if it wasn't there), and the user gets a warning about it.
Bump version to 20060525.
When someone first uses that syntax in the tree, a "version 20060525" statement should be added before its occurrence, preferably at the top of sys/conf/files.
Suggested by Matt Thomas a few months ago.
|
| 1.4 |
19-Mar-2006 |
cube |
branches: 1.4.2; Fix various resource leaks, all happenning on error situations (IOW, shortly before exit(1)). CIDs 181, 182, 183, 184 and 185.
|
| 1.3 |
25-Aug-2005 |
drochner |
in locators.h, also emit definitions about the number of locators per interface attribute
|
| 1.2 |
28-Jun-2005 |
drochner |
don't put the xxxcf_locnames[] into the global namespace
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.36 |
05-Apr-2024 |
riastradh |
config(1): Make sort order deterministic.
Ensure we break ties in every case. This way, even though we use the unstable qsort(3) library routine, the output is reproducible, no matter what algorithm is behind qsort(3).
It would be nice if we could just use a stable sort function here, but mergesort(3) is nonstandard, so we'd have to add it to tools/compat, which is a big pain.
Instead, put a tie-breaking rule in every comparison function we use with qsort, and abort() in the event of ties -- that way, we noisily refuse to rely on unstable sort order.
While here, dispense with any question of integer overflow, and sprinkle comments.
PR bin/58115
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base 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
|
| 1.35 |
19-Nov-2017 |
christos |
branches: 1.35.6; 1.35.14; Don't print instances we've already printed.
|
| 1.34 |
18-Nov-2017 |
christos |
Allow multiple attachments methods to the same child+parent combination:
foo* at bar? with baz foo* at bar? with barf
Do this by scanning the list of iba's and allocating a new cfparent for each. Keep track of the shared parent+child combinations by using the same id for them.
|
|
Revision tags: netbsd-8-3-RELEASE 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 perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.33 |
12-Nov-2015 |
pooka |
In ioconfname mode, #define IOCONF as the ioconf token.
Avoids having to retype the name to call config_init/fini_component().
|
| 1.32 |
03-Sep-2015 |
uebayasi |
After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.31 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.30 |
28-Aug-2015 |
uebayasi |
Global paths looked up at output stage (mk*()) are relative to `srcdir'. Ignore "prefix" by not calling sourcepath().
|
| 1.29 |
20-Aug-2015 |
christos |
move driver attach declarations to ioconf.h
|
| 1.28 |
01-Nov-2014 |
uebayasi |
config(1): Don't emit unused empty loc[]
|
| 1.27 |
01-Nov-2014 |
uebayasi |
config(1): Emit pdevinit[] into .rodata
|
| 1.26 |
01-Nov-2014 |
uebayasi |
config(1): Set NULL to unused cfdata::cf_loc
|
| 1.25 |
31-Oct-2014 |
uebayasi |
config(1): Better indent of cfdata in ioconf.c
|
| 1.24 |
31-Oct-2014 |
uebayasi |
config(1): KNF generated ioconf.c
|
| 1.23 |
31-Oct-2014 |
uebayasi |
config(1): Emit only referenced interface attributes in ioconf.c
|
| 1.22 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.21 |
11-Mar-2012 |
dholland |
branches: 1.21.10; Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.20 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase
|
| 1.19 |
03-Mar-2011 |
nakayama |
branches: 1.19.4; Fix build on Solaris 10.
|
|
Revision tags: bouyer-quota2-base matt-mips64-premerge-20101231
|
| 1.18 |
26-Mar-2010 |
pooka |
branches: 1.18.2; Put cfdata* in a similar namespace with cfdriver** cfattachinit*. This was nagging me already yesterday, but I decided to leave it alone for better compat with old ioconf.c builds. But as it turns out, new code depends on newly built ioconf.c with a new config(1) anyway, so renaming is not an issue (at least not at this stage).
While renaming, namespace cfdriver and cfattach in "ioconf" rather than "comp", since the former reflects the config(5) keyword.
|
| 1.17 |
25-Mar-2010 |
pooka |
Generate cfdriver and cfattach lists for ioconf configs.
|
| 1.16 |
03-Feb-2010 |
pooka |
... aaand make the emit-order slightly more sensible for ioconf.c to actually work again.
|
| 1.15 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.14 |
11-Apr-2009 |
lukem |
Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
| 1.13 |
20-Jan-2009 |
drochner |
branches: 1.13.2; Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
| 1.12 |
16-Jan-2009 |
uebayasi |
Better whitespace in ioconf.c output.
|
| 1.11 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.10 |
12-Dec-2007 |
lukem |
Use a common function to generate the "MACHINE GENERATED" comment, and ensure mkswap.c adds it too.
|
|
Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
|
| 1.9 |
13-Jan-2007 |
christos |
branches: 1.9.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.8 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
| 1.7 |
28-Aug-2006 |
christos |
build complete initializations.
|
| 1.6 |
09-Aug-2006 |
drochner |
Make sure that only specisications for _interface_ attributes are emitted, the rest is useless at runtime. saves some bloat in ioconf.c
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.5 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.4 |
30-Sep-2005 |
cube |
Rework the way orphan device instances are handled. To achieve that, keep track of instances attaching at root, and walk down the tree of active device instances. Then, all instances that are not marked active are found as orphans.
Doing it that way allows us to simply ignore orphan devices, instead of warning about them and still keep them in the configuration. Now, orphaned instances are considered as never having existed.
In the end, this allows 'no <device> at <attachment>' to be much more efficient, as the user doesn't have to negate all descendents of the instance s/he actually wants to negate. Warnings are still emitted, though.
While there, make official a side-effect of the previous lack of action against orphaned instances: config(1) used to warn about instances that attach at a numbered device when no instance of that device with that number existed, even though there was a starred instance of the device.
E.g. (provided by Alan Barrett):
pciide* at pci? dev ? function ? flags 0x0000 wdc0 at isa? port 0x1f0 irq 14 flags 0x00 wdc1 at isa? port 0x170 irq 15 flags 0x00 atabus* at ata? wd0 at atabus0 drive 0
With this commit, config(1) will no longer warn about 'wd0 at atabus0'.
|
| 1.3 |
25-Aug-2005 |
drochner |
Replace the "locnames", attached to cfdata, which was solely good for userconf, by more complete information (including default values) about interface attributes, attached to the drivers which provide them.
|
| 1.2 |
28-Jun-2005 |
drochner |
don't put the xxxcf_locnames[] into the global namespace
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.74 |
04-Oct-2024 |
rillig |
config: fix lint warning about "effectively discards 'const'"
No binary change.
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.73 |
05-Apr-2024 |
riastradh |
branches: 1.73.2; config(1): Make sort order deterministic.
Ensure we break ties in every case. This way, even though we use the unstable qsort(3) library routine, the output is reproducible, no matter what algorithm is behind qsort(3).
It would be nice if we could just use a stable sort function here, but mergesort(3) is nonstandard, so we'd have to add it to tools/compat, which is a big pain.
Instead, put a tie-breaking rule in every comparison function we use with qsort, and abort() in the event of ties -- that way, we noisily refuse to rely on unstable sort order.
While here, dispense with any question of integer overflow, and sprinkle comments.
PR bin/58115
|
| 1.72 |
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-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base 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-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
| 1.71 |
27-Aug-2018 |
riastradh |
branches: 1.71.2; 1.71.10; Tag each .c file with the options that might have brought it in.
|
|
Revision tags: 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.70 |
16-Jun-2017 |
christos |
branches: 1.70.4; 1.70.6; un-c99
|
| 1.69 |
15-Jun-2017 |
christos |
Allow multiline makeoptions to work by quoting the newline..
|
|
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 pgoyette-localcount-base
|
| 1.68 |
04-Sep-2015 |
uebayasi |
branches: 1.68.8; Sort files in ${ALLFILES} in the order of parsing of `files.*'.
config(1) reads the first `files.${MACHINE}' when it encounters `machine'. Then it includes common `files.${MACHINE_SUBARCH}', `files.${MACHINE_ARCH}', and MI `sys/conf/files' at last. This change makes the first "file" in `files.${MACHINE}' appear first in ${ALLFILES}.
|
| 1.67 |
04-Sep-2015 |
uebayasi |
Make config(1) output only ${ALLFILES}, selected input files, and pass it to Makefile.kern.inc, where files are filtered by suffix.
|
| 1.66 |
04-Sep-2015 |
uebayasi |
Output ${ALLFILES}, the list of selected *.[csSo] files, sorted in the exact order config(1) parses "file ..." commands in config(5) files. Define ${CFILES}, ${SFILES}, and ${OFILES} as subset of ${ALLFILES} selected by suffix.
|
| 1.65 |
04-Sep-2015 |
uebayasi |
Now Makefile.kern.inc handles swap<kernel>.c compiling/linking nicely, config(1) can become less hackish.
|
| 1.64 |
04-Sep-2015 |
uebayasi |
Share more code by making *.o handling less special.
|
| 1.63 |
03-Sep-2015 |
uebayasi |
Pretty-print `Makefile' output.
|
| 1.62 |
03-Sep-2015 |
uebayasi |
Move `all' target definition to Makefile.kern.inc.
|
| 1.61 |
03-Sep-2015 |
uebayasi |
Define kernel dependency in Makefile.kern.inc.
|
| 1.60 |
02-Sep-2015 |
uebayasi |
Fix build.
|
| 1.59 |
02-Sep-2015 |
uebayasi |
Define ${OBJS} in `Makefile.kern.inc'. Relative paths are not truncated (a/b/c/x.c -> x.c) in `-S' mode. Don't provide some explicit rules for `-S' mode for safety.
|
| 1.58 |
02-Sep-2015 |
uebayasi |
Output relative path for ${CFILES} and ${SFILES} in generated `Makefile'. `Makefile.kern.inc' knows how to deal with $S prefix, so don't bother it in config(1).
|
| 1.57 |
02-Sep-2015 |
uebayasi |
Simplify generated `Makefile' by calculating ${OBJS} from merging ${CFILES}, ${SFILES}, and ${OFILES} except swap<kernel>.o excluded.
|
| 1.56 |
01-Sep-2015 |
uebayasi |
Fix build.
|
| 1.55 |
01-Sep-2015 |
uebayasi |
Experimental ``suffix rules + subdirectories'' build support (-S).
|
| 1.54 |
01-Sep-2015 |
uebayasi |
Use per-suffix lists where appropriate.
|
| 1.53 |
01-Sep-2015 |
uebayasi |
Abstract struct filetype is no longer needed.
|
| 1.52 |
01-Sep-2015 |
uebayasi |
Merge struct objects into struct files. Keep per-suffix file lists.
|
| 1.51 |
01-Sep-2015 |
uebayasi |
Properly handle absolute prefix.
|
| 1.50 |
01-Sep-2015 |
uebayasi |
Refactor emit file functions. No functional changes.
|
| 1.49 |
30-Aug-2015 |
uebayasi |
Revert "Accept only relative paths ...". This will be redone in much better, stricter way.
|
| 1.48 |
30-Aug-2015 |
uebayasi |
Define compile rules in sys/conf/Makefile.kern.inc except those overriden by "file ... compile-with ...". As rules are still explicit, be careful to not override by checking .if !target(xxx.o).
|
| 1.47 |
29-Aug-2015 |
uebayasi |
No need to define swap<kernel>.o build rule.
|
| 1.46 |
29-Aug-2015 |
uebayasi |
Define ``normal'' .c/.S rules as .for loops. Still explicit and ugly, but these will be eventually replaced with suffix rules. Tested x68k where .c/.S rules are overriden with "compile-with".
|
| 1.45 |
29-Aug-2015 |
uebayasi |
Convert MAXUSERS, take 2.
Define MAXUSERS in opt_param.h and include it from sys/param.h, for more accurate dependency. Don't define -DMAXUSERS and add it to ${CPPFLAGS}. config(5)'s "maxusers" syntax doesn't change.
(The version just before revert was OK, but I had something bad in my obj dirs.)
|
| 1.44 |
29-Aug-2015 |
uebayasi |
Revert MAXUSERS changes. Need fresh air.
|
| 1.43 |
29-Aug-2015 |
uebayasi |
Define MAXUXERS in opt_param.h. Bump config(1) version.
|
| 1.42 |
29-Aug-2015 |
uebayasi |
Revert "Retire optional `rule' argument of `file' command". It is still used in m68k ports.
|
| 1.41 |
28-Aug-2015 |
uebayasi |
Simplify.
|
| 1.40 |
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.39 |
28-Aug-2015 |
uebayasi |
Accept only relative paths (from $S) for `file' and `object'. Simplify code. config(1) does not need to be super-smart about path handling, because it is usually used with make(1), that is much smarter.
Pre-compiled object files, specified using `object', are regarded as read-only input, thus they should be put under $S (or $S/..), as part of a source tree.
|
| 1.38 |
28-Aug-2015 |
uebayasi |
Global paths looked up at output stage (mk*()) are relative to `srcdir'. Ignore "prefix" by not calling sourcepath().
|
| 1.37 |
15-Dec-2014 |
uebayasi |
Revert debug code. Simplify.
|
| 1.36 |
15-Dec-2014 |
uebayasi |
config(1): Fix build of old trees (bin/49389) (take 2)
Look into sys/conf/Makefile.kern.inc to check if "build_kernel" .USE target is defined. If not (== old source trees), generate one on the fly.
|
| 1.35 |
15-Dec-2014 |
uebayasi |
config(1): Fix build of old tree (bin/49389)
Define the default, empty "build_kernel" target, so that old source trees, whose sys/conf/Makefile.kern.inc don't have "build_kernel" .USE target, can be built.
(When "build_kernel" is defined, the target is overriden, as far as sys/conf/Makefile.kern.inc is included later than the "netbsd: ..." definition in sys/arch/*/conf/Makefile.*.)
This should address PR bin/49389.
|
| 1.34 |
21-Nov-2014 |
christos |
Use proper index types, delete casts, use correct sizeof() in allocations.
|
| 1.33 |
17-Nov-2014 |
uebayasi |
Pre-calc file path len/suffix. Misc. clean up.
|
| 1.32 |
16-Nov-2014 |
uebayasi |
Fix oops in r1.30.
|
| 1.31 |
16-Nov-2014 |
uebayasi |
Simpfily code by assuming suffix is a single character.
|
| 1.30 |
16-Nov-2014 |
uebayasi |
Refactor.
|
| 1.29 |
16-Nov-2014 |
uebayasi |
Consistently wrap long lines in ioconf.c.
|
| 1.28 |
15-Nov-2014 |
uebayasi |
config(1): Avoid buffer overrun (modular build)
|
| 1.27 |
15-Nov-2014 |
uebayasi |
config(1): Sort objects by weight in modular build
Sort per-module kernel objects (*.ko) by dependency weight. Important modules are placed in lower addresses. The ``machdep'' module will be always placed in the lowest.
(At this moment, the order is not exact because dependency information is incomplete in config files (files.*). Thus ``sysmon_power.ko'' comes lower than ``machdep.ko'' and/or ``uvm.ko''; but still much better than alphabetical sort.)
|
| 1.26 |
06-Nov-2014 |
uebayasi |
config(1): Rename internal flag to enable modular build
|
| 1.25 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.24 |
09-Oct-2014 |
uebayasi |
Style.
|
| 1.23 |
09-Oct-2014 |
uebayasi |
FIT_NOPROLOGUE is never set anywhere.
|
| 1.22 |
09-Oct-2014 |
uebayasi |
Kill more unused indent code in emitfiles().
|
| 1.21 |
09-Oct-2014 |
uebayasi |
Steal -M to enable "modular" build.
|
| 1.20 |
09-Oct-2014 |
uebayasi |
Print one file per line. Simplify code.
|
| 1.19 |
09-Oct-2014 |
uebayasi |
Correct inverted logic.
|
| 1.18 |
09-Oct-2014 |
uebayasi |
Implement code to generate Makefile to build netbsd via intermediate relocatable object files. Disabled for now. Commit this for further experiments.
Kernel (netbsd) has been built as:
netbsd: *.o ld -o netbsd *.o
Change this to:
netbsd: *.ko ld -o netbsd *.ko acpica.ko: ${OBJS.acpica} ld -r acpica.ko ${OBJS.acpica} :
You can call *.ko as a module, but this is not only beneficial for loadable module, but also localize related text/data. Various options/flags/params will be able to be per-ko. Unnecessary symbols can be hidden. Many ideas will follow.
|
| 1.17 |
18-Aug-2014 |
joerg |
Restore explicit rule for swap*.o.
|
| 1.16 |
17-Aug-2014 |
joerg |
Reorganize symbol table embedding. The existing option SYMTAB_SPACE is replaced by the make option COPY_SYMTAB set to any value. The copy of the symbol table is no longer put into a buffer in kern_ksyms.o, but a small helper object. This object is build first with a dummy size, then the kernel is linked to compute the real dimension of the symbol table buffer. After that, the helper object is rebuild and the kernel linked again.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.15 |
08-Jun-2012 |
martin |
branches: 1.15.10; If we build several kernel (variants) within the same build directory, bad things may happen in a parallel build - especially with rules like the automatic size adjustment for SYMTAB_SPACE, see long standing failure of evbarm on the build cluster. Easy fix: .WAIT for each config to complete, before going on with the next. Low impact, only minor loss of paralellism, and only in cases where needed.
|
|
Revision tags: yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.14 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
|
Revision tags: 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 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.13 |
11-Apr-2009 |
lukem |
branches: 1.13.6; 1.13.8; Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
| 1.12 |
13-Mar-2009 |
cube |
Now that condmkopttab isn't a hash table anymore, don't initialise it with ht_new()... So actually rename it to condmkoptions to avoid confusion.
Reported build failure on amd64 (strange that I wouldn't get it on i386) on current-users by Kurt Schreiner.
|
| 1.11 |
13-Mar-2009 |
cube |
Actually allow a full expression for the condition for "makeoptions" in files.*
Patch from Yorick Hardy.
|
| 1.10 |
20-Feb-2009 |
cube |
Ignore line starting with # in Makefile.${arch}. It might be valid make(1) syntax to have a line that starts with # that is not comment, but well, let's just say it's not valid syntax for Makefile.${arch}.
Breakage on a couple archs reported by he@.
|
| 1.9 |
15-Feb-2009 |
enami |
Fix compiler warning.
|
| 1.8 |
15-Feb-2009 |
cube |
- Allow substition of options values in the generated Makefile using the syntax %OPTION%. - Make it possible to specify a syntax version information in the Makefile. - Bump version to 20090214.
|
|
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
|
| 1.7 |
16-Jul-2008 |
kent |
branches: 1.7.6; * emitrules() - code cleanup - support for extensions of which length is not 1
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.6 |
13-Jan-2007 |
christos |
branches: 1.6.12; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.5 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.4 |
19-Mar-2006 |
cube |
Proper resource handling in mkmakefile(). Coverity CIDs: 186, 187, 188 and 189.
|
| 1.3 |
07-Nov-2005 |
erh |
The swap*.o files actually do need to be specified on the individual kernel build lines instead of in ${OBJS}. Partially revert previous change.
|
| 1.2 |
07-Nov-2005 |
erh |
Remove special hack for swapnetbsd.c when generating the makefile. Instead, just add it to the list of files. Make "prefix foo" lines actually work right when foo is an absolute path, and make sure the length calculations correspond to the output. Provide a way to specify a file that will always be included, and a way to omit the prologue ("$S/") on that file.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.10 |
03-Sep-2015 |
uebayasi |
After thought, revert "Generate *.c files under conf/". Generate *.c files under top build directory. *.c files are never placed just under $S/. Keep this exclusiveness.
|
| 1.9 |
02-Sep-2015 |
uebayasi |
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated .c files to the `files' list internally.
|
| 1.8 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 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 tls-maxphys-base 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 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.7 |
20-Jan-2009 |
drochner |
branches: 1.7.26; Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
| 1.6 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
| 1.5 |
19-Dec-2008 |
pgoyette |
Store config(1)'s root filesystem type as a text string rather than embedding the address of its xxx_mountroot() in swapnetbsd.c. This permits booting of kernels with hard-wired filesystem type even if the filesystem is in a loadable module (ie, not linked into the kernel image).
Discussed on current-users. Tested on amd64 and i386 with both hard- wired and '?' filesystem times, and on both modular and monolithic kernels.
Thanks to pooka@ for code review and suggestions.
Addresses my PR kern/40167
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.4 |
12-Dec-2007 |
lukem |
Use a common function to generate the "MACHINE GENERATED" comment, and ensure mkswap.c adds it too.
|
|
Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
|
| 1.3 |
13-Jan-2007 |
christos |
branches: 1.3.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.2 |
04-Oct-2006 |
dsl |
Instead of trying to check the return value of every fprintf() and fputs() call - which makes the code completely impossibly to follow, call fflush() and ferror() just prior to calling fclose(). This has the advantage of actually detecting the any write errors, since the output is block bufferred and will typically not happen during fprintf() but only during the fclose() - where it is difficult to report. I also singlilarly refuse to add (void) casts to every printf call in the system - since it almost never makes any sense to look at the return value (unless you want to know how many bytes were actually writtem).
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.12 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.11 |
05-Apr-2024 |
riastradh |
branches: 1.11.2; config(1): Make sort order deterministic.
Ensure we break ties in every case. This way, even though we use the unstable qsort(3) library routine, the output is reproducible, no matter what algorithm is behind qsort(3).
It would be nice if we could just use a stable sort function here, but mergesort(3) is nonstandard, so we'd have to add it to tools/compat, which is a big pain.
Instead, put a tie-breaking rule in every comparison function we use with qsort, and abort() in the event of ties -- that way, we noisily refuse to rely on unstable sort order.
While here, dispense with any question of integer overflow, and sprinkle comments.
PR bin/58115
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.10 |
12-Sep-2015 |
joerg |
branches: 1.10.18; 1.10.26; Negating an integer and comparing it to 1 is a fancy way of checking for 0, which in this case would be DEVI_ORPHAN. That clearly can't be the intention here, so switch to using != as operation without negation instead.
|
| 1.9 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 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 tls-maxphys-base 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.8 |
08-Mar-2010 |
pooka |
branches: 1.8.24; Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
| 1.7 |
21-Jan-2010 |
pooka |
Add static to packdevi() like the local prototype says.
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.6 |
11-Apr-2009 |
lukem |
Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.5 |
13-Jan-2007 |
christos |
branches: 1.5.20; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
|
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.4 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.3 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.2 |
30-Sep-2005 |
cube |
Rework the way orphan device instances are handled. To achieve that, keep track of instances attaching at root, and walk down the tree of active device instances. Then, all instances that are not marked active are found as orphans.
Doing it that way allows us to simply ignore orphan devices, instead of warning about them and still keep them in the configuration. Now, orphaned instances are considered as never having existed.
In the end, this allows 'no <device> at <attachment>' to be much more efficient, as the user doesn't have to negate all descendents of the instance s/he actually wants to negate. Warnings are still emitted, though.
While there, make official a side-effect of the previous lack of action against orphaned instances: config(1) used to warn about instances that attach at a numbered device when no instance of that device with that number existed, even though there was a starred instance of the device.
E.g. (provided by Alan Barrett):
pciide* at pci? dev ? function ? flags 0x0000 wdc0 at isa? port 0x1f0 irq 14 flags 0x00 wdc1 at isa? port 0x170 irq 15 flags 0x00 atabus* at ata? wd0 at atabus0 drive 0
With this commit, config(1) will no longer warn about 'wd0 at atabus0'.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.37 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
| 1.36 |
13-Aug-2024 |
uwe |
config: fix ctype(3) argument casts
See CAVEATS. Doesn't matter here in practice, but that's not an excuse to set a bad example.
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.35 |
18-Jan-2024 |
thorpej |
branches: 1.35.2; 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-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.34 |
10-Sep-2021 |
rillig |
usr.bin: remove unnecessary lint comment CONSTCOND
Since 2021-01-31, lint no longer warns about 'do ... while (0)'.
No functional change.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.33 |
26-Jul-2020 |
uwe |
Don't print the location of the include directive twice.
cfgdbg() already prints the current file and line number, so don't print the same information ourselves in the message too.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.32 |
03-Apr-2020 |
joerg |
Avoid depending on common symbols.
|
| 1.31 |
09-Mar-2020 |
christos |
Add an enabled bit to keep track of the parent state (if we are ignoring or parsing). Idea from uwe.
|
| 1.30 |
08-Mar-2020 |
christos |
Add debugging, no functional change.
|
| 1.29 |
08-Mar-2020 |
christos |
Recognize {if{,n}def,elfif{,n}def,else,endif} only at the beginning of the line or after whitespace.
|
| 1.28 |
07-Mar-2020 |
christos |
PR/55057: Paul Goyette: Don't use % 6 arithmetic that hurts the brain for the ifdef state machine, use bits and shifts instead. Also don't forget to restore the state once an include file ends.
|
| 1.27 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: is-mlppp-base netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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
|
| 1.26 |
07-Aug-2016 |
christos |
branches: 1.26.6; 1.26.14; 1.26.16; Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.25 |
04-Sep-2015 |
uebayasi |
Sort files in ${ALLFILES} in the order of parsing of `files.*'.
config(1) reads the first `files.${MACHINE}' when it encounters `machine'. Then it includes common `files.${MACHINE_SUBARCH}', `files.${MACHINE_ARCH}', and MI `sys/conf/files' at last. This change makes the first "file" in `files.${MACHINE}' appear first in ${ALLFILES}.
|
| 1.24 |
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.23 |
16-Jun-2015 |
christos |
remove stray newlines from errors/warnings
|
| 1.22 |
07-Nov-2014 |
christos |
- simplify string parsing - emalloc + sprintf = easprintf
|
| 1.21 |
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.
|
| 1.20 |
29-Oct-2014 |
christos |
cast to signed, since that's all we have.
|
| 1.19 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.18 |
11-Oct-2014 |
uebayasi |
On second thought, resolving "device" dependency in enddefs() is correct. The problem was to select things. So put back the code to record dependency as attributes.
While here, sprinkle more debug messages.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.17 |
20-Mar-2012 |
matt |
branches: 1.17.10; Use C89 function definitions
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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.16 |
30-Apr-2010 |
pooka |
branches: 1.16.6; For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.15 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
| 1.14 |
03-Feb-2010 |
pooka |
Introduce experimental support for ioconf-only configuration files. This is done by giving the "ioconf" keyword in the config file. As a result, config produces only ioconf.c and locators.h. Currently, only "monolithic" configurations with the device path starting from root are supported. Eventually, the goal is to support a local root in the input file from any point along the device tree using files.* in our kernel tree. This will make autogenerating the config glue for device modules possible instead of having to write it by hand like is currently required (yes, it sounds simple to implement, but ...).
reviewed by cube. (the next part will demand major discussions with you, so prepare ;)
|
|
Revision tags: matt-premerge-20091211
|
| 1.13 |
28-Oct-2009 |
christos |
don't '#define yywrap() 1', use '%option noyywrap'. This is because the #define is doomed to failure if --prefix is used.
|
|
Revision tags: jym-xensuspend-nbase jym-xensuspend-base
|
| 1.12 |
11-Apr-2009 |
lukem |
Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
|
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
|
| 1.11 |
09-Oct-2008 |
dholland |
branches: 1.11.4; Avoid memory leak in error case. From Gao Ya'nan in PR bin/39721.
|
|
Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.10 |
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-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
|
| 1.9 |
09-Nov-2007 |
cube |
branches: 1.9.6; 1.9.8; 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.8 |
09-Nov-2007 |
cube |
- Make include/cinclude/package eat up to the next new-line character. - Fix casts in getincludepath() and re-work it to ignore the unused end of the line.
|
|
Revision tags: matt-armv6-prevmlocking matt-mips64-base
|
| 1.7 |
13-Jan-2007 |
christos |
branches: 1.7.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.6 |
09-Jan-2007 |
cube |
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.
|
|
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.5 |
26-Aug-2006 |
christos |
branches: 1.5.2; Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.4 |
25-May-2006 |
cube |
Introduce two new statements:
obsolete defflag <option> [, <option> [, ...]] obsolete defparam <option> [, <option> [, ...]]
The two statements actually do the same thing (there could be only one), but it makes things less cryptic that way. The optional ": deps" part of a 'defflag' or 'defparam' still has to be dropped when it gets obsoleted.
When the user has 'options OBSOLETE_OPTION' in his configuration file, it is ignored (that is, opt_*.h files are generated as if it wasn't there), and the user gets a warning about it.
Bump version to 20060525.
When someone first uses that syntax in the tree, a "version 20060525" statement should be added before its occurrence, preferably at the top of sys/conf/files.
Suggested by Matt Thomas a few months ago.
|
| 1.3 |
12-Oct-2005 |
cube |
branches: 1.3.2; Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.2 |
10-Sep-2005 |
martin |
Move package/cinclude/include handling from the parser to the scanner, where it belongs. This has the side effect of fixing PR toolchain/30903.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.87 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.86 |
25-Aug-2021 |
rillig |
branches: 1.86.4; config: remove unused local variable
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
|
| 1.85 |
13-Apr-2021 |
mrg |
ensure that pointer is filled in when used upon return.
|
|
Revision tags: phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.84 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: is-mlppp-base netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 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
|
| 1.83 |
09-Apr-2018 |
christos |
branches: 1.83.2; 1.83.4; Keep previous location of device definitions so we can print them in error messages.
|
|
Revision tags: pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.82 |
27-Nov-2017 |
christos |
branches: 1.82.2; use a reference count to avoid deleting psrefs still in use.
|
| 1.81 |
24-Nov-2017 |
christos |
Tidy up error messages, line wraps, initialization. NFC.
|
| 1.80 |
19-Nov-2017 |
kre |
Remove a stray left over debug printf that crashes the builds (ab==NULL).
|
| 1.79 |
18-Nov-2017 |
christos |
Allow multiple attachments methods to the same child+parent combination:
foo* at bar? with baz foo* at bar? with barf
Do this by scanning the list of iba's and allocating a new cfparent for each. Keep track of the shared parent+child combinations by using the same id for them.
|
| 1.78 |
18-Nov-2017 |
christos |
- Factor out the remove_pspec code into a function. - Avoid NULL pointer when printing an error.
|
|
Revision tags: netbsd-8-3-RELEASE 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 perseant-stdc-iso10646-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
|
| 1.77 |
13-Sep-2016 |
christos |
define the attribute first.
|
| 1.76 |
09-Sep-2016 |
christos |
Make attribute deselection work: - when deselecting attributes, remove files that depend on them - when deselecting attributes, remove devices that depend on them
|
| 1.75 |
07-Aug-2016 |
christos |
Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.74 |
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.73 |
29-Aug-2015 |
uebayasi |
Fix previous.
|
| 1.72 |
29-Aug-2015 |
uebayasi |
Define MAXUXERS in opt_param.h. Bump config(1) version.
|
| 1.71 |
21-Nov-2014 |
christos |
Use proper index types, delete casts, use correct sizeof() in allocations.
|
| 1.70 |
15-Nov-2014 |
uebayasi |
config(1): Sort objects by weight in modular build
Sort per-module kernel objects (*.ko) by dependency weight. Important modules are placed in lower addresses. The ``machdep'' module will be always placed in the lowest.
(At this moment, the order is not exact because dependency information is incomplete in config files (files.*). Thus ``sysmon_power.ko'' comes lower than ``machdep.ko'' and/or ``uvm.ko''; but still much better than alphabetical sort.)
|
| 1.69 |
04-Nov-2014 |
joerg |
nv_num is not a dev_t, so add explicit cast for the sake of -Wconversion.
|
| 1.68 |
04-Nov-2014 |
joerg |
To make -Wconversion happy, cast return value of tolower/toupper to char.
|
| 1.67 |
01-Nov-2014 |
uebayasi |
config(1): KNF
|
| 1.66 |
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.
|
| 1.65 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.64 |
18-Oct-2014 |
uebayasi |
Keep track of attribute (module) dependency using hash2.
|
| 1.63 |
12-Oct-2014 |
uebayasi |
Don't shadow global 'devname' on macppc.
|
| 1.62 |
11-Oct-2014 |
martin |
Remove a set but not used variable
|
| 1.61 |
11-Oct-2014 |
uebayasi |
More debug messages.
|
| 1.60 |
11-Oct-2014 |
uebayasi |
On second thought, resolving "device" dependency in enddefs() is correct. The problem was to select things. So put back the code to record dependency as attributes.
While here, sprinkle more debug messages.
|
| 1.59 |
11-Oct-2014 |
uebayasi |
Don't conplain devclass redifition to the same value; it can happen while resolving dependency.
|
| 1.58 |
11-Oct-2014 |
uebayasi |
Redo "device" dependency. It was completely wrong to select things just after definitions at enddefs(). Resolve dependency in selectbase().
|
| 1.57 |
11-Oct-2014 |
uebayasi |
Pass stricter build.
|
| 1.56 |
11-Oct-2014 |
uebayasi |
Resolve "device" definition dependency lazily.
|
| 1.55 |
10-Oct-2014 |
uebayasi |
Allow dependency on undefined attributes, so that attribute definitions can be written out-of-order, like:
# b is not defined yet define a: b file a.c a
# b is defined here define b fine b.c
|
| 1.54 |
10-Oct-2014 |
uebayasi |
If an attribute is selected, select its dependencies too.
|
| 1.53 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for device.
|
| 1.52 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for options.
|
| 1.51 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for filesystem.
|
| 1.50 |
10-Oct-2014 |
uebayasi |
Implicitly define empty "attribute" for "device attachment". Much less troublesome than "device" and "interface attribute".
|
| 1.49 |
10-Oct-2014 |
uebayasi |
Split plain/interface/devclass attribute initializers.
|
| 1.48 |
10-Oct-2014 |
uebayasi |
Refactor attr definition and initialization a little.
|
| 1.47 |
09-Oct-2014 |
uebayasi |
Always select the fallback allattr.
|
| 1.46 |
09-Oct-2014 |
uebayasi |
Define an implicit attribute "netbsd" internally to collect files that don't belong to any specific attribute.
Eventually, all operations doing "foreach (files)" can be rewritten as "foreach (attributes) foreach (files)".
|
| 1.45 |
09-Oct-2014 |
uebayasi |
If a file is marked by an atom expression, like "file a.c foo", and if the specified expression is an attribute, mark the file as belonging to the attribute.
At this moment this information is not used for any purpose, but can be traced by config -ddd.
|
| 1.44 |
09-Oct-2014 |
uebayasi |
Debug print where things are selected (by user).
|
|
Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.43 |
29-May-2014 |
mrg |
branches: 1.43.2; implement "no ident".
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
| 1.42 |
11-Aug-2013 |
pooka |
branches: 1.42.2; ioconf/pseudo-root have been in here unchanged for 3+ years and their use has spread from rump kernels into dozens of kernel modules. Let's pretend we don't want to see config yell about them being experimental every time.
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.41 |
11-Mar-2012 |
dholland |
branches: 1.41.2; Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.40 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.39 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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.38 |
02-May-2010 |
pooka |
branches: 1.38.6; Prefer a real device for pseudoroot and only create a fake device in the case we are attaching to a pure attribute. Otherwise we end up creating a fake device instance every time ...
|
| 1.37 |
01-May-2010 |
pooka |
ignore mainbus in previous for now
|
| 1.36 |
01-May-2010 |
pooka |
Support interface attributes as pseudoroots. This makes things like "pseudo-root audiobus*" possible.
|
| 1.35 |
30-Apr-2010 |
pooka |
For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.34 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
|
Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.33 |
11-Apr-2009 |
lukem |
Fix WARNS=4 issues (-Wcast-qual -Wsign-compare -Wshadow)
|
| 1.32 |
20-Jan-2009 |
drochner |
branches: 1.32.2; Change major()/minor() to return 32-bit types again, called devmajor_t/devminor_t, as proposed on tech-kern. This avoids 64-bit arithmetics and 64-bit printf formats in parts of the kernel where it is not really useful, and helps clarity.
|
| 1.31 |
28-Dec-2008 |
christos |
rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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
|
| 1.30 |
07-Jul-2008 |
cube |
It actually makes no sense to warn on a behaviour that was allowed in previous versions, when we know we're working on an old file. That way, a -current config(1) works on a 4.0 source tree (or older) without warning. Pointed out by Christos Zoulas.
XXX We should set up way to note compatibility code we can get rid of XXX the day we choose to bump CONFIG_MINVERSION.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
|
| 1.29 |
10-Jun-2008 |
drochner |
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
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking cube-autoconf-base matt-armv6-base matt-mips64-base hpcarm-cleanup-base
|
| 1.28 |
06-Apr-2007 |
cube |
branches: 1.28.10; 1.28.12; Add some sanity checking in order to avoid some segfaults. There might be other ways of producing a segfault, but keep in mind those happens when the negation applies to an erroneous instance.
|
| 1.27 |
13-Jan-2007 |
christos |
- rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.26 |
08-Jan-2007 |
cube |
Introduce a new option to config(1): -L. What it does is takes a regular configuration file (although it is meant to be used mostly with std.${ARCH}), and prints out a configuration file that includes it and select every single option and parameter, and define an instance for every single possible attachment. IOW, selects everything, into a would-be "LINT" config.
The resulting config really isn't meant to be runnable, but should be somewhat buildable on most archs. It still needs adjustments because some options are peculiar (e.g., ACPI_DSDT_FILE wants an existing file as its value), so it's not yet possible to do "config -L; config; build" in an automated way.
|
|
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.25 |
09-Nov-2006 |
christos |
eliminate the only alloca use and simplify the code.
|
| 1.24 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base
|
| 1.23 |
07-Aug-2006 |
cube |
Check that the device is not a pseudo-device in deldev(), too (as in deldevi()).
PR#34111 by jmmv@.
|
|
Revision tags: chap-midi-nbase chap-midi-base
|
| 1.22 |
29-Mar-2006 |
cube |
Fix a broken conditional that confused coverity. It cannot happen, anyway. CID 178.
|
| 1.21 |
19-Mar-2006 |
cube |
Panic on an unlikely error condition. CID 177.
|
| 1.20 |
19-Mar-2006 |
cube |
Free a nvlist used temporarily. Found by Coverity, CID 179 and 180.
|
| 1.19 |
25-Feb-2006 |
wiz |
Fix some typos.
|
| 1.18 |
11-Feb-2006 |
cube |
Add 'no config <name>'.
|
| 1.17 |
18-Dec-2005 |
cube |
Having explicit locators is not a sufficient condition to be able to have children for a pseudo-device. Depending on an interface attribute is, though.
Instead of looking at locators, walk the 'attrs' list and look for an interface attribute (which might have been added just a few lines before in case there was explicit locators defined).
Fixes PR#32329 by Valeriy E. Ushakov. Regression test is PSEUDO_PARENT.
|
| 1.16 |
07-Nov-2005 |
erh |
The swap*.o files actually do need to be specified on the individual kernel build lines instead of in ${OBJS}. Partially revert previous change.
|
| 1.15 |
07-Nov-2005 |
erh |
Remove special hack for swapnetbsd.c when generating the makefile. Instead, just add it to the list of files. Make "prefix foo" lines actually work right when foo is an absolute path, and make sure the length calculations correspond to the output. Provide a way to specify a file that will always be included, and a way to omit the prologue ("$S/") on that file.
|
| 1.14 |
12-Oct-2005 |
cube |
Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.13 |
04-Oct-2005 |
cube |
- Make sure to try aliases of removed device instances when walking deaddevitab. - Record the position in the config file of device instances so it is possible to tell if a device instance was declared before or after its parent's removal.
E.g.:
child* at parent? no parent
will have the child instance ignored as an explicit orphan, while
no parent child* at parent?
will error out because now the child instance is a real orphan.
That let the POSTPONED_ORPHAN regression test pass.
|
| 1.12 |
04-Oct-2005 |
cube |
Remove extra new line.
|
| 1.11 |
04-Oct-2005 |
cube |
Add a flag to mark broken instances. That might happen when there is a syntax error in the file, yet we want to somehow gracefully go on in order to print out all the errors in the file, which means we have to take special care with those structures.
Reported by Simon Burge in private mail.
|
| 1.10 |
04-Oct-2005 |
cube |
- Keep track of the file in which we find the device instance - Introduce xwarn() for delayed warnings - Use xerror() and xwarn() in fixdevis() to notify about orphans
That way the correct file is printed when listing orphaned devices.
Reported by Juergen Hannken-Illjes in private mail.
|
| 1.9 |
02-Oct-2005 |
cube |
Allow 'maxusers' redefinition. 'maxusers 0' will cancel the existing value and make config(1) use the machine-dependent default.
|
| 1.8 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.7 |
30-Sep-2005 |
cube |
Introduce two new statements:
no device at <attachment>
<attachment> can take two forms: either numbered/wildcarded, in which case only exactly matching instances will be removed, or plain (with no number or wildcard), in which case all matching instances will be removed.
When <attachment> is a plain interface attribute, all instances using that attribute (either directly or through an explicit device) will be removed.
E.g.: auich* at pci? dev ? function ? audio0 at audiobus? audio1 at auich? audio* at auich0
no device at auich0 -> removes audio* no device at auich? -> removes audio1 no device at auich -> removes audio1 _and_ audio* no device at audiobus? -> removes audio0 no device at audiobus -> removes audio0, audio1 and audio*
no <device>
As in the previous case, <device> can either be numbered/starred, in which case all exactly matching instances are removed, or plain, in which case all instances of the device are removed.
E.g.: (continuing previous example)
no audio* -> removes 'audio* at auich0' no audio -> removes all audio instances
|
| 1.6 |
30-Sep-2005 |
cube |
Rework the way orphan device instances are handled. To achieve that, keep track of instances attaching at root, and walk down the tree of active device instances. Then, all instances that are not marked active are found as orphans.
Doing it that way allows us to simply ignore orphan devices, instead of warning about them and still keep them in the configuration. Now, orphaned instances are considered as never having existed.
In the end, this allows 'no <device> at <attachment>' to be much more efficient, as the user doesn't have to negate all descendents of the instance s/he actually wants to negate. Warnings are still emitted, though.
While there, make official a side-effect of the previous lack of action against orphaned instances: config(1) used to warn about instances that attach at a numbered device when no instance of that device with that number existed, even though there was a starred instance of the device.
E.g. (provided by Alan Barrett):
pciide* at pci? dev ? function ? flags 0x0000 wdc0 at isa? port 0x1f0 irq 14 flags 0x00 wdc1 at isa? port 0x170 irq 15 flags 0x00 atabus* at ata? wd0 at atabus0 drive 0
With this commit, config(1) will no longer warn about 'wd0 at atabus0'.
|
| 1.5 |
07-Aug-2005 |
cube |
- Make sure devitab is correctly handled, in case we're removing the entry it contains, - Properly update the d_ihead list: if we have remaining aliases, use them to fill in the gap
Thanks to Bernd Ernesti for the test cases.
|
| 1.4 |
25-Jul-2005 |
cube |
The devi lists in struct devbase and struct deva really should use the TAILQ set of macros from queue.h... It's way too easy to make mistakes...
config(1) was segfaulting in deldev() in some situations... Reported by Brend Ernesti.
|
| 1.3 |
25-Jul-2005 |
cube |
Correct an if test.
|
| 1.2 |
24-Jul-2005 |
cube |
Implement the long overdue syntax "no <dev> at <attachment>". We can't pretend anymore we don't have it.
This is the result of 7 hours of work on the train journey forth and back to the family reunion for the birthday of my cousin Mickael, whom I thank for living just far away enough.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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
|
| 1.20 |
07-Aug-2016 |
christos |
Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
|
Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.19 |
21-Nov-2014 |
christos |
Use proper index types, delete casts, use correct sizeof() in allocations.
|
| 1.18 |
15-Nov-2014 |
uebayasi |
config(1): Sort objects by weight in modular build
Sort per-module kernel objects (*.ko) by dependency weight. Important modules are placed in lower addresses. The ``machdep'' module will be always placed in the lowest.
(At this moment, the order is not exact because dependency information is incomplete in config files (files.*). Thus ``sysmon_power.ko'' comes lower than ``machdep.ko'' and/or ``uvm.ko''; but still much better than alphabetical sort.)
|
| 1.17 |
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.
|
| 1.16 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.15 |
18-Oct-2014 |
uebayasi |
Keep track of attribute (module) dependency using hash2.
|
| 1.14 |
10-Oct-2014 |
uebayasi |
Allow dependency on undefined attributes, so that attribute definitions can be written out-of-order, like:
# b is not defined yet define a: b file a.c a
# b is defined here define b fine b.c
|
| 1.13 |
10-Oct-2014 |
uebayasi |
Implicitly define attribute for options.
|
| 1.12 |
10-Oct-2014 |
uebayasi |
Implicitly define empty "attribute" for "device attachment". Much less troublesome than "device" and "interface attribute".
|
| 1.11 |
10-Oct-2014 |
uebayasi |
Split plain/interface/devclass attribute initializers.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.10 |
11-Mar-2012 |
dholland |
branches: 1.10.10; Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.9 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.8 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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.7 |
30-Apr-2010 |
pooka |
branches: 1.7.6; For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.6 |
08-Mar-2010 |
pooka |
Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root.
For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b?
You can have one like this: pseudo-root bus_b* device7 at bus_b?
This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components.
This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles).
No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet.
|
|
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-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 jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.5 |
11-Feb-2006 |
cube |
Add 'no config <name>'.
|
| 1.4 |
12-Oct-2005 |
cube |
Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.3 |
01-Oct-2005 |
cube |
o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.2 |
30-Sep-2005 |
cube |
Introduce two new statements:
no device at <attachment>
<attachment> can take two forms: either numbered/wildcarded, in which case only exactly matching instances will be removed, or plain (with no number or wildcard), in which case all matching instances will be removed.
When <attachment> is a plain interface attribute, all instances using that attribute (either directly or through an explicit device) will be removed.
E.g.: auich* at pci? dev ? function ? audio0 at audiobus? audio1 at auich? audio* at auich0
no device at auich0 -> removes audio* no device at auich? -> removes audio1 no device at auich -> removes audio1 _and_ audio* no device at audiobus? -> removes audio0 no device at audiobus -> removes audio0, audio1 and audio*
no <device>
As in the previous case, <device> can either be numbered/starred, in which case all exactly matching instances are removed, or plain, in which case all instances of the device are removed.
E.g.: (continuing previous example)
no audio* -> removes 'audio* at auich0' no audio -> removes all audio instances
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406 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 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 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 pgoyette-localcount-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE agc-symver-base tls-maxphys-base yamt-pagecache-base8 yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base bouyer-quota2-nbase bouyer-quota2-base matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base mjf-devfs2-base yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base cube-autoconf-base hpcarm-cleanup-base
|
| 1.2 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.23 |
07-Jan-2025 |
joe |
clear: trailing whitespaces
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.22 |
18-Jan-2024 |
thorpej |
branches: 1.22.2; 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-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 phil-wifi-20200406
|
| 1.21 |
07-Mar-2020 |
christos |
Keep track where more objects are declared so that we can print where things have been redefined.
|
|
Revision tags: netbsd-8-3-RELEASE is-mlppp-base netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 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 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-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 pgoyette-localcount-base
|
| 1.20 |
01-Sep-2015 |
uebayasi |
branches: 1.20.16; 1.20.18; 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.19 |
29-Oct-2014 |
christos |
- add RCSID's - fix -Wconversion (except scanner)
|
| 1.18 |
11-Oct-2014 |
uebayasi |
Enable debug for tools.
|
| 1.17 |
09-Oct-2014 |
uebayasi |
Add debug print function.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
| 1.16 |
01-Nov-2013 |
christos |
branches: 1.16.4; go back to using file:line: from uwe.
|
| 1.15 |
01-Nov-2013 |
christos |
make config errors look more like other programs: <file>,<line>: instead of <file>:<line>:
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
|
| 1.14 |
12-Mar-2012 |
dholland |
Give option definitions their own data structure instead of using nvlists. (and using messy hacks to make up for nvlists not holding quite the right things)
|
| 1.13 |
11-Mar-2012 |
dholland |
Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.12 |
11-Mar-2012 |
dholland |
Add some organizational comments
|
| 1.11 |
11-Mar-2012 |
dholland |
Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.10 |
11-Mar-2012 |
dholland |
Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
| 1.9 |
10-Mar-2012 |
dholland |
Use __printflike. Build products unchanged.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE 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 netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 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 matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
|
| 1.8 |
28-Dec-2008 |
christos |
branches: 1.8.8; rename nv_int -> nv_num and make it long long, so that dev_t will fit when we change it.
|
|
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 mjf-devfs2-base wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
|
| 1.7 |
12-Dec-2007 |
lukem |
Use a common function to generate the "MACHINE GENERATED" comment, and ensure mkswap.c adds it too.
|
|
Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
|
| 1.6 |
13-Jan-2007 |
christos |
branches: 1.6.4; - rename {x,}error -> cfg{x,}error and {x,}warn -> cfg{x,}warn so that we can use err(3) and warn(3) to display errors instead of using inconsistent fprintf's. - remove emalloc/estrdup etc. We have them in libutil.
|
| 1.5 |
12-Jan-2007 |
cube |
Handle defopt lists properly, as ':=' syntax introduce an additional element... For that, introduce nvcat(nv1, nv2).
|
|
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.4 |
03-Sep-2006 |
dsl |
There isn't really any point in the 'union' for nv_str and nv_ptr, all it does is cause confusion when I try to add default values for defparam. Also if malloc()/free() aren't efficient enough for us, we ought to fix them rather than having local free list - so kill the local free lists.
|
| 1.3 |
26-Aug-2006 |
christos |
Now that this is part of tools, we don't need the extra build glue.
|
|
Revision tags: abandoned-netbsd-4-base chap-midi-nbase chap-midi-base
|
| 1.2 |
04-Oct-2005 |
cube |
- Keep track of the file in which we find the device instance - Introduce xwarn() for delayed warnings - Use xerror() and xwarn() in fixdevis() to notify about orphans
That way the correct file is printed when listing orphaned devices.
Reported by Juergen Hannken-Illjes in private mail.
|
| 1.1 |
05-Jun-2005 |
thorpej |
config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|