Commit Graph

206 Commits

Author SHA1 Message Date
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
christos
8ae3ff1668 make config errors look more like other programs: <file>,<line>:
instead of <file>:<line>:
2013-11-01 17:09:59 +00:00
pooka
26b4d3d169 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.
2013-08-11 10:37:08 +00:00
christos
fbb3db86f7 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.
2012-08-31 01:23:49 +00:00
wiz
686e48a4a3 Use more markup. Wording. 2012-08-30 12:42:41 +00:00
christos
c9ffe47f54 bump date. 2012-08-30 12:32:07 +00:00
christos
8aaed51273 make config -x look at the booted kernel first. 2012-08-30 12:31:25 +00:00
martin
fcbf6c86a2 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.
2012-06-08 08:56:45 +00:00
matt
d34c2845b8 Use C89 function definitions 2012-03-20 20:34:57 +00:00
dholland
471d829aae Remove the NV_OBSOLETE flag, which is no longer needed. While here,
update an outdated comment about condition expressions.
2012-03-12 03:04:56 +00:00
dholland
cb79ede2d1 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)
2012-03-12 02:58:55 +00:00
dholland
a883398ef5 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.
2012-03-12 00:20:30 +00:00
dholland
f5d4142b2d 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.
2012-03-11 21:16:07 +00:00
dholland
25c56bd707 Add some organizational comments 2012-03-11 20:02:55 +00:00
dholland
237116305d More naming improvements. 2012-03-11 19:27:26 +00:00
dholland
a551c5e8b7 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.)
2012-03-11 08:21:53 +00:00
dholland
4fbb702df0 Rename a few more things; try to use the same terminology as config(5). 2012-03-11 07:46:47 +00:00
dholland
bbe96a5ad8 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.)
2012-03-11 07:32:41 +00:00
dholland
720c7fbc2a 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.
2012-03-11 07:27:02 +00:00
dholland
285c15fc92 Remove cf_swap, which hasn't been used in a long time. 2012-03-11 05:31:37 +00:00
dholland
cfffb8a2c1 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.
2012-03-11 02:56:25 +00:00