'\" t
.\" Title: perf-check
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 2024-09-04
.\" Manual: perf Manual
.\" Source: perf
.\" Language: English
.\"
.TH "PERF\-CHECK" "1" "2024\-09\-04" "perf" "perf Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
perf-check \- check if features are present in perf
.SH "SYNOPSIS"
.sp
.nf
\fIperf check\fR []
\fIperf check\fR {feature } []
.fi
.SH "DESCRIPTION"
.sp
With no subcommands given, \fIperf check\fR command just prints the command usage on the standard output\&.
.sp
If the subcommand \fIfeature\fR is used, then status of feature is printed on the standard output (unless \fI\-q\fR is also passed), ie\&. whether it is compiled\-in/built\-in or not\&. Also, \fIperf check feature\fR returns with exit status 0 if the feature is built\-in, otherwise returns with exit status 1\&.
.SH "SUBCOMMANDS"
.PP
feature
.RS 4
Print whether feature(s) is compiled\-in or not, and also returns with an exit status of 0, if passed feature(s) are compiled\-in, else 1\&.
.sp
.if n \{\
.RS 4
.\}
.nf
It expects a feature list as an argument\&. There can be a single feature
name/macro, or multiple features can also be passed as a comma\-separated
list, in which case the exit status will be 0 only if all of the passed
features are compiled\-in\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
The feature names/macros are case\-insensitive\&.
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Example Usage:
perf check feature libtraceevent
perf check feature HAVE_LIBTRACEEVENT
perf check feature libtraceevent,bpf
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
Supported feature names/macro:
aio / HAVE_AIO_SUPPORT
bpf / HAVE_LIBBPF_SUPPORT
bpf_skeletons / HAVE_BPF_SKEL
debuginfod / HAVE_DEBUGINFOD_SUPPORT
dwarf / HAVE_DWARF_SUPPORT
dwarf_getlocations / HAVE_DWARF_GETLOCATIONS_SUPPORT
dwarf\-unwind / HAVE_DWARF_UNWIND_SUPPORT
auxtrace / HAVE_AUXTRACE_SUPPORT
libaudit / HAVE_LIBAUDIT_SUPPORT
libbfd / HAVE_LIBBFD_SUPPORT
libcapstone / HAVE_LIBCAPSTONE_SUPPORT
libcrypto / HAVE_LIBCRYPTO_SUPPORT
libdw\-dwarf\-unwind / HAVE_DWARF_SUPPORT
libelf / HAVE_LIBELF_SUPPORT
libnuma / HAVE_LIBNUMA_SUPPORT
libopencsd / HAVE_CSTRACE_SUPPORT
libperl / HAVE_LIBPERL_SUPPORT
libpfm4 / HAVE_LIBPFM
libpython / HAVE_LIBPYTHON_SUPPORT
libslang / HAVE_SLANG_SUPPORT
libtraceevent / HAVE_LIBTRACEEVENT
libunwind / HAVE_LIBUNWIND_SUPPORT
lzma / HAVE_LZMA_SUPPORT
numa_num_possible_cpus / HAVE_LIBNUMA_SUPPORT
syscall_table / HAVE_SYSCALL_TABLE_SUPPORT
zlib / HAVE_ZLIB_SUPPORT
zstd / HAVE_ZSTD_SUPPORT
.fi
.if n \{\
.RE
.\}
.RE
.SH "OPTIONS"
.PP
\-q, \-\-quiet
.RS 4
Do not print any messages or warnings
.sp
.if n \{\
.RS 4
.\}
.nf
This can be used along with subcommands such as \*(Aqperf check feature\*(Aq
to hide unnecessary output in test scripts, eg\&.
\*(Aqperf check feature \-\-quiet libtraceevent\*(Aq
.fi
.if n \{\
.RE
.\}
.RE