Ticket #1388: property.diff

File property.diff, 1.8 KB (added by Roland Schwarz, 15 years ago)
  • property.jam

     
    455455        local m = [ MATCH ^@(.+) : $(p:G=) ] ;
    456456        if $(m)
    457457        {
    458             if ! [ MATCH ".*([.]).*" : $(m) ]
     458            local v ;
     459            if ! [ MATCH "^([^%]*)%([^%]+)$" : $(m) ]
    459460            {
    460                 # This is unqualified rule name. The user might want
    461                 # to set flags on this rule name, and toolset.flag
    462                 # auto-qualifies the rule name. Need to do the same
    463                 # here so set flag setting work.
    464                 # We can arrange for toolset.flag to *not* auto-qualify
    465                 # the argument, but then two rules defined in two Jamfiles
    466                 # will conflict.
    467                 m = $(context-module).$(m) ;
     461                if ! [ MATCH ".*([.]).*" : $(m) ]
     462                {
     463                    # This is unqualified rule name. The user might want
     464                    # to set flags on this rule name, and toolset.flag
     465                    # auto-qualifies the rule name. Need to do the same
     466                    # here so set flag setting work.
     467                    # We can arrange for toolset.flag to *not* auto-qualify
     468                    # the argument, but then two rules defined in two Jamfiles
     469                    # will conflict.
     470                    m = $(context-module).$(m) ;
     471                }
     472               
     473                v = [ indirect.make $(m) : $(context-module) ] ;
    468474            }
     475            else
     476            { # rule is already in indirect format
     477                v = $(m) ;
     478            }
    469479           
    470             local v = [ indirect.make $(m) : $(context-module) ] ;
    471480            v = @$(v) ;
    472481            result += $(v:G=$(p:G)) ;
    473482        }