|
Boost-Build : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-11-15 06:09:48
>Hi!
>I'm looking at up-to-date version of msvc.jam, and see this:
>
> rule link ( targets + : sources * : properties * )
> {
> flags msvc.link LIBRARIES
> [ common.resolve-library-files properties ] ;
> }
>
>I'd suggest this:
>
> LIBRARIES on $(targets) = [ common.resolve-library-files $(properties) ]
>;
>
>and even that is probably too complex. What about this:
>
> flags msvc.link LIBRARIES_MENTIONED_BY_FILE : <library-file> ;
>
>and using LIBRARIES_MENTIONED_BY_FILE right in the action? This should take
>care about conversion from V2 "virtual target" to jam "real target"
>automatically, because <library-file> feature is given "dependency"
>attribute. The "resolve-library-files" has the code to specifically exclude
>shared libraries, but it might be no longer necessary. (Alas, there's no
>comment to explain that logic -- my bad).
>
>Say, I've just updated borland.jam to use new response files, and it passes
>all tests without this "resolve-library-files" call.
Feel free to modify it, your version sounds a lot better. NOTE: I added the
above because I broke the response file logic during the cross-over (blush).
The fix I added was based on the old response file logic because I didn't
know of a better way to implement it.
- Reece
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