Date: Mon, 22 Jun 2015 20:21:58 +0000 (UTC) From: "Simon J. Gerraty" <sjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r284708 - in head: share/man/man5 share/mk tools/build/options Message-ID: <201506222021.t5MKLwqp084129@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sjg Date: Mon Jun 22 20:21:57 2015 New Revision: 284708 URL: https://svnweb.freebsd.org/changeset/base/284708 Log: Fix generation of src.conf.5 Since makeman turns all options on, we need to guard somethings from make(showconfig) Added: head/tools/build/options/WITH_AUTO_OBJ (contents, props changed) head/tools/build/options/WITH_DIRDEPS_CACHE (contents, props changed) head/tools/build/options/WITH_META_FILES (contents, props changed) head/tools/build/options/WITH_META_MODE (contents, props changed) head/tools/build/options/WITH_STAGING (contents, props changed) head/tools/build/options/WITH_STAGING_MAN (contents, props changed) head/tools/build/options/WITH_STAGING_PROG (contents, props changed) head/tools/build/options/WITH_STALE_STAGED (contents, props changed) head/tools/build/options/WITH_SYSROOT (contents, props changed) Modified: head/share/man/man5/src.conf.5 head/share/mk/local.meta.sys.mk head/tools/build/options/makeman Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Mon Jun 22 19:43:08 2015 (r284707) +++ head/share/man/man5/src.conf.5 Mon Jun 22 20:21:57 2015 (r284708) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des .\" $FreeBSD$ -.Dd June 11, 2015 +.Dd June 22, 2015 .Dt SRC.CONF 5 .Os .Sh NAME @@ -126,6 +126,9 @@ Set to not build Set to not build .Xr autofs 4 related programs, libraries, and kernel modules. +.It Va WITH_AUTO_OBJ +.\" $FreeBSD$ +Enable automatic creation of objdirs. .It Va WITHOUT_BHYVE .\" from FreeBSD: head/tools/build/options/WITHOUT_BHYVE 277727 2015-01-26 06:44:48Z ngie Set to not build or install @@ -392,6 +395,12 @@ and are located automatically by .It Va WITHOUT_DICT .\" from FreeBSD: head/tools/build/options/WITHOUT_DICT 156932 2006-03-21 07:50:50Z ru Set to not build the Webster dictionary files. +.It Va WITH_DIRDEPS_CACHE +.\" $FreeBSD$ +Cache result of dirdeps.mk which can save significant time +for subsequent builds. +Depends on +.Va WITH_META_MODE . .It Va WITHOUT_DMAGENT .\" from FreeBSD: head/tools/build/options/WITHOUT_DMAGENT 262335 2014-02-22 13:05:23Z bapt Set to not build dma Mail Transport Agent @@ -851,6 +860,56 @@ Set to not build utilities for manual pa .Xr whatis 1 , .Xr manctl 8 , and related support files. +.It Va WITH_META_FILES +.\" $FreeBSD$ +Create meta files during non META_MODE build. +The meta files can be useful for debugging. +.It Va WITH_META_MODE +.\" $FreeBSD$ +Enable building in meta mode. +.Pp +The build is driven by dirdeps.mk using DIRDEPS stored in +Makefile.depend files found in each directory. +.Pp +The build can be started from anywhere, and behaves the same. +The initial instance of make recursively reads DIRDEPS from Makefile.depend +computing a graph of tree dependencies from the current origin. +See http://www.crufty.net/help/sjg/dirdeps.htm +.Pp +As each target is made +.Xr make 1 +produces a meta file which is used to capture (and compare) +the command line, +as well as any command output. +If +.Xr filemon 4 +is available the meta file will also capture a record of syscalls +used to produce the target. +When set, it also enforces the following options: +.Pp +.Bl -item -compact +.It +.Va WITH_AUTO_OBJ +.It +.Va WITH_INSTALL_AS_USER +.It +.Va WITH_STAGING +.It +.Va WITH_SYSROOT +.El +.Pp +When set, the following options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITH_STAGING_MAN +(unless +.Va WITHOUT_STAGING_MAN +is set explicitly) +.It Va WITH_STAGING_PROG +(unless +.Va WITHOUT_STAGING_PROG +is set explicitly) +.El .It Va WITH_NAND .\" from FreeBSD: head/tools/build/options/WITH_NAND 235537 2012-05-17 10:11:18Z gber Set to build the NAND Flash components. @@ -1093,6 +1152,35 @@ Set to not build kernel modules that inc .It Va WITHOUT_SSP .\" from FreeBSD: head/tools/build/options/WITHOUT_SSP 180012 2008-06-25 21:33:28Z ru Set to not build world with propolice stack smashing protection. +.It Va WITH_STAGING +.\" $FreeBSD$ +Enable staging of files to a stage tree. +This can be best thought of as auto-install to +.Va DESTDIR +with some extra meta data to ensure dependencies can be tracked. +Depends on +.Va WITH_META_MODE . +When set, the following options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITH_STAGING_MAN +(unless +.Va WITHOUT_STAGING_MAN +is set explicitly) +.It Va WITH_STAGING_PROG +(unless +.Va WITHOUT_STAGING_PROG +is set explicitly) +.El +.It Va WITH_STAGING_MAN +.\" $FreeBSD$ +Enable staging of MAN pages to stage tree. +.It Va WITH_STAGING_PROG +.\" $FreeBSD$ +Enable staging of PROGs to stage tree. +.It Va WITH_STALE_STAGED +.\" $FreeBSD$ +Check staged files are not stale. .It Va WITH_SVN .\" from FreeBSD: head/tools/build/options/WITH_SVN 252561 2013-07-03 12:36:47Z zeising Set to install @@ -1117,6 +1205,11 @@ support files such as keyboard maps, fon Set to not build .Xr sysinstall 8 and related programs. +.It Va WITH_SYSROOT +.\" $FreeBSD$ +Enable use of sysroot during build. +Depends on +.Va WITH_META_MODE . .It Va WITHOUT_TALK .\" from FreeBSD: head/tools/build/options/WITHOUT_TALK 277676 2015-01-25 04:37:44Z ngie Set to not build or install Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Mon Jun 22 19:43:08 2015 (r284707) +++ head/share/mk/local.meta.sys.mk Mon Jun 22 20:21:57 2015 (r284708) @@ -8,6 +8,7 @@ MK_INSTALL_AS_USER= yes .if empty(OBJROOT) || ${.MAKE.LEVEL} == 0 +.if !make(showconfig) .if defined(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX}) .warning MAKEOBJDIRPREFIX not supported; setting MAKEOBJDIR... # put things approximately where they want @@ -20,6 +21,7 @@ MAKEOBJDIRPREFIX= # now for our own use MAKEOBJDIR= ${.CURDIR:S,${SRCTOP},${OBJTOP},} .endif +.endif .if !empty(SB) SB_OBJROOT ?= ${SB}/obj/ # this is what we use below Added: head/tools/build/options/WITH_AUTO_OBJ ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_AUTO_OBJ Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Enable automatic creation of objdirs. Added: head/tools/build/options/WITH_DIRDEPS_CACHE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_DIRDEPS_CACHE Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,5 @@ +.\" $FreeBSD$ +Cache result of dirdeps.mk which can save significant time +for subsequent builds. +Depends on +.Va WITH_META_MODE . Added: head/tools/build/options/WITH_META_FILES ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_META_FILES Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,3 @@ +.\" $FreeBSD$ +Create meta files during non META_MODE build. +The meta files can be useful for debugging. Added: head/tools/build/options/WITH_META_MODE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_META_MODE Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,20 @@ +.\" $FreeBSD$ +Enable building in meta mode. +.Pp +The build is driven by dirdeps.mk using DIRDEPS stored in +Makefile.depend files found in each directory. +.Pp +The build can be started from anywhere, and behaves the same. +The initial instance of make recursively reads DIRDEPS from Makefile.depend +computing a graph of tree dependencies from the current origin. +See http://www.crufty.net/help/sjg/dirdeps.htm +.Pp +As each target is made +.Xr make 1 +produces a meta file which is used to capture (and compare) +the command line, +as well as any command output. +If +.Xr filemon 4 +is available the meta file will also capture a record of syscalls +used to produce the target. Added: head/tools/build/options/WITH_STAGING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_STAGING Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,7 @@ +.\" $FreeBSD$ +Enable staging of files to a stage tree. +This can be best thought of as auto-install to +.Va DESTDIR +with some extra meta data to ensure dependencies can be tracked. +Depends on +.Va WITH_META_MODE . Added: head/tools/build/options/WITH_STAGING_MAN ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_STAGING_MAN Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Enable staging of MAN pages to stage tree. Added: head/tools/build/options/WITH_STAGING_PROG ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_STAGING_PROG Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Enable staging of PROGs to stage tree. Added: head/tools/build/options/WITH_STALE_STAGED ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_STALE_STAGED Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Check staged files are not stale. Added: head/tools/build/options/WITH_SYSROOT ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tools/build/options/WITH_SYSROOT Mon Jun 22 20:21:57 2015 (r284708) @@ -0,0 +1,4 @@ +.\" $FreeBSD$ +Enable use of sysroot during build. +Depends on +.Va WITH_META_MODE . Modified: head/tools/build/options/makeman ============================================================================== --- head/tools/build/options/makeman Mon Jun 22 19:43:08 2015 (r284707) +++ head/tools/build/options/makeman Mon Jun 22 20:21:57 2015 (r284708) @@ -46,7 +46,7 @@ show_options() echo ${opt} ;; *) - echo "make showconfig broken: ${val} is not yes or no" >&2 + echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2 exit 1 ;; esac @@ -96,7 +96,7 @@ show() exit 1 ;; esac - ${make} "$@" showconfig __MAKE_CONF=/dev/null | + ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null | while read var _ val ; do opt=${var#MK_} case ${val} in @@ -107,7 +107,7 @@ show() echo ${no_prefix}_${opt} ;; *) - echo "make showconfig broken: ${val} is not yes or no" >&2 + echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2 exit 1 ;; esac
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506222021.t5MKLwqp084129>