Ok,

finally I've succeeded to build the shared libraries ( .so) with the 1.37 beta (it's more better than the previous 1.36 regarding jam problems) applying only a small patch into gcc.jam ( that still inserts --out-implib even that is .so and cross compiler and NOT windows).

The ugly patch I did is as follows:

$ diff -u gcc.jam gcc.jam.org

--- gcc.jam     2008-10-27 16:02:18.406250000 +0200

+++ gcc.jam.org 2008-10-27 15:10:49.093750000 +0200

@@ -501,7 +501,7 @@

 }

 .IMPLIB-COMMAND = ;

-if [ os.on-windows ] && !  --cross-compile in [ modules.peek : ARGV ]

+if [ os.on-windows ]

 {

     .IMPLIB-COMMAND = "-Wl,--out-implib," ;

     generators.register

I inserted an artificial parameter in bjam:

Bjam … --cross-compile ...

And combined with the patch above it avoids assigning .IMPLIB-COMMAND = "-Wl,--out-implib," 

I didn't it in a more accurate way because I still don't fully understand jam…

Now I'll be able to begin test it ( I hope it works :) )…

Thanks for the help

Ivo Faldini


>______________________________________________

>From:  Ivo Faldini 

>Sent:  Monday, October 27, 2008 2:29 PM

>To:    'boost-build@lists.boost.org'

>Subject:       Re: [Boost-build] Troubles when trying to cross compile boost 1.3.6 serialization package on CYGWIN for PowerPC

Hi ,

> > Now I still have a problem that I didn't solved yet and I would
> > like to ask: packages are built with .dll suffix instead of .so suffix.
> > I would like to know how to instruct bjam to use .so suffix instead of
> > .dll sufix ( I don't want to only rename the *.dll into *.so because I
> > don't know is it is enough)?

> Renaming .dll into .so won't work, I think, since the name encoded inside
> the libraries is still .dll.

> There's no easy solution for this problem using 1.36. You can replace
> tools/build/v2 with the content found in SVN HEAD, and then run bjam as:

> bjam <other options> target-os=linux

> and this should cause the right extension to be used. Can you try this?

> - Volodya