https://github.com/evmar/n2 Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} evmar / n2 Public * Notifications * Fork 2 * Star 59 n2 ("into"), a ninja compatible build system Apache-2.0 License 59 stars 2 forks Star Notifications * Code * Issues 0 * Pull requests 1 * Actions * Security * Insights More * Code * Issues * Pull requests * Actions * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 3 branches 0 tags Code Latest commit @nico @evmar nico and evmar document that n2 doesn't currently use high-res timestamps ... fe6c2d5 Mar 25, 2022 document that n2 doesn't currently use high-res timestamps fe6c2d5 Git stats * 211 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows rename workflow Mar 20, 2022 .vscode 80 col ruler Dec 21, 2021 benches parse/canonicalize all paths reusing one single string buffer Mar 23, 2022 doc document that n2 doesn't currently use high-res timestamps Mar 25, 2022 src name the lifetime Mar 25, 2022 tests build build.ninja if possible before running build Mar 5, 2022 vscode vscode skeleton Feb 21, 2022 .gitignore basic parser Aug 21, 2021 Cargo.lock integration tests Feb 27, 2022 Cargo.toml integration tests Feb 27, 2022 LICENSE readme, license Jan 3, 2022 README.md link to demo Mar 25, 2022 git-pre-commit precommit Jan 1, 2022 View code n2, an alternative ninja implementation More reading Differences from Ninja README.md n2, an alternative ninja implementation CI status n2 (pronounced "into") implements enough of ninja to successfully build some projects that build with ninja. I wrote it to explore some alternative ideas I had around how to structure a build system. Here's a small demo of n2 building some of Clang. More reading * Design notes. * Development tips. Differences from Ninja n2 is missing many Ninja features. n2 does some things Ninja doesn't: * Builds start tasks as soon as an out of date one is found, rather than gathering all the out of date tasks before executing. * Fancier status output, modeled after Bazel. * -d trace generates a performance trace as used by Chrome's about:tracing or alternatives (speedscope, perfetto). About n2 ("into"), a ninja compatible build system Resources Readme License Apache-2.0 License Stars 59 stars Watchers 8 watching Forks 2 forks Packages 0 No packages published Contributors 2 * @evmar evmar Evan Martin * @nico nico Nico Weber Languages * Rust 96.9% * TypeScript 2.6% * Other 0.5% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.