For some niche use cases, it might be useful to override the normal tool/builder for a particular case. For instance, maybe you want to build most of your stuff with gcc, but you want to use icc for one build. Or build with gcj but run a "regular" Java program.
One possible implementation is this:
Add some optional arguments to env.tool() and env.builder() that produce non-cached tools/builders; you'd probably want to do this by overriding env vars
Let build steps take a builder argument (or compiler, linker, etc) that overrides the default builder selection
Either make it easy to explicitly use run-wrappers or provide a way to override the runner/"builder" when running commands
For some niche use cases, it might be useful to override the normal tool/builder for a particular case. For instance, maybe you want to build most of your stuff with gcc, but you want to use icc for one build. Or build with gcj but run a "regular" Java program.
One possible implementation is this:
env.tool()
andenv.builder()
that produce non-cached tools/builders; you'd probably want to do this by overriding env varsbuilder
argument (or compiler, linker, etc) that overrides the default builder selection