On 6/22/2015 2:41 PM, Peter Dimov wrote:
Vladimir Prus wrote:
The problem is that running configuration checks for all unique set of properties is quite wasteful.
Maybe. It works though. :-)
Say, the 'link' property usually has no effect on architecture and address-model,
How could you know?
By examining all toolsets that support the 'link' property?
The only safe choice is to encode everything. But if we're to continue to guess, I'd say that, at minimum, cxxflags can certainly affect the architecture and address-model and everything else, and are currently not encoded.
Yes, so if you do: b2 toolset=gcc and then b2 toolset=gcc cxxflags="-m32" then you'd get wrong cached results of configuration check for address-model. It is possible to solve, in general, but it requires either creating directory paths using a hash of property set (which is ugly), or storing a hash of property set is a separate data store. I believe SCons is the only one that solves this (using the second approach). Maybe it's because it's reasonable to assume that if people adding options such as "-m32" to cxxflags know what they are doing? - Volodya