Boost logo

Boost-Build :

From: Pedro Ferreira (pedro.ferreira_at_[hidden])
Date: 2003-10-30 12:10:19


Hi Volodya,

> > I have shamelessly hacked response-file in builtin.jam in order not to
> > include libraries in static libs, but I'm sure there's a better way to
it.
> > Pointers to how to fix this would be appreciated.
>
> First, the explanation. The msvc.link generator, which creates EXE, tries
to
> create RSP file from all sources. The generator for RSP, defined at the
end
> of builtin.jam, accepts all types of libraries. As the result, searched
lib
> is considered consumed and added to RSP.
>
> The workaround I have now is to put the following at the end of
builtin.jam:
>
> register-linker builtin.response-file : OBJ SEARCHED_LIB STATIC_LIB
> IMPORT_LIB : RSP : <link>shared ;
> register-linker builtin.response-file : OBJ : RSP : <link>static ;
>
> Instead of generator declaration that is currently there. Maybe, you can
try
> with this change? The modified file is at
>
> http://zigzag.cs.msu.su:7813/working_copy/v2/tools/builtin.jam
>
> It works ok for your test case.

It works. Thanks!

> P.S. In fact, I start to think that RSP generator is too fancy and should
be
> removed. But that's not for M9 ;-)

While we're at it ;-) there's another problem with rsp files:

- you forget to add a dependency to the Jamfile;
- the linker fails saying that a library is missing;
- you add the dependency to the Jamfile;
- the rsp file is not rebuilt and the linker still fails.

Cheers,

Pedro

 


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