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:
>>>>>> #
>>>>>> #
>>>>>> #
>>>>>> # for documentation about possible permanent locations."
>>>>>> When one goes to
>>>>>> there is no information there about a permanent location for
>>>>>> user-config.jam.
>>>>> I have updated the URL to:
>>>>> 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, david.abrahams at, gregod at, cpdaniel at, john at