Ticket #233 (new defect)

Opened 7 years ago

property.refine removes features but not derived subfeatures

Reported by: user Owned by: somebody
Priority: major Milestone:
Component: component1 Version:
Keywords: Cc:

Description

property.refine will remove overridden features but fails to remove any sub-features of the removed features. Details of a fix that has worked for me in the past (before the recent optimizations to refine): http://article.gmane.org/gmane.comp.lib.boost.build/26117/match=dependencies+dropped+during+concurrent+builds

A couple examples of this issue are reported here: http://article.gmane.org/gmane.comp.lib.boost.build/24345/match=toolset+contention.

I have also attached a sample project with this issue exhibiting itself in a couple different ways. I don't use the attached mechanism anymore but something similar. You can see the 1st failure if you do:

bjam.exe msvc-9.0 TEST1

and the 2nd failure if you do:

bjam.exe gcc msvc TEST

Both are resolved with this fix:

local required-value = $(require$(p:G)) ; if $(required-value) {

if $(p:G=) != $(required-value) {

result += $(p:G)$(required-value) ;

} else {

result += $(p) ;

}

} else {

---> local subfeature = [ MATCH <(.*)-(.*):.*> : $(p:G) ] ; ---> local required-value = $(require<$(subfeature[1])>) ;

---> if ! $(required-value)
$(required-value) = $(subfeature[2])

---> {

result += $(p) ;

---> }

}

Attachments

test.zip (960 bytes) - added by user 7 years ago.

Change History

Changed 7 years ago by user

Note: See TracTickets for help on using tickets.