Boost logo

Boost-Build :

Subject: [Boost-build] selecting library based on <address-model> ?
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-11-22 04:38:35


I'm having trouble getting Boost.Regex to select the correct ICU library
options: I need to select different options based on whether
<address-model>64 is set, so I have:

      lib icuuc : : <search>$(ICU_PATH)/lib
<link>shared <runtime-link>shared ;
      lib icuuc : : <address-model>64 <search>$(ICU_PATH)/lib64 <link>shared
<runtime-link>shared ;
      lib icuuc : : <toolset>msvc
<variant>debug <name>icuucd <search>$(ICU_PATH)/lib <link>shared
<runtime-link>shared ;
      lib icuuc : : <address-model>64 <toolset>msvc <variant>debug
<name>icuucd <search>$(ICU_PATH)/lib64 <link>shared <runtime-link>shared ;
      lib icuuc : : <name>this_is_an_invalid_library_name ;

But that leads to:

error: No best alternative for ./icuuc
    next alternative: required properties: <link>shared <runtime-link>shared
        matched
    next alternative: required properties: <address-model>64 <link>shared
<runtime-link>shared
        matched
    next alternative: required properties: <link>shared <runtime-link>shared
<toolset>msvc <variant>debug
        matched

Note that the variant that *should* match - the forth one above doesn't get
listed.

The strange thing is I'm sure I had this working at one point, then I tidied
up the Jamfile formatting, and now it's broken :(

Any idea?

Many thanks, John.


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