Perhaps previous post would answer…
Current Jam has a lot of bugs/limitations, both small (taking a sublist with an endpoint just doesn’t return anything) and fundamental (Jam doesn’t track it’s environment or Jamfiles so it can’t always tell when something needs to be rebuilt). It’s also generally a difficult codebase to work in.
Ham aims to be:
It also has compatibility features that subsume other Jam forks, so it’s an all-in-one tool.
Great! If Ham can do what Jam does but more efficiently and organized, that might just save us from having to rewrite jamfile definitions later.
After all, Fuchsia used to use (or maybe still uses) a preprocessor for Ninja Build called Build Ninja to combine build steps for parallel builds on Google’s datacenters. If Ham can become an integrated one step process for a build chain, that’ll be fine with me.