Make targets with specific install-type

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Make targets with specific install-type

Boost - Build mailing list
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 = $(

         local a = [ new action $(source-targets) : $(m[1]) : $(property-set) ] ;
         local t = [ new file-target $( exact : [ type.type
             $(target-type) ] : $(self.project) : $(a) ] ;
         return [ property-set.empty ] [ virtual-target.register $(t) ] ;
Unsubscribe & other changes: