Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-12-06 11:02:43

Well, Dave and I were chatting via Jabber and seems to solved
the <link> issues.

We have failed to see clear distinction between internal and external
libraries. This is especially tricky if you use several projects,
all of which use Boost.Build.

The proposed solution is: introduce a simple <link> feauture.
It will have two values, static and shared, which will
determine what kind of libraries are desired.

So, for example <link>static will make everything static.

If you want a particular linkage for a certain library, you can specify
that in two ways.

1. When referring to that library

exe a : a.cpp qt/<link>shared ;

2. By using "source" rule as I've described in a previous message:

source zlib : /path/to/zlib/installation/zlib : <shared>false ;

As Dave said: "So you're using "source" as a way of adding a level of
indirection with attached bulid requirements?"

We'll also introduce <link-runtime> feature, which will affect
linking of runtime library only. It's important for Windows,
and seems unavoidable.

The last detail: <link> will be a composite feature and
<link>static will expand to
<link>static <link-runtime>static.

Therefore, <link>static will really make everything static.
OTOH, it's possible to override <link-runtime> explicitly.

Is that solution OK for everybody?

- Volodya

P.S. Markus, Dave told he recieve an email where you say that
firewall did not play nice with Psi. I did not recieve that
message yet :-( I still hope we can do something about that.
Real-time chat proved quite effective.


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at