ninja-rs
scripts
ninja-rs | scripts | |
---|---|---|
1 | 2 | |
54 | 12 | |
- | - | |
10.0 | 4.6 | |
over 3 years ago | about 1 year ago | |
Rust | Python | |
Apache License 2.0 | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ninja-rs
-
N2: Alternative Ninja Implementation
I also created a minimal Ninja implementation in Rust some time ago. My goals were to implement it in terms of the Build Systems a la carte paper. Of course, hard to compete with the original ninja authors who obviously understand it much better. For example I used a separate lexer and environments, which got a little annoying and is something explicitly called out in their design.
https://github.com/nikhilm/ninja-rs
scripts
-
Ninja is enough build system
> This tiny little implementation[0] in Python!
345 lines of well-commented Python. Cute as a button! It doesn't seem to re-use already-built files, though.
I wonder how many lines that would add. I actually have a bit of Python in my build pipeline that basically just goes `if os.path.getmtime(src) > os.path.getmtime(target)` and it works fine (and took far less effort than trying to shoehorn that build step into my Makefile).
[0] https://github.com/gkbrk/scripts/blob/master/ninja.py
-
N2: Alternative Ninja Implementation
Shameless plug, I also wrote my own Ninja implementation [1]. I tried to make it easy to understand, while supporting all the Ninja features I used.
In the end, it was able to compile my own kernel and a few other Ninja projects.
[1]: https://github.com/gkbrk/scripts/blob/master/ninja.py
What are some alternatives?
n2 - n2 ("into"), a ninja compatible build system
ninja - a small build system with a focus on speed
ninja - Kitware branch of ninja for staging features not yet integrated upstream