Boost logo

Boost-Build :

Subject: Re: [Boost-build] user-config.jam permanent location
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-08-14 22:36:29


On 8/14/2010 1:35 PM, Vladimir Prus wrote:
> On Saturday 14 August 2010 17:40:24 Edward Diener wrote:
>
>> On 8/14/2010 1:43 AM, Vladimir Prus wrote:
>>> On Saturday 14 August 2010 06:01:58 Edward Diener wrote:
>>>
>>>> On 8/13/2010 2:39 AM, Vladimir Prus wrote:
>>>>> On Friday 13 August 2010 07:16:21 Edward Diener wrote:
>>>>>
>>>>>> When I open any user-config.jam I see:
>>>>>>
>>>>>> "# This file is used to configure your Boost.Build installation. You
>>>>>> can modify
>>>>>> # this file in place, or you can place it in a permanent location so that it
>>>>>> # does not get overwritten should you get a new version of Boost.Build. See:
>>>>>> #
>>>>>> #
>>>>>> http://boost.org/boost-build2/doc/html/bbv2/reference.html#bbv2.reference.init
>>>>>> #
>>>>>> # for documentation about possible permanent locations."
>>>>>>
>>>>>> When one goes to
>>>>>> http://boost.org/boost-build2/doc/html/bbv2/reference.html#bbv2.reference.init
>>>>>> there is no information there about a permanent location for
>>>>>> user-config.jam.
>>>>>
>>>>> I have updated the URL to:
>>>>>
>>>>> http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html
>>>>>
>>>>> where a table of locations of config files is present.
>>>>
>>>> Does not the search order for user-config.jam start with the boost build
>>>> directory ?
>>>
>>> No. It starts with $HOME, because if it started with something else, user-config.jam
>>> placed in $HOME would be ignored.
>>>
>>>> In the page above the search order for user-config.jam does
>>>> not include that at all.
>>>
>>> That is the $BOOST_BUILD_PATH in the table.
>>
>> So one of the environment variables must be set in order for
>> user-config.jam to be found and the user to be able to use the Boost
>> Build system ?
>
> Not exactly. First, $HOME + $BOOST_BUILD_PATH applies for Unix. There,
> $HOME is always set. Also, Boost.Build startup will append its own
> location to BOOST_BUILD_PATH.
>
> For Windows, the situation is similar, except that different variables
> are used to find the user 'home directory'.

You have confused me with the above comments. If $BOOST_BUILD_PATH is
not set, how can Boost.Build startup append anything ?

I do understand that either $HOME on Unix/Linux or %HOMEDRIVE%%HOMEPATH%
on Windows is normally always set.

Are you saying that Boost.Build startup will always internally set
BOOST_BUILD_PATH to where Boost.Build is for a given Boost distribution
( tools/build/v2 ), if BOOST_BUILD_PATH has not been set, in order to
find the user-config.jam for that distribution ? If so, clearly that
should be explained on the Configuration link given above since it is
hardly apparent from the documentation there.

>
>> I would imagine for a user downloading Boost and hoping to build some
>> part of Boost, having to set an environment variable in order to do so
>> might be an excessive requirement.
>
> I think you probably have built freshly downloaded Boost a few times already,
> without setting environment variables.

Yes I have. But surely an explanation on why that works in the
Configuration link above is in order.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk