
"Yuval Ronen" <ronen_yuval@yahoo.com> writes:
I'd like to ask one more question, if possible. How does it know how to expand $(BOOST_ROOT)? If I'm standing in C:\libraries\boost_1_32_0\libs\python\test, for example, how can it possibly know that "$(BOOST_ROOT)" is "../../.."? I can't think of any algorithm that can reliably determine this. What am I missing?
BOOST_ROOT is registered as a "path global" in the top-level Jamrules file:
path-global BOOST_ROOT : . ;
Boost.Build simply adjusts its value appropriately before loading each Jamfile.
And how is this Jamrules file found? The only thing I can think of is this: Wherever (in terms of directory) I'm invoking the build, the algorithm is to go up the directory tree until a file by the name of "Jamrules" is found, and then do what it says. Is this correct?
Basically, yes. -- Dave Abrahams Boost Consulting www.boost-consulting.com