freebsd-src/share/mk
Domagoj Stolfa 93f27766a7 dtrace: Add the 'oformat' libdtrace option
This option can be used to specify a format to use in DTrace output.
The following formats are supported:
 - json
 - xml
 - html
 - none (default DTrace output)

This is implemented using libxo and integrated into libdtrace. Client
code only works with the following API:

 - dtrace_oformat_setup(dtrace_hdl_t *) -- to be called when output is starting.
 - dtrace_oformat_teardown(dtrace_hdl_t *) -- to be called when output is finished
 - dtrace_oformat(dtrace_hdl_t *) -- check if oformat is enabled.
 - dtrace_set_outfp(FILE *) -- sets the output file for oformat.
 - Ensure that oformat is correctly checked in the drop handler and record
   processing callbacks.

This commit also adds tests which check if the generated output is
valid (JSON, XML) and extends the dtrace(1) describing the structured output.

Reviewed by:	markj
Discussed with:	phil
MFC after:	2 months
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D41745
2024-01-10 18:14:26 -05:00
..
atf.test.mk atf.test: fix installation of python test scripts 2023-12-19 17:23:54 +01:00
auto.obj.mk
bsd.arch.inc.mk
bsd.clang-analyze.mk
bsd.compat.mk bsd.compat.mk: Set MACHINE before including bsd.opts.mk 2023-11-10 09:57:45 +00:00
bsd.compat.pre.mk
bsd.compiler.mk Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
bsd.confs.mk
bsd.cpu.mk
bsd.crunchgen.mk crunchgen: fix "keep" for an ELF world, break it out 2023-11-09 22:33:58 -06:00
bsd.dep.mk
bsd.dirs.mk
bsd.doc.mk share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
bsd.dtb.mk
bsd.endian.mk
bsd.files.mk
bsd.incs.mk
bsd.info.mk
bsd.init.mk
bsd.kmod.mk
bsd.lib.mk share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
bsd.libnames.mk
bsd.linker.mk
bsd.links.mk pkgbase: put library links and symlinks in the -dev package 2023-09-14 10:19:42 +01:00
bsd.man.mk bsd.man.mk allow staging compressed pages 2023-12-30 09:10:03 -08:00
bsd.mkopt.mk share/mk: support for "single" group options 2023-09-01 17:52:28 +01:00
bsd.nls.mk
bsd.obj.mk
bsd.opts.mk pkgbase: Split out manpages by default 2023-09-14 16:50:40 +01:00
bsd.own.mk bsd.own.mk: Assume a modern make 2024-01-03 12:13:57 -07:00
bsd.port.mk bsd.port.mk: No need to support fmake anymore 2024-01-03 12:14:07 -07:00
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk bsd.port.mk: No need to support fmake anymore 2024-01-03 12:14:07 -07:00
bsd.prog.mk Add INIT_ALL build option 2023-09-01 17:54:24 +01:00
bsd.progs.mk <bsd.progs.mk>: Allow using SRCS for common sources 2023-12-27 17:01:39 -07:00
bsd.README share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
bsd.sanitizer.mk
bsd.snmpmod.mk
bsd.subdir.mk share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
bsd.suffixes-posix.mk
bsd.suffixes.mk
bsd.symver.mk
bsd.sys.mk bsd.sys.mk: Disable -Wdangling-reference for GCC 13+ 2023-11-14 18:35:04 -08:00
bsd.sysdir.mk
bsd.test.mk
dirdeps-options.mk
dirdeps-targets.mk Update jobs.mk to leverage -jC 2023-09-18 11:40:07 -07:00
dirdeps.mk
gendirdeps.mk bsd.progs.mk must pass META_XTRAS to gendirdeps.mk 2023-11-04 10:17:40 -07:00
googletest.test.inc.mk
googletest.test.mk
host-target.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
install-new.mk
jobs.mk Update jobs.mk to leverage -jC 2023-09-18 11:40:07 -07:00
kmod.opts.mk
local.autodep.mk Move the adding of CFLAGS_LAST to bsd.sys.mk 2023-09-28 14:01:56 -07:00
local.dirdeps-options.mk loader: add target for dirdeps build 2023-11-02 19:35:08 -04:00
local.dirdeps.mk loader: add target for dirdeps build 2023-11-02 19:35:08 -04:00
local.gendirdeps.mk Stop adding $FreeBSD$ to Makefile.depend 2023-10-29 11:40:03 -07:00
local.init.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
local.meta.sys.env.mk
local.sys.dirdeps.env.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
local.sys.dirdeps.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
local.sys.env.mk
local.sys.machine.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
local.sys.mk Guard CROSS_TARGET_FLAGS from buildworld 2023-09-23 15:58:13 -07:00
Makefile share: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
meta.autodep.mk Update jobs.mk to leverage -jC 2023-09-18 11:40:07 -07:00
meta.stage.mk
meta.subdir.mk Update jobs.mk to leverage -jC 2023-09-18 11:40:07 -07:00
meta.sys.mk
meta2deps.py
meta2deps.sh
netbsd-tests.test.mk
plain.test.mk
src.init.linux.mk Add support for host32 for DIRDEPS_BUILD 2023-09-22 23:27:37 -07:00
src.init.mk Remove unnecessary -isystem for host 2023-09-28 14:19:25 -07:00
src.libnames.mk dtrace: Add the 'oformat' libdtrace option 2024-01-10 18:14:26 -05:00
src.lua.mk
src.opts.mk Retire LLD_IS_LD option 2023-11-13 21:34:14 +00:00
src.sys.env.mk
src.sys.mk pkgbase: set the prefix of debug files and macros to /usr/src 2023-11-14 08:43:15 +01:00
src.sys.obj.mk
src.tools.mk
stage-install.sh
suite.test.mk
sys.dependfile.mk
sys.dirdeps.mk
sys.mk sys.mk: Remove support for building with fmake on modern systems. 2024-01-03 12:14:13 -07:00
tap.test.mk
version_gen.awk