Opened 17 years ago

#140 new defect

'lib' rule uses counter-intuitive logic when resolving <name> and <search>

Reported by: itkachev@… Owned by: somebody
Priority: major Milestone:
Component: component1 Version:
Keywords: Cc:

Description

А valid construct such as

lib MAFSA : :
     <threading>multi,<link>static:<name>MAFSA-thread-static
     <threading>single,<link>static:<name>MAFSA-static
     <threading>multi,<link>shared:<name>MAFSA-thread
     <threading>single,<link>shared:<name>MAFSA
     <address-model>64:<search>$(LIB64_DIR)
     <address-model>32:<search>$(LIB32_DIR) ;

gives an error due to the following flawed logic in the 'lib' rule definition: (toos/builtin.jam:472-479)

    # Support " lib a ; " and " lib a b c ; " syntaxes.
    if ! $(sources) && ! <name> in $(requirements:G)
                    && ! <file> in $(requirements:G)
       {
           r += <name>$(name) ;
       }

Lines tools/builtin.jam:410-428 might also exhibit a similar flaw.

Change History (0)

Note: See TracTickets for help on using tickets.