turtle-build 0.1.0

The Ninja build system clone written in Rust
turtle-build-0.1.0 is not a library.
Visit the last successful build: turtle-build-0.5.15

Turtle

GitHub Action License

Clone of the Ninja build system in Rust

Goals

  • Safe (no unsafe) and fast reimplementation of the Ninja build system in Rust
  • Improved frontend support
    • Full output from build rules and no output from Turtle by default
    • More customizable build/rule/progress/error output

Install

cargo install --git https://github.com/raviqqe/turtle

Usage

turtle

For more information, see turtle --help.

Compatibility

Turtle aims to support full syntax of the Ninja build files. Command line arguments are supported only partially excluding ones for debugging purposes.

  • Syntax
    • build statement
      • Explicit outputs
      • Explicit inputs
      • Implicit outputs
      • Implicit inputs
      • Order-only inputs
      • phony rule
    • rule statement
    • default statement
    • include statement
    • subninja statement
    • Global variables
    • Build-local variables
    • in and out special variable
    • builddir special variable
  • Command line arguments
    • -f custom build file option
    • -j job limit option
    • -k keep-going option
  • Others
    • Dynamic dependencies
    • Circular output dependency detection
    • Circular build file dependency detection
    • Windows support

For more information, see issues.

Similar projects

License

MIT