Commit Graph

226 Commits

Author SHA1 Message Date
uebayasi
0e6a39b020 After yyparse() is done, print not file but stage for debug. 2014-10-11 09:09:19 +00:00
uebayasi
984251350e Redo "device" dependency. It was completely wrong to select things just
after definitions at enddefs().  Resolve dependency in selectbase().
2014-10-11 09:06:29 +00:00
uebayasi
1140e58262 Pass stricter build. 2014-10-11 06:18:29 +00:00
uebayasi
84fb961fd3 Resolve "device" definition dependency lazily. 2014-10-11 06:07:20 +00:00
uebayasi
93405beec9 Enable debug for tools. 2014-10-11 03:17:40 +00:00
uebayasi
bb4851f85c Remove an unsed var. 2014-10-10 16:17:27 +00:00
uebayasi
9a2063bca6 Revert a mistakenly added, superflous attribute match test that caused some
valid options to get lost.
2014-10-10 15:35:08 +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
wiz
c8fb5a2e0f Fix two typos. 2014-10-10 11:58:59 +00:00
uebayasi
b0d108d368 Document -M. 2014-10-10 11:49:15 +00:00
uebayasi
eac891b935 Put TODO ideas (to keep your fun). 2014-10-10 11:38:42 +00:00
uebayasi
d23bf64337 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
2014-10-10 11:09:50 +00:00
uebayasi
680ed4abc8 Select attributes for filesystem options too. 2014-10-10 10:46:05 +00:00
uebayasi
861847ab35 If an option is selected, select the matching (lowercased) attribute. Handle
dependencies too.
2014-10-10 10:22:49 +00:00
uebayasi
7a01ec4b08 If an attribute is selected, select its dependencies too. 2014-10-10 10:16:19 +00:00
uebayasi
c24abed7e6 Implicitly define attribute for device. 2014-10-10 08:14:47 +00:00
uebayasi
6903e7639b Implicitly define attribute for options. 2014-10-10 07:48:50 +00:00
uebayasi
d88f6cad14 Implicitly define attribute for filesystem. 2014-10-10 07:08:26 +00:00
uebayasi
82e22e6766 Implicitly define empty "attribute" for "device attachment". Much less
troublesome than "device" and "interface attribute".
2014-10-10 06:59:38 +00:00
uebayasi
bd3d511493 Split plain/interface/devclass attribute initializers. 2014-10-10 06:13:30 +00:00
uebayasi
b4d3dfc64a Refactor attr definition and initialization a little. 2014-10-10 05:27:28 +00:00
uebayasi
1c89d26524 Style. 2014-10-09 19:33:43 +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
eb981efe66 Kill more unused indent code in emitfiles(). 2014-10-09 19:22:31 +00:00
uebayasi
7603d666f0 Steal -M to enable "modular" build. 2014-10-09 19:20:56 +00:00
uebayasi
aeeeb994e8 Print one file per line. Simplify code. 2014-10-09 17:36:10 +00:00
uebayasi
745a9de44a Correct inverted logic. 2014-10-09 17:22:55 +00:00
uebayasi
ae77717cc7 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.
2014-10-09 17:00:15 +00:00
uebayasi
3586467df2 Always select the fallback allattr. 2014-10-09 16:08:36 +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
uebayasi
567430ccec Sort definition/selection rules to clarify which is which. 2014-10-09 09:39:24 +00:00
martin
012985802d Provide a CFGDBG version for the tools build. 2014-10-09 07:43:55 +00:00
uebayasi
fc2a41ac40 The word "configuration" is too ambiguous; use "selection" meaning that
user selects some of provided "definitions".
2014-10-09 07:05:01 +00:00
uebayasi
2820acceff Debug print where things are selected (by user). 2014-10-09 06:49:53 +00:00
uebayasi
99af41ba8d Add debug print function. 2014-10-09 06:45:31 +00:00
joerg
aa44bc3b18 Bump CONFIG_VERSION. 2014-08-24 20:22:18 +00:00
joerg
6616828fd2 Restore explicit rule for swap*.o. 2014-08-18 08:07:02 +00:00
joerg
a26164117a 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.
2014-08-17 21:17:43 +00:00
bad
2a950d2831 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@.
2014-08-09 12:40:14 +00:00
wiz
910ba5f05b Bump date for previous. 2014-05-29 08:13:17 +00:00
mrg
ebf7669ed7 implement "no ident". 2014-05-29 07:47:45 +00:00
dholland
d8da1d6013 avoid error path SIGSEGV 2014-05-21 05:25:34 +00:00
wiz
9237f38b59 Sort options in usage. 2014-05-05 21:04:09 +00:00
wiz
5f345558c9 Sort SYNOPSIS. Bump date for previous. 2014-05-05 20:52:45 +00:00
martin
1957b5eaba 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.
2014-05-05 19:08:13 +00:00
riastradh
da030fc8bd `Controller' takes two l's. 2014-03-06 15:00:21 +00:00
wiz
26dba06cb7 Fix some typos found by Rich Neswold and reported in PR 48597. 2014-02-13 22:36:28 +00:00
christos
6fce9f6ad7 go back to using file:line: from uwe. 2013-11-01 21:39:13 +00:00