Cargo Features

[dependencies]
syd = { version = "3.48.4", default-features = false, features = ["asm", "log", "sh", "oci", "uring", "utils", "prof"] }
default = asm, log, sh, utils

These default features are set whenever syd is added without default-features = false somewhere in the dependency tree.

asm default = iced-x86, raki, yaxpeax-arch, yaxpeax-arm

Build syd-asm(1) the instruction decoder.

Affects syd::asm

Required by the syd-asm binary

log default = ringbuf

Enable the virtual syslog(2) interface.
You need this to read access violations using dmesg(1) inside Syd.

Affects log::log_init, log::log_init_simple, log::log, syslog::current_loglevel

sh default = linefeed

Enable syd-sh(1), simple confined shell based on wordexp(3).
Uses linefeed to provide readline-like interface.

Required by the syd-sh binary

oci = clap, libcgroups, libcontainer, liboci-cli, oci-spec, procfs, tabwriter, tracing, tracing-subscriber

Build OCI runtime helper "syd-oci"

Affects util::SYD_OCI

Required by the syd-oci binary

uring = io-uring

Enables io-uring based integration tests.
This is not used by the main Syd binary.

utils default

Build helper utilities.
No reason to disable this unless you want fast build cycles.

Required by syd-cat, syd-emacs, syd-fd, syd-fork, syd-fs, syd-ldd, syd-ls, syd-mem, syd-net, syd-path, syd-poc, syd-read, syd-rnd, syd-run, syd-sha, syd-stat, syd-sys, syd-tck, syd-tty and syd-utc binaries

prof = gperftools, tcmalloc

Enable profiling.
Requires gperftools installed.

Affects config::PROF_SYSCALLS

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

harness = false

procfs oci?

Enables procfs

procfs is for syd-oci only.
Core syd code uses procfs-core only.

ringbuf log
io-uring uring?

Enables io-uring =0.6

=0.7 breaks 32-bit compilation: https://builds.sr.ht/~alip/job/1401070

iced-x86 asm

Enables iced-x86

instruction decoders (thx wikky!)

raki asm
yaxpeax-arch asm
yaxpeax-arm asm
linefeed sh

Enables linefeed

syd-sh deps.

gperftools prof?

Enables gperftools

profiling deps.

tcmalloc prof?
clap oci?

Enables clap

syd-oci deps.

libcgroups oci?
libcontainer oci?
liboci-cli oci?
oci-spec oci?
tabwriter oci?
tracing oci?
tracing-subscriber oci?