2006-07-16 17:24:25 +00:00
|
|
|
# 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.
|
2002-10-07 16:45:38 +00:00
|
|
|
|
2010-09-20 16:56:48 +00:00
|
|
|
import modules ;
|
2016-11-10 10:51:41 +00:00
|
|
|
import testing ;
|
2019-10-25 19:05:52 +01:00
|
|
|
import errors ;
|
2010-09-20 16:56:48 +00:00
|
|
|
|
2010-09-03 08:33:13 +00:00
|
|
|
project : requirements
|
|
|
|
# default to all warnings on:
|
|
|
|
<warnings>all
|
|
|
|
;
|
|
|
|
|
2010-09-20 16:56:48 +00:00
|
|
|
local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ;
|
|
|
|
|
2010-11-23 13:09:08 +00:00
|
|
|
rule path_options ( properties * )
|
2010-11-21 18:40:59 +00:00
|
|
|
{
|
|
|
|
local result ;
|
2012-07-08 16:50:23 +00:00
|
|
|
if <address-model>64 in $(properties) && <toolset>msvc in $(properties)
|
2010-11-21 18:40:59 +00:00
|
|
|
{
|
2010-11-23 13:09:08 +00:00
|
|
|
result = <search>$(ICU_PATH)/bin64 <search>$(ICU_PATH)/lib64 ;
|
2010-11-21 18:40:59 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2010-11-23 13:09:08 +00:00
|
|
|
result = <search>$(ICU_PATH)/bin <search>$(ICU_PATH)/lib ;
|
2010-11-21 18:40:59 +00:00
|
|
|
}
|
|
|
|
return $(result) ;
|
|
|
|
}
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
#
|
|
|
|
# ICU configuration:
|
|
|
|
#
|
2010-09-20 16:56:48 +00:00
|
|
|
if ! $(disable-icu)
|
2005-01-13 17:06:21 +00:00
|
|
|
{
|
2019-10-25 19:05:52 +01:00
|
|
|
if [ modules.peek : ICU_LINK ]
|
|
|
|
{
|
|
|
|
errors.user-error : "The ICU_LINK option is no longer supported by the Boost.Regex build - please refer to the documentation for equivalent options" ;
|
|
|
|
}
|
2010-09-20 16:56:48 +00:00
|
|
|
|
|
|
|
if [ modules.peek : ICU_PATH ]
|
|
|
|
{
|
|
|
|
ICU_PATH = [ modules.peek : ICU_PATH ] ;
|
|
|
|
}
|
2019-10-25 19:05:52 +01:00
|
|
|
if [ modules.peek : ICU_ICUUC_NAME ]
|
|
|
|
{
|
|
|
|
ICU_ICUUC_NAME = [ modules.peek : ICU_ICUUC_NAME ] ;
|
|
|
|
}
|
|
|
|
if [ modules.peek : ICU_ICUDT_NAME ]
|
2010-09-20 16:56:48 +00:00
|
|
|
{
|
2019-10-25 19:05:52 +01:00
|
|
|
ICU_ICUDT_NAME = [ modules.peek : ICU_ICUDT_NAME ] ;
|
|
|
|
}
|
|
|
|
if [ modules.peek : ICU_ICUIN_NAME ]
|
|
|
|
{
|
|
|
|
ICU_ICUIN_NAME = [ modules.peek : ICU_ICUIN_NAME ] ;
|
2010-09-20 16:56:48 +00:00
|
|
|
}
|
|
|
|
|
2019-10-25 19:05:52 +01:00
|
|
|
if $(ICU_ICUUC_NAME)
|
2010-09-03 08:33:13 +00:00
|
|
|
{
|
2019-10-25 19:05:52 +01:00
|
|
|
lib icuuc : : <name>$(ICU_ICUUC_NAME) ;
|
2010-09-20 16:56:48 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2016-06-11 18:46:23 +01:00
|
|
|
lib icuuc : : <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuuc : : <toolset>msvc <variant>debug <name>icuucd <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuuc : : <toolset>intel <target-os>windows <variant>debug <name>icuucd <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuuc : : <name>sicuuc <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuuc : : <toolset>msvc <variant>debug <name>sicuucd <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuuc : : <toolset>intel <target-os>windows <variant>debug <name>sicuucd <runtime-link>static <conditional>@path_options ;
|
2010-09-20 16:56:48 +00:00
|
|
|
lib icuuc : : <name>this_is_an_invalid_library_name ;
|
2019-10-25 19:05:52 +01:00
|
|
|
}
|
|
|
|
if $(ICU_ICUDT_NAME)
|
|
|
|
{
|
|
|
|
lib icudt : : <name>$(ICU_ICUDT_NAME) ;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2016-06-11 18:46:23 +01:00
|
|
|
lib icudt : : <name>icudata <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icudt : : <name>icudt <toolset>msvc <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icudt : : <name>icudt <toolset>intel <target-os>windows <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icudt : : <name>sicudata <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icudt : : <name>sicudt <toolset>msvc <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icudt : : <name>sicudt <toolset>intel <target-os>windows <runtime-link>static <conditional>@path_options ;
|
2010-09-20 16:56:48 +00:00
|
|
|
lib icudt : : <name>this_is_an_invalid_library_name ;
|
2019-10-25 19:05:52 +01:00
|
|
|
}
|
|
|
|
if $(ICU_ICUIN_NAME)
|
|
|
|
{
|
|
|
|
lib icuin : : <name>$(ICU_ICUIN_NAME) ;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2016-06-11 18:46:23 +01:00
|
|
|
lib icuin : : <name>icui18n <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>msvc <variant>debug <name>icuind <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>msvc <name>icuin <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>intel <target-os>windows <variant>debug <name>icuind <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>intel <target-os>windows <name>icuin <runtime-link>shared <conditional>@path_options ;
|
|
|
|
lib icuin : : <name>sicui18n <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>msvc <variant>debug <name>sicuind <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>msvc <name>sicuin <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>intel <target-os>windows <variant>debug <name>sicuind <runtime-link>static <conditional>@path_options ;
|
|
|
|
lib icuin : : <toolset>intel <target-os>windows <name>sicuin <runtime-link>static <conditional>@path_options ;
|
2010-09-20 16:56:48 +00:00
|
|
|
lib icuin : : <name>this_is_an_invalid_library_name ;
|
2010-09-03 08:33:13 +00:00
|
|
|
}
|
|
|
|
|
2019-10-25 19:05:52 +01:00
|
|
|
ICU_OPTS =
|
|
|
|
<include>$(ICU_PATH)/include
|
|
|
|
<runtime-link>shared:<library>icuuc/<link>shared
|
|
|
|
<runtime-link>shared:<library>icudt/<link>shared
|
|
|
|
<runtime-link>shared:<library>icuin/<link>shared
|
|
|
|
<runtime-link>static:<library>icuuc
|
|
|
|
<runtime-link>static:<library>icudt
|
|
|
|
<runtime-link>static:<library>icuin
|
|
|
|
<define>BOOST_HAS_ICU=1
|
|
|
|
<runtime-link>static:<define>U_STATIC_IMPLEMENTATION=1
|
|
|
|
;
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
}
|
|
|
|
|
2020-01-19 18:16:37 +00:00
|
|
|
exe has_icu : has_icu_test.cpp : $(ICU_OPTS) ;
|
2010-05-10 12:13:49 +00:00
|
|
|
explicit has_icu ;
|
|
|
|
|
|
|
|
alias icu_options : : : : [ check-target-builds has_icu : $(ICU_OPTS) : ] ;
|
|
|
|
|
2005-01-13 17:06:21 +00:00
|
|
|
SOURCES =
|
|
|
|
c_regex_traits.cpp
|
|
|
|
cpp_regex_traits.cpp
|
|
|
|
fileiter.cpp
|
|
|
|
icu.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
|
|
|
|
|
|
|
|
|
2010-05-10 12:13:49 +00:00
|
|
|
lib boost_regex : ../src/$(SOURCES) icu_options
|
2002-10-07 16:45:38 +00:00
|
|
|
:
|
2005-01-13 17:06:21 +00:00
|
|
|
<link>shared:<define>BOOST_REGEX_DYN_LINK=1
|
2007-02-17 12:22:49 +00:00
|
|
|
<toolset>gcc-cygwin:<link>static
|
2002-10-07 16:45:38 +00:00
|
|
|
;
|
2006-07-16 17:24:25 +00:00
|
|
|
|
2007-10-26 09:04:25 +00:00
|
|
|
boost-install boost_regex ;
|
2007-01-11 17:21:37 +00:00
|
|
|
|
2010-09-03 08:33:13 +00:00
|
|
|
|
2010-10-07 15:40:24 +00:00
|
|
|
|
|
|
|
|
2010-11-21 18:40:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-05 17:27:51 +00:00
|
|
|
|