christos
3a8503931f
Make attribute deselection work:
...
- when deselecting attributes, remove files that depend on them
- when deselecting attributes, remove devices that depend on them
2016-09-09 21:09:11 +00:00
christos
6a9ab0dd0e
Bump version for -no
2016-08-07 21:11:55 +00:00
christos
f138f6c50d
Accept "-no" as a "no" that does not cause errors if the object deleted
...
does not exist.
2016-08-07 10:37:24 +00:00
christos
0f160f0ea7
match the updated <sys/types.h> definition
2016-03-18 15:05:49 +00:00
pooka
d0f0cf2fcb
In ioconfname mode, #define IOCONF as the ioconf token.
...
Avoids having to retype the name to call config_init/fini_component().
2015-11-12 14:38:21 +00:00
uebayasi
9b48d49489
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}.
2015-09-04 10:16:35 +00:00
uebayasi
ce4642ec41
Make config(1) output only ${ALLFILES}, selected input files, and pass it to
...
Makefile.kern.inc, where files are filtered by suffix.
2015-09-04 06:10:47 +00:00
uebayasi
ca8d7a3596
*.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.
2015-09-04 06:01:40 +00:00
uebayasi
bc619545b7
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.
2015-09-03 14:23:52 +00:00
uebayasi
b5b4952dae
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.
2015-09-03 13:53:36 +00:00
uebayasi
eaa72931c4
Move `all' target definition to Makefile.kern.inc.
2015-09-03 09:28:00 +00:00
uebayasi
d891b756ba
Define kernel dependency in Makefile.kern.inc.
2015-09-03 06:09:46 +00:00
uebayasi
7a8426662a
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.
2015-09-02 14:17:03 +00:00
uebayasi
558aab1be0
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).
2015-09-02 13:42:14 +00:00
uebayasi
dccd2cf552
In `-S' mode, generate *.c files under conf/ subdirectory. Register generated
...
.c files to the `files' list internally.
2015-09-02 05:09:25 +00:00
uebayasi
b06817457f
Experimental ``suffix rules + subdirectories'' build support (-S).
2015-09-01 16:01:23 +00:00
uebayasi
57eaa88e97
Bump version for "buildprefix".
2015-09-01 13:45:52 +00:00
uebayasi
2cb009cdd9
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".
2015-09-01 13:42:48 +00:00
uebayasi
974426dd69
Keep track of directory of files internally.
2015-09-01 12:46:20 +00:00
uebayasi
3f0546850b
Clean up struct files.
2015-09-01 12:32:26 +00:00
uebayasi
3374c75eeb
Use per-suffix lists where appropriate.
2015-09-01 12:10:56 +00:00
uebayasi
f5d74fcda3
Abstract struct filetype is no longer needed.
2015-09-01 11:35:46 +00:00
uebayasi
0b130540fb
Merge struct objects into struct files. Keep per-suffix file lists.
2015-09-01 11:22:59 +00:00
uebayasi
a0ed6f857a
Start merging struct files and struct objects.
2015-09-01 10:37:48 +00:00
uebayasi
b877b4042a
Restore the old behavior of "maxusers" to allow the value to be overriden.
...
Problem reported by John D. Baker.
2015-08-31 02:58:25 +00:00
uebayasi
cf356c3efd
Revert "Accept only relative paths ...". This will be redone in much better,
...
stricter way.
2015-08-30 21:58:19 +00:00
uebayasi
623bd6b2aa
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).
2015-08-30 05:12:00 +00:00
uebayasi
0fac7c8310
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.
2015-08-30 01:33:20 +00:00
uebayasi
75298111a7
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.)
2015-08-29 14:07:45 +00:00
uebayasi
9d7c5e580c
Revert MAXUSERS changes. Need fresh air.
2015-08-29 07:33:18 +00:00
uebayasi
4401376950
Define MAXUXERS in opt_param.h. Bump config(1) version.
2015-08-29 07:08:38 +00:00
uebayasi
ca847f032e
Revert "Retire optional `rule' argument of `file' command". It is still used
...
in m68k ports.
2015-08-29 02:54:07 +00:00
uebayasi
54e231918a
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
2015-08-28 09:04:02 +00:00
christos
92a97b467e
move driver attach declarations to ioconf.h
2015-08-20 09:44:24 +00:00
uebayasi
57751c8485
Pre-calc file path len/suffix. Misc. clean up.
2014-11-17 00:53:15 +00:00
uebayasi
70dd8e7d2a
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.)
2014-11-15 08:21:38 +00:00
uebayasi
7710d317bc
config(1): Rename internal flag to enable modular build
2014-11-06 11:40:32 +00:00
uebayasi
e8a6d4b70c
config(1): Start calling module as module
2014-11-01 14:24:45 +00:00
uebayasi
c42523f496
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.
2014-10-31 07:38:36 +00:00
christos
d12b0036c5
- add RCSID's
...
- fix -Wconversion (except scanner)
2014-10-29 17:14:50 +00:00
uebayasi
023c161bb6
Keep track of attribute (module) dependency using hash2.
2014-10-18 06:36:40 +00:00
uebayasi
a38ec9b5de
Make hash capable of taking two key strings.
2014-10-12 05:20:54 +00:00
uebayasi
93405beec9
Enable debug for tools.
2014-10-11 03:17:40 +00:00
uebayasi
92b86764e1
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.
2014-10-10 12:10:02 +00:00
uebayasi
b4d3dfc64a
Refactor attr definition and initialization a little.
2014-10-10 05:27:28 +00:00
uebayasi
b35679c08e
FIT_FORCESELECT is never set anywhere.
2014-10-09 19:27:04 +00:00
uebayasi
9a04781594
FIT_NOPROLOGUE is never set anywhere.
2014-10-09 19:24:36 +00:00
uebayasi
7603d666f0
Steal -M to enable "modular" build.
2014-10-09 19:20:56 +00:00
uebayasi
adf6a4556b
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)".
2014-10-09 15:25:26 +00:00
uebayasi
fa3d850434
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.
2014-10-09 10:29:36 +00:00