VS 2026 installs non-native tools by default alongside the native tools. This caused conflict with our detection as it would pick the first compiler instead of the host compiler. We now are explicit about looking for the host specific tools only.
fixes#484
When such an argument isn't registered we fail to check `ARGV` directly as a backup, for backward compatibility. This fixes that problem by checking if an argument is registered, and if not falling back on the direct `ARGV` check.
fixes#440
This completes rewriting the command line argument parsing to replace it with the Lyra library. The main() changes now allow for parsing project jamfiles before printing help text. And hence allow for all jam side args to be displayed with -h.
This implements obtaining and generating compile commands from toolsets that compile C or C++ sources. I.e. implements both the --command-database=json amd --command-database-out=<filename> CLI options. Although it implements the toolset changes for most compilers, only a few are tested.
Fixes#395
Add property-db class to record & write structured data.
This adds a utility to record structured data in the form of a property database where the keys are a property path with string or number values. The data can be converted to a string, or written to a file, as JSON.
The import would load modules that had already been loaded instead of just importing the symbols. This would cause stack overflows if a module happened to accidentally re-load itself indefinitely. This fixes the overflow by importing but not loading modules that recurse.
fixes#367
Adds run-flags feature to allow more control on how MPI run targets are executed. This also removes the Boost specific dependency in the `mpi-test` rule.
This expands out the failed and skipped summary tail lines to also include a sorted list of action and targets of the corresponding failed and skipped targets. This makes it easier to see them and to further search for individual ones in teh rest of the output. It also makes it possible to quickly retry specific targets.
fixes#196