A collection of core tools for a POSIX-compatible operating system.
Each "one-shot" tool is a single C file under src/ and can be compiled with the following:
c99 -o $tool -D_POSIX_C_SOURCE=200809L src/$tool.c
More complex tools may have several files under one directory:
c99 -o $tool -D_POSIX_C_SOURCE=200809L -Isrc/$tool/ src/$tool/*.c
To enable optional XSI support, use
-D_XOPEN_SOURCE=700 instead of
Alternatively, you can compile all of the tools with meson:
meson . build ninja -C build
This is recommended for distro packagers. Various options are available when building with meson via meson_options.txt.
Build with meson and run
ninja -C build test to run POSIX conformance tests
ctools includes POSIX.1-2017 base utilities, but does not support any POSIX.1-2017 option groups, with the exception of XSI support where relevant to POSIX base utilities (optional). See the STATUS file for a summary of utilities defined by POSIX and their status for inclusion in ctools.
A shell is not provided. mrsh is recommended for this purpose.
Mail patches, bugs, etc, to the mailing list: ~firstname.lastname@example.org
Consult https://git-send-email.io for information on preparing patches.