26e2527492
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.
51 lines
1.0 KiB
Markdown
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.
|