Reference

sysconf-src(8)

configure the src-env.conf / make.conf / src.conf triad

NAME

sysconf src – configure the src-env.conf / make.conf / src.conf triad

SYNOPSIS

sysconf src [-ceFinNqsvVx] [-j jail | -R dir] [-f file] name[[+|-]=value] ...

sysconf src [-eFnNqvV] [-f file] -a

sysconf src [-E] -l | -L

DESCRIPTION

The src target of sysconf(8) is the /usr/src build audience: it consults the same triad make(1) uses when building the source tree( src-env.conf, then make.conf, then src.conf), honoring SRC_ENV_CONF, __MAKE_CONF, and SRCCONF when set. See bsdconf_format(3) and src.conf(5). Shared options are in sysconf(8); authoritative-file and removal policy in sysconf-targets(8); ‘+=’ and ‘-=’ semantics match sysconf-make(8).

New directives are written to src.conf (or the path in SRCCONF); an existing definition is rewritten in the file that last set it. There is no separate ‘src-env’ keyword; use src or -f for surgical edits of src-env.conf.

‘WITH_*’ and ‘WITHOUT_*’ are presence knobs( src.conf(5) ignores the value; empty ‘name=’ is the preferred spelling). Prefer -s name over name= when only presence matters; -s leaves an already-defined knob (any value) unchanged and echoes ‘(present) (unchanged)’. An explicit name= (including empty) always writes the requested value, and a change of placeholder echoes ‘name: old -> new’. -s appends to the preferred write file and does not remove an inverse ‘WITH_’ or ‘WITHOUT_’ for the same option. Reads show ‘name (present)’ for any assigned value; with -e, the real assignment( e.g. ‘name=’ or ‘name=t’); with -n, that same value alone (empty when the assignment is ‘name=’). Writing ‘WITH_foo=no’ warns as on the make target (see sysconf-make(8)); /usr/src make evaluates such assignments via bsd.opts.mk and src.opts.mk.

WITHOUT_MODULES is not a presence knob: its value is a module reject list, so -s is rejected and reads print the module list rather than ‘(present)’. Set it with a normal assignment (e.g. WITHOUT_MODULES=plip).

This target has no defaults file; -d, -D, and -A are errors.

ENVIRONMENT

SRC_ENV_CONF

Path of src-env.conf (default /etc/src-env.conf); verbatim, not subject to -R.

__MAKE_CONF

Path of make.conf (default /etc/make.conf); verbatim, not subject to -R.

SRCCONF

Path of src.conf (default /etc/src.conf); verbatim, not subject to -R. Also the preferred write file for new directives.

FILES

/etc/src-env.conf

First file of the triad.

/etc/make.conf

Middle file of the triad.

/etc/src.conf

Last file and preferred write target.

EXAMPLES

sysconf src -s WITHOUT_LLDB

sysconf src WITHOUT_LLDB=

sysconf src WITHOUT_LLDB

sysconf src -x WITHOUT_LLDB

sysconf src -V CFLAGS

SEE ALSO

make(1), bsdconf_format(3), src.conf(5), sysconf(8), sysconf-make(8), sysconf-targets(8)

HISTORY

The sysconf utility first appeared in FreeBSD 16.0.

AUTHORS

Devin Teske ⟨[email protected]⟩ Faraz Vahedi ⟨[email protected]⟩