Boost logo

Boost-Build :

From: Marcello Pietrobon (pietrom_at_[hidden])
Date: 2007-07-03 12:00:46


Rene Rivera wrote:
> Marcello Pietrobon wrote:
>
>> On the command line I used the command:
>> bjam --with-thread --debug-configuration --stagedir=c:/boost
>> --toolset=msvc-7.1 stage
>>
>
> You need:
>
> bjam --with-thread --debug-configuration --stagedir=c:/boost
> toolset=msvc-7.1 stdlib=stlport stage
>
>
>
>
First of all thank you for the quick answer.
I tried that at first, but ...

The reason of this reply is different:

If the user specifies $(version), for example 5.1~msvc71
the variable $(self.version.5) becomes = 5.1
Which is correct.
But after the line
            name = $(name:J=) ;
somehow the varaible 'name' loses everything after the first dot included.
for example it becomes:
stlportstld.5.dll
instead than
stlportstld.5.1.dll

That forced me to hack both the stlport.jam file AND especially stlport
so the output would be stlportstld_5_1.dll

The reason I did something different is that I need to keep dll versions
of stlport both for vc71 and vc80
Stlport is finally letting to do this much more easily than in the past
by using the option:
 --lib-motif MOTIF.
so the output is of the kind
  stlportd_MOTIF.5.1.lib
  stlportstld_static_MOTIF.5.1.lib

The stlport.jam file is very easy to read. I changed it as:

        self.version.5 = [ MATCH "^(5[.][0123456789]+).*" : $(version) ]
; # unchanged
        self.postfix_compiler = [ MATCH ".*~[ms]*(.*)$" : $(version) ] ;
# assuming that we specify $(version) as 5.0~msvc71 or 5.0~vc71
       ...
       and change
            name += .$(self.version.5) ;
            name = $(name:J=) ;
       into:
            #
            name += _$(self.postfix_compiler) ;
            name += _5_1 ; #name += .$(self.version.5) ;
            name = $(name:J=) ;

In this way it works with a library name like: stlportstld_vc71_5_1.dll

What surprises me is that
          name += _5.1 ;
cannot work with jam.

Essentially stlport.jam doesn't accept any dot in a library name !

Another minor problem, already reported by David Deakins one year ago
http://lists.boost.org/boost-build/2006/09/15036.php
is that the output directory get duplicated so I just commented away, as
he suggested,
    usage-requirements += <stdlib>stlport-$(self.version) ;

Again my compliments for jam ! It is very well done !

Cheers,
Marcello



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