diff --git a/build/Jamfile.v2 b/build/Jamfile.v2
index 03ecb634..8276d9d0 100644
--- a/build/Jamfile.v2
+++ b/build/Jamfile.v2
@@ -14,65 +14,110 @@ local ICU_PATH = [ modules.peek : ICU_PATH ] ;
rule check-icu-config ( )
{
local ICU_PATH = [ modules.peek : ICU_PATH ] ;
+ local HAVE_ICU = [ modules.peek : HAVE_ICU ] ;
+ local ICU_LINK = [ modules.peek : ICU_LINK ] ;
+
if ! $(gICU_CONFIG_CHECKED)
{
- if $(ICU_PATH)
+ if $(HAVE_ICU)
+ {
+ gHAS_ICU = true ;
+ gICU_CORE_LIB = icuuc ;
+ gICU_IN_LIB = icui18n ;
+ gICU_CONFIG_CHECKED = true ;
+ }
+ else if $(ICU_PATH)
{
dir = $(ICU_PATH) ;
- }
- if [ GLOB $(dir)/include/unicode : utypes.h ]
- {
- ECHO Building Boost.Regex with Unicode/ICU support enabled ;
- ECHO Using ICU in $(ICU_PATH:J=" ")/include ;
- gHAS_ICU = true ;
-
- # try and find ICU libraries, look for NT versions first:
- if [ GLOB $(dir)/lib : icuuc.* ]
+ if [ GLOB $(dir)/include/unicode : utypes.h ]
{
- gICU_CORE_LIB = icuuc ;
- }
- else if [ GLOB $(dir)/lib : libicuuc.* ]
- {
- gICU_CORE_LIB = icuuc ;
- }
- else if [ GLOB $(ICU_PATH)/lib : cygicuuc.dll ]
- {
- gICU_CORE_LIB = cygicuuc.dll ;
+ ECHO Building Boost.Regex with Unicode/ICU support enabled ;
+ ECHO Using ICU in $(ICU_PATH:J=" ")/include ;
+ gHAS_ICU = true ;
+
+ # try and find ICU libraries, look for NT versions first:
+ if $(ICU_LINK)
+ {
+ gICU_LIBS +=
Most of the information you will need is in the + getting started guide, the only additional step you need to take is to + tell bjam that you want Boost.Regex to use ICU and optionally to tell bjam + where ICU is located.
If you're building on a Unix-like platform, and ICU is already installed in you're compilers search path (with an install prefix of /usr or /usr/local for example), then set the environment variable HAVE_ICU to enable ICU support. For example you might build with the command line:
-bjam -sHAVE_ICU=1 -sTOOLS=my-compiler+
bjam -sHAVE_ICU=1 --toolset=toolset-name install
If ICU is not already in your compilers path then you need to set the environment variable ICU_PATH to point to the route directory of your ICU installation, for example if ICU was installed to /usr/local/icu/3.3 you might use:
-bjam -sICU_PATH=/usr/local/icu/3.3 -sTOOLS=my-compiler+
bjam -sICU_PATH=/usr/local/icu/3.3 --toolset=toolset-name install
Note that ICU is a C++ library just like Boost is, as such your copy of ICU must have been built with the same C++ compiler (and compiler version) that you are using to build Boost. Boost.Regex will not work correctly unless diff --git a/doc/install.html b/doc/install.html index 1d2c4352..6f43c55b 100644 --- a/doc/install.html +++ b/doc/install.html @@ -49,16 +49,20 @@ support via ICU. There is no need to enable this support if you don't need it, but if you use ICU for your Unicode support already, and want to work with Unicode-aware regular expressions then read on.
+Most of the information you will need is in the + getting started guide, the only additional step you need to take is to + tell bjam that you want Boost.Regex to use ICU and optionally to tell bjam + where ICU is located.
If you're building on a Unix-like platform, and ICU is already installed in you're compilers search path (with an install prefix of /usr or /usr/local for example), then set the environment variable HAVE_ICU to enable ICU support. For example you might build with the command line:
-bjam -sHAVE_ICU=1 -sTOOLS=my-compiler+
bjam -sHAVE_ICU=1 --toolset=toolset-name install
If ICU is not already in your compilers path then you need to set the environment variable ICU_PATH to point to the route directory of your ICU installation, for example if ICU was installed to /usr/local/icu/3.3 you might use:
-bjam -sICU_PATH=/usr/local/icu/3.3 -sTOOLS=my-compiler+
bjam -sICU_PATH=/usr/local/icu/3.3 --toolset=toolset-name install
Note that ICU is a C++ library just like Boost is, as such your copy of ICU must have been built with the same C++ compiler (and compiler version) that you are using to build Boost. Boost.Regex will not work correctly unless