Commit Graph

368 Commits

Author SHA1 Message Date
uebayasi
5f38d8b6fe Properly handle absolute prefix. 2015-09-01 01:17:56 +00:00
uebayasi
4c482b808f Refactor emit file functions. No functional changes. 2015-09-01 00:38:30 +00:00
pgoyette
b899b8fdca Need to read closer - there was another occurrence of the same tyepo 2015-08-31 12:00:12 +00:00
pgoyette
2ff0a553cb Tyepo 2015-08-31 11:52:37 +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
wiz
7cb8e9f6ca Fix a macro usage. Add more markup. 2015-08-30 06:57:51 +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
8c9276859d No need to define swap<kernel>.o build rule. 2015-08-29 17:42:05 +00:00
uebayasi
b6c3503b87 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".
2015-08-29 17:35:23 +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
95712061f0 Revert MAXUSERS. CVS is hard. 2015-08-29 13:34:21 +00:00
uebayasi
9d7c5e580c Revert MAXUSERS changes. Need fresh air. 2015-08-29 07:33:18 +00:00
uebayasi
8b68b0de02 Fix previous. 2015-08-29 07:24:49 +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
b5595827d0 Simplify. 2015-08-28 09:16:29 +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
uebayasi
36644ae2ff Error out if a given path is absolute. 2015-08-28 08:56:39 +00:00
uebayasi
47065f5afc 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.
2015-08-28 08:31:28 +00:00
uebayasi
50408f97eb Global paths looked up at output stage (mk*()) are relative to `srcdir'.
Ignore "prefix" by not calling sourcepath().
2015-08-28 03:55:15 +00:00
uebayasi
0b9ddf3cc0 Paths given to "file" and "object" are relative from "prefix" if defined. 2015-08-28 02:59:09 +00:00
uebayasi
a72d45f1a5 + suffix rules 2015-08-28 01:01:57 +00:00
uebayasi
5e9af25b8a + copy symtab 2015-08-27 10:22:12 +00:00
uebayasi
1e1f20e153 One more about linker script, another about genassym. 2015-08-26 06:38:57 +00:00
uebayasi
14880f9a49 I don't like -Ttext . 2015-08-25 13:13:54 +00:00
uebayasi
39d2263741 + kill makeoptions 2015-08-25 09:01:28 +00:00
uebayasi
7722a65218 TODOs about kernel options. 2015-08-23 01:30:21 +00:00
uebayasi
9c743328e7 Linker script TODO items. 2015-08-22 14:47:05 +00:00
christos
92a97b467e move driver attach declarations to ioconf.h 2015-08-20 09:44:24 +00:00
pgoyette
b0e637a9da Insert comment regarding PR/48571 so it doesn't get lost.
config(1) ioconf is insufficient for pseudo-devices

config_{init,fini}_component
2015-08-19 03:39:45 +00:00
uebayasi
3dbb19470d + pseudo(dev) attach 2015-08-19 03:23:34 +00:00
shm
13fc423c66 Add missed munmap(2) in extract_config 2015-08-08 15:52:41 +00:00
dholland
7fee31e593 Document previously secret -d debug option. Bump date. 2015-07-16 08:42:53 +00:00
christos
b921b70209 remove stray newlines from errors/warnings 2015-06-16 21:12:19 +00:00
uebayasi
c59f84ea6d Typo in previous. 2015-04-10 03:51:44 +00:00
uebayasi
e29416eeae More about attribute -> bus, and child configuration. 2015-04-10 03:30:09 +00:00
christos
93da4522d3 appease gcc-4.5.4 2015-01-22 20:01:22 +00:00
uebayasi
d8aa702d35 Revert debug code. Simplify. 2014-12-15 15:49:25 +00:00
uebayasi
fc1f7728b8 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.
2014-12-15 15:41:18 +00:00
uebayasi
10b064f35c 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.
2014-12-15 10:10:24 +00:00
christos
c8da6eb49b Use proper index types, delete casts, use correct sizeof() in allocations. 2014-11-21 20:46:56 +00:00
uebayasi
57751c8485 Pre-calc file path len/suffix. Misc. clean up. 2014-11-17 00:53:15 +00:00
uebayasi
9eb1865390 Fix oops in r1.30. 2014-11-16 15:10:54 +00:00
uebayasi
d2824e0952 Simpfily code by assuming suffix is a single character. 2014-11-16 14:57:59 +00:00
uebayasi
8a0d672c53 Refactor. 2014-11-16 14:49:12 +00:00
uebayasi
20fd8a9d0f Consistently wrap long lines in ioconf.c. 2014-11-16 14:26:14 +00:00
uebayasi
73810e5d00 config(1): TODO about namespace (esp. options vs. module) 2014-11-16 07:12:34 +00:00
uebayasi
79fcd6c2d2 config(1): TODO item about swapnetbsd.c 2014-11-16 04:28:09 +00:00
uebayasi
dfd51da465 config(1): Avoid buffer overrun (modular build) 2014-11-15 12:18:55 +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
2f06dcafd4 Revise a plan about link-set.
(I was ignorant 2 weeks ago.)
2014-11-13 15:25:48 +00:00
christos
b552d112cd merge a bit of duplicated code. 2014-11-10 21:13:04 +00:00
uebayasi
28fcb3ecde config(1): Note a little more about linkage 2014-11-08 05:57:41 +00:00
christos
727f236228 - simplify string parsing
- emalloc + sprintf = easprintf
2014-11-07 17:50:14 +00:00
uebayasi
701e371cb2 config(1): TODO about kernel linkage 2014-11-07 16:41:17 +00:00
uebayasi
7710d317bc config(1): Rename internal flag to enable modular build 2014-11-06 11:40:32 +00:00
joerg
4e288682c2 nv_num is not a dev_t, so add explicit cast for the sake of
-Wconversion.
2014-11-04 23:02:14 +00:00
joerg
fdcb5b3398 makedev returns ~uint64_t, but val is int64_t. Cast for -Wconversion. 2014-11-04 23:01:23 +00:00
joerg
e7051a1953 To make -Wconversion happy, cast return value of tolower/toupper to
char.
2014-11-04 23:00:35 +00:00
uebayasi
e8a6d4b70c config(1): Start calling module as module 2014-11-01 14:24:45 +00:00
uebayasi
6c852b2895 config(1): More TODO description. 2014-11-01 14:15:31 +00:00
uebayasi
fe2a50734b config(1): Don't emit unused empty loc[] 2014-11-01 11:02:41 +00:00
uebayasi
c62ce2631a config(1): One more TODO about retiring direct attachment 2014-11-01 08:13:11 +00:00
uebayasi
6c283bdad1 config(1): Emit pdevinit[] into .rodata 2014-11-01 07:26:11 +00:00
uebayasi
def3cecb48 config(1): Set NULL to unused cfdata::cf_loc 2014-11-01 06:20:24 +00:00
uebayasi
e1a6328057 config(1): KNF 2014-11-01 04:34:27 +00:00
uebayasi
304be40991 config(1): Better indent of cfdata in ioconf.c 2014-10-31 18:26:06 +00:00
uebayasi
084f527f2d config(1): KNF generated ioconf.c 2014-10-31 17:58:02 +00:00
uebayasi
374e86cbe4 config(1): Emit only referenced interface attributes in ioconf.c 2014-10-31 17:43:55 +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
wiz
75f5ef0d24 Spelling fixes. 2014-10-30 23:18:02 +00:00
christos
b89e3b087d remove overflow test that triggered for negative values; we only care
about the hash here.
2014-10-30 15:13:11 +00:00
uebayasi
bd3d598f54 config(1): More TODO 2014-10-30 08:20:15 +00:00
christos
5dcabc490b print more info about the overflow 2014-10-30 01:36:13 +00:00
uebayasi
c5c18c905b config(1): More TODO items 2014-10-30 01:26:20 +00:00
christos
584127132b put back scanner warnings now that flex produces clean code. 2014-10-29 19:10:49 +00:00
christos
1ed33bc5b9 cast to signed, since that's all we have. 2014-10-29 19:10:18 +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
1af1e581aa 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.
2014-10-14 08:00:27 +00:00
apb
e010c72036 Allow easier adding/removing of options without regard to
whether or not they were already defined.
2014-10-12 15:54:19 +00:00
uebayasi
6e01290960 Don't shadow global 'devname' on macppc. 2014-10-12 15:35:40 +00:00
wiz
891aaa4d83 Spelling. 2014-10-12 08:04:30 +00:00
uebayasi
ab6c1d8a5a Fix typos in previous. 2014-10-12 05:25:21 +00:00
uebayasi
a38ec9b5de Make hash capable of taking two key strings. 2014-10-12 05:20:54 +00:00
uebayasi
0819fb14f9 More TODOs. 2014-10-12 04:23:46 +00:00
martin
db3a752aed Remove a set but not used variable 2014-10-11 17:27:42 +00:00
uebayasi
6d52c530bb More debug messages. 2014-10-11 15:47:38 +00:00
uebayasi
77259bf204 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.
2014-10-11 15:20:36 +00:00
uebayasi
d1bb5c1f69 Don't conplain devclass redifition to the same value; it can happen while
resolving dependency.
2014-10-11 09:27:51 +00:00
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