Fix generation of src.conf.5

Since makeman turns all options on, we need to guard somethings from
make(showconfig)
This commit is contained in:
Simon J. Gerraty 2015-06-22 20:21:57 +00:00
parent 65706c12b2
commit cc2520d2f3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=284708
12 changed files with 146 additions and 4 deletions

View File

@ -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 pages,
.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 include sourceless microcode.
.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, fonts, and screen output maps.
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

View File

@ -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

View File

@ -0,0 +1,2 @@
.\" $FreeBSD$
Enable automatic creation of objdirs.

View File

@ -0,0 +1,5 @@
.\" $FreeBSD$
Cache result of dirdeps.mk which can save significant time
for subsequent builds.
Depends on
.Va WITH_META_MODE .

View File

@ -0,0 +1,3 @@
.\" $FreeBSD$
Create meta files during non META_MODE build.
The meta files can be useful for debugging.

View File

@ -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.

View File

@ -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 .

View File

@ -0,0 +1,2 @@
.\" $FreeBSD$
Enable staging of MAN pages to stage tree.

View File

@ -0,0 +1,2 @@
.\" $FreeBSD$
Enable staging of PROGs to stage tree.

View File

@ -0,0 +1,2 @@
.\" $FreeBSD$
Check staged files are not stale.

View File

@ -0,0 +1,4 @@
.\" $FreeBSD$
Enable use of sysroot during build.
Depends on
.Va WITH_META_MODE .

View File

@ -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