Boost logo

Boost-Build :

From: klapshin <klapshin_at_[hidden] (klapshin_at_[hidden])
Date: 2003-02-20 14:35:43


--- In jamboost_at_[hidden], Vladimir Prus <ghost_at_c...> wrote:
> This resembles very much what I need. In my settings, project-
root.jam contains:
[skip]
Thanks a lot. Works perfectly.

> exe a : [ GLOB [ project.attribute $(__name__) location ] :
*.cpp ] ;
Wow, that is pretty much what I was trying to do. What I was missing
is __name__ variable. Thanks again.

Now I have more questions; hope you would not mind.

The real problem for me at the moment is how to link one dll to
another?
For example I am using Xerces-C library, since CygWin comes with
prebuilt xerces I decided to give it a try. In my Jamfile I put
something like this:

lib xerces : : <name>xerces-c22 <search>/lib ;

lib util : util.cpp xerces ;

And bjam does not even try to link it with xerces. It is not
surprising that I am getting lots of link errors.

If in my jamfile, I replace "lib util" with "exe util" it does link
with xerces!

Another strange thing I notices is that link options appear twice on
gcc command line, e.g.:

g++ -g -L/lib -o bin/gcc/debug/util.exe
bin/gcc/debug/util.o -Wl,-Bdynamic -lxerces-c22
-Wl,-Bstatic -Wl,-Bdynamic -lxerces-c22 -Wl,-Bstatic -Wl,-
Bdynamic

And while we are at it, how would you suggest to tackle the problem
that the same external library on different systems could be located
in different places? Using environment variables?

Thanks in advance.

- Kirill

 


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