Boost logo

Boost :

Subject: Re: [boost] regex/ICU fix
From: John Maddock (john_at_[hidden])
Date: 2009-08-23 13:53:30


> While the error message could be better, I believe the error is yours :-)
> See this code:
>
> 36689 johnmaddock if $(ICU_PATH)
> 29658 johnmaddock {
> 36689 johnmaddock if $(ICU_PATH) != "/usr" && $(ICU_PATH) !=
> "/usr/local"
> 36689 johnmaddock {
> 36689 johnmaddock BOOST_REGEX_ICU_OPTS +=
> "<include>$(ICU_PATH)/include" ;
> 36689 johnmaddock ICU_SEARCH_OPTS = <search>/$(ICU_PATH)/lib ;
> 36689 johnmaddock }
> 29658 johnmaddock }
>
> If ICU_PATH is ../whatever, you end up with
>
> <search>/../whatever
>
> and it is not a valid path. I've made the obvious fix, verified that
> things work
> with:
>
> bjam -sICU_PATH=../../../../../usr --with-regex
>
> and checked in. Because this fix seems to be most obvious possible, I've
> also
> merged to release branch.

Thanks, that almost gets it: there is still one small SNAFU: if ICU_PATH is
a relative path then "<include>$(ICU_PATH)/include" strips any leading ".."
components from the path, so for example

../../download/icu

becomes

download/icu

when passed to the compiler.

Any ideas?

Thanks, John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk