Commit Graph

40 Commits

Author SHA1 Message Date
ed
120125784a Add the Clang specific -Wmissing-variable-declarations to WARNS=6.
This compiler flag enforces that that people either mark variables
static or use an external declarations for the variable, similar to how
-Wmissing-prototypes works for functions.

Due to the fact that Yacc/Lex generate code that cannot trivially be
changed to not warn because of this (lots of yy* variables), add a
NO_WMISSING_VARIABLE_DECLARATIONS that can be used to turn off this
specific compiler warning.

Announced on:	toolchain@
2013-04-19 19:45:00 +00:00
ed
073cafdd42 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
ru
0de18b1b0a Fixed "make checkdpadd" (missing library dependencies).
Approved by:	re (kensmith)
2007-10-01 18:15:11 +00:00
wkoszek
592e533496 Add ${.CURDIR} before kernconf.tmpl in order to let the build see newly
added kernconft.tmpl file.

Approved by:	cognet (mentor)
2007-05-12 20:33:13 +00:00
wkoszek
2e673327ec Improve INCLUDE_CONFIG_FILE support.
This change will let us to have full configuration of a running kernel
available in sysctl:

	sysctl -b kern.conftxt

The same configuration is also contained within the kernel image. It can be
obtained with:

	config -x <kernelfile>

Current functionality lets you to quickly recover kernel configuration, by
simply redirecting output from commands presented above and starting kernel
build procedure. "include" statements are also honored, which means options
and devices from included files are also included.

Please note that comments from configuration files are not preserved by
default. In order to preserve them, you can use -C flag for config(8). This
will bring configuration file and included files literally; however,
redirection to a file no longer works directly.

This commit was followed by discussion, that took place on freebsd-current@.
For more details, look here:

	http://lists.freebsd.org/pipermail/freebsd-current/2007-March/069994.html
	http://lists.freebsd.org/pipermail/freebsd-current/2007-May/071844.html

Development of this patch took place in Perforce, hierarchy:

	//depot/user/wkoszek/wkoszek_kconftxt/

Support from:	freebsd-current@ (links above)
Reviewed by:	imp@
Approved by:	imp@
2007-05-12 19:38:18 +00:00
ru
808f83c06f config.5 was repocopied from share/man/man5/ to usr.sbin/config/.
Repocopied by:	peter
2005-12-09 06:46:41 +00:00
cognet
0fb3fb5b41 Fix a few glitches in my previous commit.
This makes config(8) WARNS?=6 compliant.
2004-05-11 15:42:44 +00:00
obrien
b34a5e077d Best we can do is WARNS=1 due to lex. 2003-06-11 21:27:37 +00:00
obrien
816bc7b2ac Do not refer to the non-existant BDECFLAGS. 2003-06-11 21:25:15 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
ru
f10dc9aca1 Set the default manual section for usr.sbin/ to 8. 2001-03-20 18:17:26 +00:00
peter
b96d955fca ${BDECFLAGS} work. And fix a real error in the process. A "MAXUSERS"
string could have been passed to free();  There are some warnings here
I am not sure how to fix as they are in the lex scanner code, etc.
2001-02-19 04:43:21 +00:00
peter
647ef85d48 Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel.  You can reconfigure your
isa devices with the likes of this at loader(8) time:
  set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8).  See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8).  There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file.  If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you.  You can also compile in the
hints directly with:  hints "device.hints"  as well.

There are a few things that I'm not too happy with yet.  Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it.  However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built.  A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated.  eg:  'device fe 4' will compile the fe driver with NFE set
to 4.  You can then set hints for 4 units (0 - 3).  Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this.  This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others
2000-06-13 22:28:50 +00:00
peter
b7ec658010 Further cleanup. Also remove the following unused or defunct tokens:
and, bio, cam, master, minor, net, priority, sequential, size, slave, trace
1999-10-10 17:36:11 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
peter
a6a77a4ef9 Put on my viking helmet from the closet, and get out the war axe and
"retire" some more stuff.
1999-05-09 18:54:25 +00:00
peter
e0200a9fde Further cleanups. i386_ioconf.c and alpha_ioconf.c were essentially the
same and were merged into a single newbus_ioconf.c.  CG'd some more unused
code.
1999-04-18 13:36:29 +00:00
peter
911997aae8 Get out the blow torch and hack away all the unused stuff. Note that
I zapped the MACHINE_MIPS stuff, it isn't likely to be useful apart from
recognition of the machine name.  It would be reasonable to expect new
ports would look something like the alpha/i386 from a config perspective.
1999-04-17 14:41:41 +00:00
peter
22b374184d Clean up the -g/DEBUG handling. This logic can go in the Makefile
so that config -g can work the same as:  makeoptions DEBUG="-g"
1999-04-13 18:22:57 +00:00
bde
b11e33ba51 Backed out previous backout. Put y.tab.h back in SRCS. 1998-05-06 15:27:57 +00:00
bde
dba406f638 Backed out previous commit. It was tested, but not for the case where
a separate object tree doesn't exist.  Crufty makefiles will have to
put y.tab.h in SRCS so that we know not to create foo.h from foo.y.
1998-05-05 07:36:55 +00:00
bde
f701fbc7d5 Fixed races in `make -jN' using new yacc rules. 1998-05-04 20:09:06 +00:00
bde
1eec1ef17a Fixed `make -jN' for large N, as usual. 1998-03-06 15:02:45 +00:00
eivind
ab0c84a191 Style police service brought to you by: bde 1998-02-19 00:51:49 +00:00
peter
cac6af7db2 For safety's sake, explicitly depend all objects on the configvers.h header
to make sure that it's all recompiled even if there is no 'make depend'.
This is overkill, but should be one less thing that someone can do wrong.
1997-10-22 00:44:08 +00:00
bde
31b6c99454 Oops, the previous commit shouldn't have touch the Makefile. 1997-09-07 12:27:54 +00:00
bde
a498d09490 Don't say that swapping is configured by config. 1997-09-07 10:35:17 +00:00
phk
b5bea7dc4e Backout yacc changes. 1996-06-02 17:22:01 +00:00
phk
a550a3bde3 yacc rule changes. 1996-05-30 23:16:31 +00:00
peter
7a7fb14fa9 Implement support for conf/options and i386/conf/options.i386
Note that this code is dormant unless the options files exist.
Also, parsing of quoted options in the config files is improved.

What this allows, is all the options in LINT to be specified to be
configured as #defines in a file rather than on the CC command line at
kernel build time.  This means that 'make depend' will catch dependencies
on actual *options*, meaning that you can run 'config' and 'make depend'
in complete safety WITHOUT removing the compile directory each time.

Unfortunately, this requires a pass over the source to get the individual
files to #include the new .h files that would be generated by config.
This has a small compile time penalty (appears up to about 2% slower)
from a "fresh" build.  Of course, you should not be needing to do complete
rebuilds very often once this was completed, so it would be an overall
win for most people.

Since this code is dormant and we've got a lot of other things happening
on the kernel tree at the moment (prototypes, devfs, static declarations
etc) I am not planning on doing any changes to activate this feature just
yet.
1995-12-11 10:52:34 +00:00
wollman
27c5ca1e16 If CONFIG_NO_CLOBBER_EVER is defined (e.g., in /etc/make.conf), don't make
it possible for config to ever blow away a work directory.  Default behavior
remains broken.
1995-11-28 20:29:58 +00:00
bde
a043bff654 Fix CLEANFILES. Some temporary files were missing. 1995-09-28 18:24:54 +00:00
jkh
09d09cb934 Make good on my promise to finally clean up the config clobbering.
If you invoke config with the `-n' flag or have NO_CONFIG_CLOBBER in
your environment, config will behave the same way it used to.  This is
now _documented_ as well.  Rip out all the CONFIG_DONT_CLOBBER cruft;
some of it wasn't even correct anyway.
1995-02-22 15:37:32 +00:00
bde
8718fcc421 Remove ifdef for STATCLOCK. STATCLOCK is standard. 1994-11-27 16:16:35 +00:00
wollman
765cf6dfb0 Revert back to old config behavior if compiled with -DCONFIG_DONT_CLOBBER. 1994-09-06 20:04:39 +00:00
dg
7707213479 Oops...forgot to list the changes....
/usr/src/usr.sbin.config:
	o -DSTATCLOCK gives kludges to support the rtc non-device as well as
	  old kludges to support the clk non-device.

/usr/src/usr.sbin/config.8:
	o Document the trivialness of the new vector.h.

/usr/src/usr.sbin/mkglue.c:
	o Only print DEVICE_NAMES and NR_DEVICES in vector.h.  These are
	  only required to support vmstat.  The vmstat interface will need
	  to be improved for dynamic loading.

/usr/src/usr.sbin/mkioconf.c:
	o Print device ids to be used as indexes into DEVICE_NAMES.
	o Print secondary interrupt handler entry points (xxxintr()) instead
	  of primary ones (VdevU()).  Primary ones are now XintrI() and
	  XfastintrI() and are independent of the config so they are not
	  handled here.
	o Minor cleanups.

Submitted by:	Bruce Evans
1994-08-18 05:15:26 +00:00
dg
46591adfaa Support for Bruce Evans' new dynamic interrupt support.
Submitted by:	Bruce Evans
1994-08-18 05:11:32 +00:00
rgrimes
c8f1a26f8d Upgrade config to be compatible with our i386 port, pull in 95% of the
changes that have been made in FreeBSD 1.x, except for possibly the nfs
diskless support this is a completed config.
1994-05-26 13:24:02 +00:00
rgrimes
862fdf11a2 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00