Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-22 08:12:14


"Yuval Ronen" <ronen_yuval_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:ufywjju4b.fsf_at_boost-> > I've looked at the build system (i.e, Jam
> files) and noticed that most of
>> > time, the directories (include directories, link directories) are
> specified
>> > in absolute format - $(BOOST_ROOT)/whatever. However, not all of them
> are
>> > absolute. Some are relative - ../../../whatever. Other parts of the
> Boost
>> > tree, such as the html files, contain relative paths.
>>
>> Actually all the paths are relative. $(BOOST_ROOT) expands to a
>> relative path like ../../.. that is adjusted to a new appropriate
>> value in each Jamfile.
>
> 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.

HTH,

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk