History log of /src/usr.bin/config/files.c |
Revision | | Date | Author | Comments |
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
|
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.
|
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
|
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).
|
1.12 |
| 21-May-2014 |
dholland | branches: 1.12.2; avoid error path SIGSEGV
|
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.)
|
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.
|
1.7 |
| 30-Nov-2007 |
dsl | Be more informative about duplicated device names.
|
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'
|
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.
|
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.
|
1.6.4.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.9.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.10.6.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.11.8.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.11.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.12.2.1 |
| 06-Mar-2015 |
snj | Pull up following revision(s) (requested by mrg in ticket #572): usr.bin/config/Makefile: up to 1.10 usr.bin/config/TODO: up to 1.14 usr.bin/config/config.1: up to 1.17 usr.bin/config/config.5: up to 1.25 usr.bin/config/defs.h: up to 1.64 usr.bin/config/files.c: up to 1.18 usr.bin/config/gram.y: up to 1.46 usr.bin/config/hash.c: up to 1.11 usr.bin/config/lint.c: up to 1.15 usr.bin/config/main.c: up to 1.74 usr.bin/config/mkdevsw.c: up to 1.12 usr.bin/config/mkheaders.c: up to 1.26 usr.bin/config/mkioconf.c: up to 1.28 usr.bin/config/mkmakefile.c: up to 1.37 usr.bin/config/mkswap.c: up to 1.8 usr.bin/config/pack.c: up to 1.9 usr.bin/config/scan.l: up to 1.22 usr.bin/config/sem.c: up to 1.71 usr.bin/config/sem.h: up to 1.19 usr.bin/config/util.c: up to 1.19 sync config(1) with HEAD.
|
1.36.16.2 |
| 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1875):
usr.bin/config/defs.h: revision 1.109 usr.bin/config/files.c: revision 1.38 usr.bin/config/mkmakefile.c: revision 1.73 usr.bin/config/pack.c: revision 1.11 usr.bin/config/mkioconf.c: revision 1.36
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.36.16.1 |
| 09-Mar-2020 |
martin | Pull up the following, requested by christos in ticket #776:
usr.bin/config/TODO up to 1.32 usr.bin/config/defs.h up to 1.105 usr.bin/config/files.c up to 1.37 usr.bin/config/gram.y up to 1.55 usr.bin/config/main.c up to 1.99 usr.bin/config/scan.l up to 1.30 usr.bin/config/sem.c up to 1.84 usr.bin/config/util.c up to 1.21
config(1): fix issue with incorrect handling of elifdef statements.
|
1.36.14.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.37.6.1 |
| 23-Aug-2024 |
martin | Pull up following revision(s) (requested by riastradh in ticket #798):
usr.bin/config/defs.h: revision 1.109 usr.bin/config/files.c: revision 1.38 usr.bin/config/mkmakefile.c: revision 1.73 usr.bin/config/pack.c: revision 1.11 usr.bin/config/mkioconf.c: revision 1.36
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
|