Boost logo

Boost :

Subject: Re: [boost] Building stage by default, pt. 2
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-04-16 01:12:49


David Abrahams wrote:

>
> on Sat Apr 11 2009, Vladimir Prus <vladimir-AT-codesourcery.com> wrote:
>
>> Hi,
>> previously, we discussed that building the 'stage' target
>> by default would be a good idea -- since some users forget
>> that and don't have an easy way to get at built libraries.
>> See:
>>
>> http://thread.gmane.org/gmane.comp.lib.boost.devel/182787
>>
>> I've now implemented the change, taking into account the comments
>> in that thread. In particular:
>>
>> - the message now uses absolute paths
>> - the location of headers is explicitly specified
>>
>> Here's an example of the message that is output if you do "./bjam"
>> in Boost root:
>>
>> Building C++ Boost.
>>
>> After the build, the headers will be located at
>>
>> /home/ghost/Work/Boost/boost-svn
>>
>> The libraries will be located at
>>
>> /home/ghost/Work/Boost/boost-svn/stage/lib
>>
>> Use 'bjam install --prefix=<path>' if you wish to install headers and
>> libraries to a different location and remove the source tree.
>
> Makes it sound like bjam is going to delete the source tree.
>
> Try this:
>
>
> Now building Boost library binaries...
>
> ... build output here ...
>
> Boost library binaries built. To use the result with the headers
> from your source tree:
>
> * place /home/ghost/Work/Boost/boost-svn in your compiler's
> #include search path
>
> * place /home/ghost/Work/Boost/boost-svn/stage/lib in your linker's
> library search path
>
> To install library binaries and headers to a different location, so
> the source tree can be removed, use
>
> bjam install --prefix=<installation path>
>
>> I was considering outputting a 'summary' at the end of the build, as
>> opposed at the beginning, but that would require some Boost.Jam
>> changes and therefore cannot be accomplished at this point of release
>> cycle.
>
> hear, hear.

Unfortunately, your suggestion above is still to output something at the *end*.
The apparent problem is that if half of the libraries fail to build, and then
we happily output explanation of what should be added to include and library
paths, users might be very confused -- and might even miss "failed" messages.
Ideally, we should make Boost.Jam record information about failed targets,
and then say to user -- and the end of output -- which libraries failed to
build -- but that's Boost.Jam change :-(

So, I am not sure I can implement the above suggestion at this point. Or,
am I making up non-existent problems?

>> Anybody wishes to comment on the wording before this gets merged to release
>> branch?
>
> Hope it's not too late.

It's not -- it's a pure wording change so we have time until 20th for sure,
and most likely after that, too.

- Volodya

 


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