|
Boost-Build : |
Subject: [Boost-build] Make targets with specific install-type
From: Chambers, Matthew (matt.chambers42_at_[hidden])
Date: 2017-09-15 15:35:19
After updating Boost.Build to the latest master, I found that my install rules with explicit install-types were no longer installing make
targets. This was presumably a bug fix since make targets have type names equal to the target name, and install rules with explicit
install-types are not supposed to install any other types. So it's more consistent now. But now I need to be able to specify which make
targets to install and which not to, and it would be more sensible to be able to give them an explicit install-type for my install rule to
reference rather than change my install rule to have requirements like <install-type>MyTargetA <install-type>MyTargetB etc. Would this
change be acceptable upstream? Is this the place to make the change? make.jam (pseudocode):
rule construct ( name : source-targets * : property-set )
   {
       local action-name = [ $(property-set).get <action> ] ;
       # 'm' will always be set -- we add '@' ourselves in the 'make' rule
       # below.
       local m = [ MATCH ^@(.*) : $(action-name) ] ;
       # if <install-type> in $(property-set), then target-type = $(property-set).get <install-type>
       # else <target-type = $(self.name)
       local a = [ new action $(source-targets) : $(m[1]) : $(property-set) ] ;
       local t = [ new file-target $(self.name) exact : [ type.type
           $(target-type) ] : $(self.project) : $(a) ] ;
       return [ property-set.empty ] [ virtual-target.register $(t) ] ;
   }
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