svn commit: r284708 - in head: share/man/man5 share/mk tools/build/options
Simon J. Gerraty
sjg at FreeBSD.org
Mon Jun 22 20:22:02 UTC 2015
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
More information about the svn-src-all
mailing list