Skip to content

Compatibility Matrix

rninja compatibility with Ninja and build systems.

Ninja Compatibility

Command-Line Options

Option Ninja rninja Notes
-C DIR Change directory
-f FILE Build file
-j N Parallel jobs
-k N Keep going
-l N Load limit
-n Dry run
-v Verbose
-d MODE Debug mode
-t TOOL Subtools
-w FLAG Warnings

Subtools

Tool Ninja rninja Notes
clean Remove outputs
cleandead Remove stale outputs
compdb Compilation database
deps Show dependencies
graph GraphViz output
query Target info
targets List targets
commands Show commands
recompact Compact log
restat Update timestamps
rules List rules
cache-* rninja extension
daemon-* rninja extension

File Formats

File Ninja rninja Notes
build.ninja Identical
.ninja_log Compatible
.ninja_deps Compatible
compile_commands.json Standard format

Exit Codes

Code Ninja rninja Meaning
0 Success
1 Build failed
2 Invalid arguments

Debug Modes

Mode Ninja rninja
stats
explain
keepdepfile
keeprsp

Build System Compatibility

CMake

Feature Support Notes
Ninja generator cmake -G Ninja
Multi-config Via ninja-multi
compile_commands.json Standard format
Custom commands Full support
cmake -G Ninja -B build
rninja -C build

Meson

Feature Support Notes
Ninja backend Default backend
Subprojects Full support
compile_commands.json Auto-generated
Cross-compilation Full support
meson setup build
rninja -C build

GN (Generate Ninja)

Feature Support Notes
Build files Full support
Toolchains All supported
Actions Full support
gn gen out/Default
rninja -C out/Default

Bazel

Feature Support Notes
Direct Uses own executor
Via rules_foreign_cc CMake/Ninja builds

Buck2

Feature Support Notes
Direct Uses own executor

Platform Compatibility

Operating Systems

Platform Support Notes
Linux (x86_64) Full support
Linux (aarch64) Full support
macOS (x86_64) Full support
macOS (Apple Silicon) Full support
Windows (x86_64) Full support
FreeBSD Full support

CI/CD Platforms

Platform Support Notes
GitHub Actions Full support, examples provided
GitLab CI Full support, examples provided
Jenkins Full support
CircleCI Full support
Azure Pipelines Full support
Buildkite Full support

Container Platforms

Platform Support Notes
Docker Official images available
Podman Compatible with Docker images
Kubernetes Deployment guides provided

Compiler Compatibility

Depfile Formats

Compiler Format Support
GCC GCC (deps = gcc)
Clang GCC (deps = gcc)
MSVC MSVC (deps = msvc)
Intel ICC GCC
Intel ICX GCC

Response Files

Compiler Support
GCC @file
Clang @file
MSVC @file

Known Limitations

Ninja Features

Feature Status Notes
Pools Full support
Console pool Full support
Phony targets Full support
Default targets Full support
Depfile parsing All formats
Dynamic dependencies dyndep supported

Edge Cases

Scenario Ninja rninja Notes
Very long command lines Uses response files
Unicode paths UTF-8 support
Symlinks Followed correctly
Network paths Supported

Migration Path

Drop-in Replacement

# Create symlink
sudo ln -sf $(which rninja) /usr/local/bin/ninja

# Or alias
alias ninja=rninja

Verification

# Compare behavior
ninja -n -v > ninja.log 2>&1
rninja -n -v > rninja.log 2>&1
diff ninja.log rninja.log

Rollback

# Remove symlink
sudo rm /usr/local/bin/ninja
sudo ln -sf $(which ninja.real) /usr/local/bin/ninja

Version Compatibility

rninja Ninja Status
0.1.x 1.11+ Full
0.1.x 1.10.x Full
0.1.x 1.9.x Full
0.1.x 1.8.x Compatible