blob: 312632f8721cdddf604d4078c7e778540ef863df [file] [log] [blame]
# copyright John Maddock 2003
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt.
import modules ;
project : requirements
# default to all warnings on:
<warnings>all
;
local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ;
#
# ICU configuration:
#
if ! $(disable-icu)
{
if [ modules.peek : ICU_PATH ]
{
ICU_PATH = [ modules.peek : ICU_PATH ] ;
}
if [ modules.peek : ICU_LINK ]
{
ICU_LINK = [ modules.peek : ICU_LINK ] ;
}
if $(ICU_LINK)
{
ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <define>BOOST_HAS_ICU=1 <runtime-link>shared ;
}
else
{
lib icuuc : : <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuuc : : <name>this_is_an_invalid_library_name ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudata <link>shared <runtime-link>shared ;
lib icudt : : <search>$(ICU_PATH)/lib <name>icudt <toolset>msvc <link>shared <runtime-link>shared ;
lib icudt : : <name>this_is_an_invalid_library_name ;
lib icuin : : <search>$(ICU_PATH)/lib <name>icui18n <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>debug <name>icuind <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <toolset>msvc <variant>release <name>icuin <search>$(ICU_PATH)/lib <link>shared <runtime-link>shared ;
lib icuin : : <name>this_is_an_invalid_library_name ;
if $(ICU_PATH)
{
icuucd_name = [ GLOB $(ICU_PATH)/bin : icuuc??d.dll ] ;
icuuc_name = [ GLOB $(ICU_PATH)/bin : icuuc??.dll ] ;
icudt_name = [ GLOB $(ICU_PATH)/bin : icudt??.dll ] ;
icuin_name = [ GLOB $(ICU_PATH)/bin : icuin??.dll ] ;
icuind_name = [ GLOB $(ICU_PATH)/bin : icuin??d.dll ] ;
#ECHO $(icuucd_name:B) $(icuuc_name:B) $(icudt_name:B) $(icuin_name:B) $(icuind_name:B) ;
}
ICU_OPTS =
<include>$(ICU_PATH)/include
<library>icuuc/<link>shared/<runtime-link>shared
<library>icudt/<link>shared/<runtime-link>shared
<library>icuin/<link>shared/<runtime-link>shared
<dll-path>$(ICU_PATH)/bin
<define>BOOST_HAS_ICU=1
<runtime-link>shared
<toolset>msvc:<linkflags>/delayload:$(icuucd_name:B).dll
<toolset>msvc:<linkflags>/delayload:$(icuuc_name:B).dll
<toolset>msvc:<linkflags>/delayload:$(icudt_name:B).dll
<toolset>msvc:<linkflags>/delayload:$(icuin_name:B).dll
<toolset>msvc:<linkflags>/delayload:$(icuind_name:B).dll
<toolset>msvc:<linkflags>delayimp.lib
;
}
}
exe has_icu : ./has_icu_test.cpp : $(ICU_OPTS) ;
explicit has_icu ;
alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ;
SOURCES =
c_regex_traits.cpp
cpp_regex_traits.cpp
cregex.cpp
fileiter.cpp
icu.cpp
instances.cpp
posix_api.cpp
regex.cpp
regex_debug.cpp
regex_raw_buffer.cpp
regex_traits_defaults.cpp
static_mutex.cpp
w32_regex_traits.cpp
wc_regex_traits.cpp
wide_posix_api.cpp
winstances.cpp
usinstances.cpp ;
lib boost_regex : ../src/$(SOURCES) icu_options
:
<link>shared:<define>BOOST_REGEX_DYN_LINK=1
#<toolset>gcc-mw:<link>static
#<toolset>gcc-mingw:<link>static
<toolset>gcc-cygwin:<link>static
;
boost-install boost_regex ;