|
Boost-Build : |
Subject: Re: [Boost-build] One more issue with <embed-manifest> feature.
From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2009-02-04 02:39:39
> Here, we have a target (EXE) that already went via virtual-target.register,
> we take its action, and add a new target to that action. And then, passing
> the extra target via virtual-target.register breaks things. I think the
> most straight-forward solution would be a new method for action class
> that replaces a target with another. So, the code would be:
>
> local t = [ class.new file-target $(name) : MANIFEST : $(project) : $(action) ] ;
> local tr = [ virtual-target.register $(t) ] ;
> $(action).replace-target $(t) : $(tr) ;
>
> What do you think?
This seems to work. I attached a patch that implements this. It also
generates the name of the manifest file differently:
local name = [ $(result[0]).name ] ;
...
local target = [ class.new file-target $(name) :
MANIFEST : $(project) : $(action) ] ;
$(name) will be "foobar.exe" or "foobar.dll" so the name of manifest
itself will be "foobar.exe.manifest" or "foobar.dll.manifest"
-- Best regards, Alexey Pakhunov.
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