Index: sys/conf/kern.opts.mk =================================================================== --- sys/conf/kern.opts.mk +++ sys/conf/kern.opts.mk @@ -46,6 +46,7 @@ __DEFAULT_NO_OPTIONS = \ EISA \ FAST_DEPEND \ + KERNEL_METADATA \ NAND \ OFED Index: sys/conf/kern.post.mk =================================================================== --- sys/conf/kern.post.mk +++ sys/conf/kern.post.mk @@ -317,8 +317,11 @@ config.ln env.ln hints.ln vers.ln vnode_if.ln: ${NORMAL_LINT} +.if ${MK_KERNEL_METADATA} != "no" +METADATA_FLAG=-m +.endif vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} - MAKE=${MAKE} sh $S/conf/newvers.sh ${KERN_IDENT} + MAKE=${MAKE} sh $S/conf/newvers.sh ${METADATA_FLAG} ${KERN_IDENT} vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c Index: sys/conf/newvers.sh =================================================================== --- sys/conf/newvers.sh +++ sys/conf/newvers.sh @@ -51,6 +51,17 @@ ${SYSDIR}/sys/param.h) fi +INCLUDE_METADATA= + +while getopts m opt; do +case "$opt" in +m) + INCLUDE_METADATA=1 + ;; +esac +done +shift $((OPTIND-1)) + b=share/examples/etc/bsd-style-copyright if [ -r "${SYSDIR}/../COPYRIGHT" ]; then year=$(sed -Ee '/^Copyright .* The FreeBSD Project/!d;s/^.*1992-([0-9]*) .*$/\1/g' ${SYSDIR}/../COPYRIGHT) @@ -220,10 +231,16 @@ fi fi +if [ $INCLUDE_METADATA ]; then + VERSTR="${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" +else + VERSTR="${VERSION} #${v}${svn}${git}${hg}${p4version}\\n" +fi + cat << EOF > vers.c $COPYRIGHT #define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}" -#define VERSTR "${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" +#define VERSTR "${VERSTR}" #define RELSTR "${RELEASE}" char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; Index: tools/build/options/WITH_KERNEL_METADATA =================================================================== --- /dev/null +++ tools/build/options/WITH_KERNEL_METADATA @@ -0,0 +1,3 @@ +.\" $FreeBSD$ +Set to include build metadata (build time, user, host and path) in the +kern.version sysctl and uname.