Boost logo

Boost-Build :

Subject: Re: [Boost-build] One more issue with <embed-manifest> feature.
From: Vladimir Prus (ghost_at_[hidden])
Date: 2009-02-04 02:48:19


On Wednesday 04 February 2009 10:39:39 Alexey Pakhunov wrote:
> > 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"

I have checked this in. Thanks!

- 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