Boost logo

Boost-Build :

From: Pedro Ferreira (pedro.ferreira_at_[hidden])
Date: 2004-12-03 07:02:54


Hi Volodya,

this is something we've been doing here for a long time using some "hacks"
into Boost.Build.
I've been planning to send some patches but haven't yet had time to do it.

I've just checked out the head of the CVS and tried it out. I've got a
couple of doubts, though:

- Since only the staged target gets a different name, what if I include the
base target in the sources? Using the above example:

lib foo : foo.cpp my_list ;

foo.so will depend upon libmy_list.so and not libmy_list.so.1.32.0. Or did I
get it wrong?

- In addition to this, I think versioning is horizontal to all platforms.
E.g., for Windows what we do here is to change the DLL name but keep the
import lib name:

MyDLL.dll --> MyDLL.1.32.0.dll
MyDLL.lib --> MyDLL.lib

In order to do this, I changed generators.generated-targets so that, if a
<version-number> property exists:
- for gcc, the version number is appended to the name of SHARED_LIB targets.
- for msvc, the version number is inserted between the name and the postfix
of SHARED_LIB targets.
- IMPORT_LIB targets are kept unchanged.

Symlinks are another problem, and I agree that these should be done at the
stage level.

Comments?

Regards,

Pedro

----- Original Message -----
From: "Vladimir Prus" <ghost_at_[hidden]>
To: <jamboost_at_[hidden]>
Sent: Friday, December 03, 2004 7:27 AM
Subject: Re: [jamboost] [Q] bbv2 -- How to control naming of, and
symbolically linking to, the boost libraries?

>
> Hi Michael,
>> When I build the boost libs with bbv1, the shared library names follow
>> the usual convention, i.e.,
>>
>> foo.so -> foo.so.N.NN.N
>>
>> How do I accomplish the same using bbv2? I realize I [probably] have to
>> edit each lib's Jamfile.v2, but I can not find in the documentation how
>> to specify the library names/numbering. For example, the test jamfile
>> has this...
>>
>> lib boost_prg_exec_monitor : $(PRG_EXEC_MON_SOURCES).cpp ;
>>
>> Which, when staged to my lib.v2 directory, produces
>>
>> boost_prg_exec_monitor.so
>>
>> How do I control bbv2 to produce
>>
>> boost_prg_exec_monitor.so -> boost_prg_exec_monitor.so.1.32.0
>
> The bad news is that you cannot. The good news is that it's in the works.
> With
> the CVS version you can do:
>
> stage dist : my_list : <so-version>1.32.0 ;
>
> which will change the name of the library and relink it. I'll add symlinks
> today.
>
> - Volodya
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>

 


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