configvers.h revision 211326
1119418Sobrien/*- 269953Smsmith * This file is in the public domain 369953Smsmith * 469953Smsmith * $FreeBSD: head/usr.sbin/config/configvers.h 211326 2010-08-15 08:49:07Z imp $ 569953Smsmith */ 669953Smsmith 769953Smsmith/* 869953Smsmith * 6 digits of version. The most significant are branch indicators at the 969953Smsmith * time when the last incompatible change was made (which is why it is 1069953Smsmith * presently 6 on 7-current). The least significant digits are incremented 1169953Smsmith * as described below. The format is similar to the __FreeBSD_version, but 1269953Smsmith * not tied to it. 1369953Smsmith * 1469953Smsmith * DO NOT CASUALLY BUMP THIS NUMBER! The rules are not the same as shared 1569953Smsmith * libs or param.h/osreldate. 1669953Smsmith * 1769953Smsmith * It is the version number of the protocol between config(8) and the 1869953Smsmith * sys/conf/ Makefiles (the kernel build system). 1969953Smsmith * 2069953Smsmith * It is now also used to trap certain problems that the syntax parser cannot 2169953Smsmith * detect. 2269953Smsmith * 2369953Smsmith * Unfortunately, there is no version number for user supplied config files. 2469953Smsmith * 2569953Smsmith * Once, config(8) used to silently report errors and continue anyway. This 2669953Smsmith * was a huge problem for 'make buildkernel' which was run with the installed 27119418Sobrien * /usr/sbin/config, not a cross built one. We started bumping the version 28119418Sobrien * number as a way to trap cases where the previous installworld was not 29119418Sobrien * compatable with the new buildkernel. The buildtools phase and much more 3069953Smsmith * comprehensive error code returns solved this original problem. 31149478Sps * 3269953Smsmith * Most end-users will use buildkernel and the build tools from buildworld. 3369953Smsmith * The people that are inconvenienced by gratuitous bumps are developers 3469953Smsmith * who run config by hand. However, developers shouldn't gratuitously be 3569953Smsmith * inconvenienced. 3669953Smsmith * 3769953Smsmith * One should bump the CONFIGVERS in the following ways: 3869953Smsmith * 3969953Smsmith * (1) If you change config such that it won't read old config files, 4069953Smsmith * then bump the major number. You shouldn't be doing this unless 4183975Srwatson * you are overhauling config. Do not casually bump this number 4269953Smsmith * and by implication do not make changes that would force a bump 4369953Smsmith * of this number casually. You should limit major bumps to once 4469953Smsmith * per branch. 4569953Smsmith * (2) For each new feature added, bump the minor version of this file. 4669953Smsmith * When a new feature is actually used by the build system, update the 4769953Smsmith * %VERSREQ field in the Makefile.$ARCH of all the affected makefiles 4869953Smsmith * (typically all of them). 4969953Smsmith * 5069953Smsmith * $FreeBSD: head/usr.sbin/config/configvers.h 211326 2010-08-15 08:49:07Z imp $ 5169953Smsmith */ 5269953Smsmith#define CONFIGVERS 600011 5369953Smsmith#define MAJOR_VERS(x) ((x) / 100000) 5469953Smsmith