Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-11-03 04:30:24


Hi Paul,
> Recently I attempt to merge codes of several projects
> into one single DLL module. Like the following.

> alias bzlib : bzlib/$(SOURCE_FILES) : <link>shared:<define>BZ_EXPORT ;
> alias zlib : zlib/$(SOURCE_FILES) ;

> Of course the 'requirements' of 'alias' targets will not pass
> to the targets who use them.
> Hmmm... since 'alias' can be used to group source files,
> it might be needed to pass 'requirement' to eventual targets
> which really produce final output files.

You can specify usage requirements on "bzlib", like this:

alias bzlib : bzlib/$(SOURCE_FILES) : : : <link>shared:<define>BZ_EXPORT ;

This feature was added quite recently, and will appear in M9.

> Another thing... bzlib/compress.c and zlib/compress.c
> have the same file name. They could be put into the same moudle,
> but alas BBv2 will be broken with 'error: Duplicate name of actual
> target'.

I believe it's known issue:

http://zigzag.cs.msu.su:7814/scarab/issues/id/BB27

The error you see is part of the solution: previously, V2 would just overwrite
one compress.o with another. However, I'm at loss what's the right semantic
would be. Requiring the user to handle this with explicit "obj" rule
invocation might be the right idea.

- Volodya

 


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