$include_dir="/home/hyper-archives/boost-build/include"; include("$include_dir/msg-header.inc") ?>
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.