Files
SFG545 26e2527492 build: support selecting enabled utils in Meson
Add a new Meson array option, utils, to allow building only selected applets while keeping the default as all.

Gate source inclusion, dependencies, symlink/manpage/script install steps, and test registration by enabled util set, and make applet dispatch in src/main.c compile-time conditional via generated config defines.

Document selective build usage in README.
2026-04-18 06:34:18 -05:00

51 lines
1.0 KiB
Markdown

# VX
VX is a BSD-oriented multicall utility for Linux.
It bundles a growing set of FreeBSD-derived userland tools into a single `vx` binary, with applets selected by `argv[0]` or by subcommand.
## Included applets
- `patch`
- `diff`, `cmp`, `diff3`, `sdiff`
- `which`
- `gzip`, `gunzip`, `zcat`, `gzcat`, `uncompress`
- `grep`, `egrep`, `fgrep`, `rgrep`
- `find`
- `xargs`
- `lspci`, `setpci`
## Build
VX uses Meson.
```text
meson setup builddir
meson compile -C builddir
meson test -C builddir
```
To build only selected utilities:
```text
meson setup builddir -Dutils=grep,find,xargs
```
The default is `-Dutils=all`.
## Run
You can invoke applets either through the multicall binary:
```text
./builddir/vx grep pattern file
./builddir/vx find . -name '*.c'
```
or via installed symlinks such as `grep`, `find`, or `patch`.
## Notes
- The project force-includes `src/compat-headers/compat.h` to provide Linux compatibility shims for BSD userland code.
- Some behavior is intentionally BSD-flavored, even where GNU tools differ.