2 * This file is in the public domain
8 * 6 digits of version. The most significant are branch indicators at the
9 * time when the last incompatible change was made (which is why it is
10 * presently 6 on 7-current). The least significant digits are incremented
11 * as described below. The format is similar to the __FreeBSD_version, but
14 * DO NOT CASUALLY BUMP THIS NUMBER! The rules are not the same as shared
15 * libs or param.h/osreldate.
17 * It is the version number of the protocol between config(8) and the
18 * sys/conf/ Makefiles (the kernel build system).
20 * It is now also used to trap certain problems that the syntax parser cannot
23 * Unfortunately, there is no version number for user supplied config files.
25 * Once, config(8) used to silently report errors and continue anyway. This
26 * was a huge problem for 'make buildkernel' which was run with the installed
27 * /usr/sbin/config, not a cross built one. We started bumping the version
28 * number as a way to trap cases where the previous installworld was not
29 * compatable with the new buildkernel. The buildtools phase and much more
30 * comprehensive error code returns solved this original problem.
32 * Most end-users will use buildkernel and the build tools from buildworld.
33 * The people that are inconvenienced by gratuitous bumps are developers
34 * who run config by hand. However, developers shouldn't gratuitously be
37 * One should bump the CONFIGVERS in the following ways:
39 * (1) If you change config such that it won't read old config files,
40 * then bump the major number. You shouldn't be doing this unless
41 * you are overhauling config. Do not casually bump this number
42 * and by implication do not make changes that would force a bump
43 * of this number casually. You should limit major bumps to once
45 * (2) For each new feature added, bump the minor version of this file.
46 * When a new feature is actually used by the build system, update the
47 * %VERSREQ field in the Makefile.$ARCH of all the affected makefiles
48 * (typically all of them).
52 #define CONFIGVERS 600004
53 #define MAJOR_VERS(x) ((x) / 100000)