|
Boost : |
Subject: Re: [boost] [regex] "I want everything" should build "out of thebox"(onWindows)
From: John Maddock (john_at_[hidden])
Date: 2009-07-30 04:45:47
>> Well... As of ICU-4.2, the names of the libraries are documented here:
>> http://userguide.icu-project.org/icufaq#TOC-How-do-I-install-the-binary-version
>> and match what the Jamfile assumes (and what I downloaded in the binary
>> package), this information:
>> http://source.icu-project.org/repos/icu/icu/tags/release-4-2-1/readme.html#HowToPackage
>> also uses the same filenames, for example icuin.lib/dll and not
>> icui18n.lib/dll.
>
> Um, the problem isn't that the build system wanted icuin and got given
> icui18n etc, it's the other way round. It wants icu18n & icudata, and is
> given icuin & icudt instead.
> if $(HAVE_ICU)
> {
> gHAS_ICU = true ;
> gICU_CORE_LIB = icuuc ;
> gICU_IN_LIB = icui18n ;
> gICU_DATA_LIB = icudata ;
> gICU_CONFIG_CHECKED = true ;
> }
>
> The else if clause right below that is kinda complicated and I'm not
> entirely following it, but it seems the build system is following two
> different path both building with ICU when ICU_PATH is set depending on
> whether HAVE_ICU is set. (My reading of the documentation suggest
> setting -sHAVE_ICU=1 to build with ICU.)
>
> As a test, I just downloaded the latest ICU 4.2 binary on Windows with
> VC9 and attempting to build using trunk, setting -sHAVE_ICU=1
> -sICU_PATH="...".
> ...failed updating 5 targets...
> ...skipped 6 targets...
> ...updated 47 targets...
> When only ICU_PATH is set, it builds fine.
> ...updated 58 targets...
OK I'll look into that some more: however the intension was that HAVE_ICU
and ICU_PATH should not be mixed, HAVE_ICU is designed for Unix like systems
that have the icu binaries installed in the usual std locations under the
std Unix naming convention for ICU. I'll try and tweak the logic so that
ICU_PATH takes precedence in that case.
Thanks, John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk