Commit Graph

184 Commits

Author SHA1 Message Date
cgd c026189f76 do that previous differently. only allow redefinitions if: in different
file, make command specified, and no flags or attrs-which-cause-inclusion
are spec'd.  The notion is, if you change either of the last 2, it will
probably have very undesirable results, so only allow the make command to
be changed.  override by clobbering the make command in the previous entry.
also, fix a bug where line number of original entry would get clobbered on
dup entry, so that if you had multiple dups the later ones would get bogus
initial definition info.
2000-06-09 05:06:12 +00:00
eeh e5cf411171 Allow MD files files to override settings in MI files files. (From Chris Torek). 2000-06-08 21:22:55 +00:00
hubertf 13afcc6b33 If maxusers is out of bounds, show the allowed bounts in the error msg. 2000-05-09 00:34:58 +00:00
simonb fd4ede242b Don't declare 'extern opt*' getopt variables. 2000-04-14 06:26:52 +00:00
enami 1b1b19c5c5 Emit `.MAIN: all' to force the target `all' as default target. 2000-02-01 05:13:17 +00:00
enami 0d45936ccf Please pay an attention to the existing code and not to introduce
different coding style.
2000-01-25 01:16:00 +00:00
hubertf 764307a5a1 Keeping my kernel config files under RCS control, I always wished to
have a way to embed the revision number into the kernel's "uname -v"
output. The patch below does this, by generating a new keyword "ident"
that can be followed by any string, e.g.

        ident   "NOON-$Revision$"

will lead to
                                           vvvvvvvvvvvvvvvvvvvvvv
        char version[] =     "NetBSD 1.4P (NOON-$Revision: 1.21 $) #37: Thu Jan
20 02:01:23 MET 2000\n    feyrer@noon:/usr/cvs.local/src-current/sys/arch/i386/c
ompile/NOON\n";

This will lead to a version of "MYMACHINE-$Revision$" instead of the
kernel config file name. If "ident" is not present, the current behaviour
of using the kernel config file's name as identifier is used.

Implement by writing the ident to a file ("ident") in the compile dir,
which newvers.sh will pick up for generating the ident.
2000-01-23 23:37:42 +00:00
thorpej aa1aaac03e Allow abolute pathnames as prefixes. 2000-01-20 00:08:08 +00:00
drochner 4b3a806e80 print a warning if a "cinclude"d file cannot be opened and the -v flag
is given
2000-01-05 11:24:02 +00:00
nathanw 19d95c5d43 Fix typo in comment. 1999-12-20 17:19:13 +00:00
enami 8e1cda20c6 Fix the path of ioconf.incl.$MACHINE using sourcepath(). This is part
of PR#8369.  Also, make sure that the file pointer ifp is always closed.
1999-09-24 04:48:37 +00:00
enami 532da8eb1c Remove redundant declaration of firstfile(). 1999-09-24 04:23:36 +00:00
ws b17a1042ba Allow mutual dependencies.
Output string-valued options reasonably to option files.
1999-09-22 14:23:03 +00:00
is 54e4d2fc26 Fix grammar, as pointed out by Olaf Seibert. 1999-09-21 15:50:19 +00:00
hubertf f3269a6dee Clean up flex output (gram.[ch]).
Reported in PR 8232 by Andrew Cagney <ac131313@cygnus.com>
1999-08-19 02:27:02 +00:00
thorpej 8c134b93a0 If unlink() fails w/ ENOENT, don't display an error message. 1999-07-31 05:22:05 +00:00
hubertf b0f5059f43 Don't ignore the return value of two unlink() commands, and print
some warnings instead, if unlinking fails.

Fixes PR 4634 by myself.
1999-07-29 20:08:59 +00:00
thorpej 95a36e1425 Fix bug in previous; allprefixes didn't work if there were multiple prefixes. 1999-07-09 18:46:09 +00:00
thorpej 64f20db21b Make the outputted INCLUDES directives a bit more cosmetically appealing. 1999-07-09 18:45:31 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej 152af09e65 Add a mechanism to specify prefixes that are transparently prepended
to file specifications.  The prefixes are arranged in a stack, and
nest, so that file, object, and include specifications are normalized,
and all end up relative to the kernel compile directory.

For example, in the kernel config file:

# Pull in config fragments for kernel crypto
prefix ../crypto-us/sys 			# push it
cinclude "conf/files.crypto-us"			# include it if it's there
prefix						# pop it

and in files.crypto-us:

file netinet6/esp_core.c                ipsec & ipsec_esp
file netinet6/esp_output.c              ipsec & ipsec_esp
file netinet6/esp_input.c               ipsec & ipsec_esp

...generates the following in the kernel Makefile:

        $S/../crypto-us/sys/netinet6/esp_core.c \
        $S/../crypto-us/sys/netinet6/esp_output.c \
        $S/../crypto-us/sys/netinet6/esp_input.c \

By placing this all in the kernel config file, all the magic involved in
reaching into non-standard kernel source directories is placed into a file
that the user is expected to edit anyway, and reasonable examples (and
sane defaults, for typical source checkouts) can be provided.
1999-07-09 06:44:58 +00:00
thorpej 02a4ec93e9 Nuke the work-around for non-normalized include paths. They have all
been fixed up.
1999-07-09 02:37:26 +00:00
thorpej 0ee6c639c7 Add a mechanism for files.* files to be included, in the kernel configuration
file, conditional on their existence.  For example:

[ in ../conf/GENERIC ]
cinclude "../crypto-intl/sys/conf/files.crypto-intl"

This required a change to the files.* grammar; pseudo-device in that
context has been changed to defpseudo, to avoid a conflicting rule
for pseudo-device in the kernel config files.

The same grammar change allows vendors to ship files.* files for
commercial drivers, rather than diffs to e.g. files.pci, i.e.:

include "arch/i386/pci/files.zap"
zap* at pci? device ? function ?

Where files.zap might contain:

device zap: ether, ifnet, arp, mii
attach zap at pci
object	arch/i386/pci/zap.o	zap
1999-07-07 00:02:09 +00:00
mycroft 01e0430cea Allow absolute path names for `object' files. 1999-05-23 19:30:30 +00:00
gwr 5a4e7b6de7 Make this build on Solaris (make -f Makefile.boot) 1999-04-02 06:36:30 +00:00
mycroft afd308129a Output a dependency on `newvers' for *every* kernel. It only gets run at most
once per make(1) invocation anyway, and not doing this screwed up parallel
makes.
1999-03-30 12:36:50 +00:00
garbled d1407362ba More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:43:46 +00:00
mjl 99d17e2ca4 Mention -v in usage. Fixes PR 6262 by Erik Bertelsen. 1999-02-08 22:32:58 +00:00
pk 74098ab84e Lennart Augustsson's multi-valued locator code. 1999-01-21 13:10:08 +00:00
christos c5b62f45b1 - rename err -> herr so that we don't conflict with libc
- KNF
- use herr when opening the files too, producing a more useful message.
1998-10-16 14:27:17 +00:00
itohy ec8a0e8dad Eliminate a memory leak. 1998-10-05 19:50:40 +00:00
pk 3237c34e03 Emit device name to device major number table. 1998-08-30 21:33:27 +00:00
tv c166f15971 NetBSD doesn't support the tahoe. 1998-08-06 14:56:17 +00:00
jonathan 50ca59e842 Fix braino. 1998-06-30 03:42:23 +00:00
jonathan eaa351c789 * Check that any declared option (def{opt,param,flag}, filesystem
is declared at most once.
* Do option dependency across all def{opt,param, flag}.
* Make the default value of otherwise-unspecified defopt's be 1,
  for consistency with non-defopt'ed options.
* Wrap an abstraction layer (macros) around tests for defopt, filesystem,
  defparam, etc. to catch outdated  defopt-vs-filesystem tests.
1998-06-30 03:30:56 +00:00
scottr a5427da04d Add and document the -v flag, and only print option-related warnings
if this flag is specified.
1998-06-28 04:41:36 +00:00
jonathan 0925cf4fda Stronger checking of options:
* machinery for nonfatal warnings.
* new backend config-file keywords:
     defparam -- like defopt, but each defparam option is required
		 to have a value when configured via "options".
     defflag -- like defopt, but defflag options may not have a value.
		 Also, on "option FOO",  a needs-count style flag
		 (NFOO, either 0 or 1)  is emitted to the .h file.

* Warn about old-style options that aren't defined via def{opt,param,flag}
  and which are  added to IDENT. (These behave subtly differently
  to defopt options when  no explicit value is given.)
1998-06-24 11:20:54 +00:00
scottr e6eb7d0530 Implement option dependencies as part of the defopt action. We currently
restrict depended-on (or "implied") options to those that have been
previously defopt'ed, which inherently eliminates any cycles in the option
graph.
1998-06-10 04:33:31 +00:00
tv 2c23336179 Add missing colon in error message. 1998-05-22 19:29:00 +00:00
tv 95fadaa10e Add CLEANFILES+=gram.h as noticed by tron (PR 5383) 1998-05-01 13:02:09 +00:00
tv 2fd6f54874 Make the yacc rules work on 1.3 as well as -current without updating the
.mk files:  build the .c and .h files manually.  This should be removed
after the next release.  XXX.
1998-04-16 18:47:05 +00:00
tv 482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
thorpej 129a20a049 Fix a think'o that caused "config netbsd root on ? type ffs" to fail.
Fixes PR #5021.
1998-02-20 00:11:02 +00:00
thorpej a522c869e5 Fix a few semantic problems wrt. file-system, deffs, and options, pointed
out by Chris Demetriou.
1998-02-19 06:13:51 +00:00
thorpej d12d850cfe Add a "deffs" keyword, similar to "defopt", that defines file systems.
Only things defined with this keyword will be allowed on "file-system"
lines in the kernel config files.

By default, -D... directives for file systems are not generated, since
they are not needed for most file systems now that vfs_conf.c is gone.
However, some file systems must have dependencies generated on them
(e.g. NFS, UNION).  So, provide a way to specify an option file for
these file systems.
1998-02-19 00:27:00 +00:00
thorpej ed063c61d5 Emit the default set of file systems as vfs_list_initial[]. 1998-02-18 07:00:27 +00:00
thorpej ea4d1b7ea1 Rather than using a separate "class" keyword, treat device classes like
special attributes.  From Chris Demetriou.
1998-02-16 22:05:35 +00:00
enami 491b9bd801 Remove redundant assignment. 1998-01-14 01:15:24 +00:00
thorpej bc1733bc88 Add code to emit the cfdriver structures into ioconf.c. This requires
a change to the config grammar, to specify a device's class (i.e. DV_xxx)
like:

device	sd class disk: ...

Also emit an ioconf.h, which contains extern declarations of the
cfdriver structures.

While I'm here, add support for specifying multiple options per defopt
line, as well as specifying the file name in which the options will
appear.

defopt	foo bar baz

generates "opt_foo.h", "opt_bar.h", and "opt_baz.h"

defopt	opt_mumble.h foo bar baz

generates "opt_mumble.h" which contains all three options.

Also, clean up and fix some bugs in the code that generates header files.
1998-01-12 07:37:40 +00:00
perry 3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00