Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-03 09:38:00

Hi Pedro,

> this is something we've been doing here for a long time using some "hacks"
> into Boost.Build.
> I've been planning to send some patches but haven't yet had time to do it.
> I've just checked out the head of the CVS and tried it out. I've got a
> couple of doubts, though:
> - Since only the staged target gets a different name, what if I include the
> base target in the sources? Using the above example:
> lib foo : foo.cpp my_list ;
> will depend upon and not Or did
> I get it wrong?

This is important question, that I, frankly, has missed. Indeed, will
depend on '', which is not what's intended. I see two solutions:

- since we relink when staging (now), it's probably possible to change the
sources to the staged version of library --
- it's possible to apply this logic at each individual target. This will
eliminate the need to relink libraries when staging, but I wonder if there
any negative side effects?

> - In addition to this, I think versioning is horizontal to all platforms.
> E.g., for Windows what we do here is to change the DLL name but keep the
> import lib name:
> MyDLL.dll --> MyDLL.1.32.0.dll
> MyDLL.lib --> MyDLL.lib

This is another important question. Current Boost install adds the version
number to name and on Linux, *also* to suffix. The above scheme (add to name
on Windows, to suffix on Unix), is more reasonable, in my opinion, but I
don't know yet why Boost install works this way.

Why you don't change the name of import lib, BTW? Is import lib never
distributed installed?

> In order to do this, I changed generators.generated-targets so that, if a
> <version-number> property exists:
> - for gcc, the version number is appended to the name of SHARED_LIB
> targets. - for msvc, the version number is inserted between the name and
> the postfix of SHARED_LIB targets.
> - IMPORT_LIB targets are kept unchanged.

I see, this is a valid option -- though if we go this way I'd need to do
something more clean than changing generators.generated-targets.

- Volodya


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