123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- # 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 ;
- import testing ;
- import errors ;
- project : requirements
- # default to all warnings on:
- <warnings>all
- ;
- local disable-icu = [ MATCH (--disable-icu) : [ modules.peek : ARGV ] ] ;
- rule path_options ( properties * )
- {
- local result ;
- if <address-model>64 in $(properties) && <toolset>msvc in $(properties)
- {
- result = <search>$(ICU_PATH)/bin64 <search>$(ICU_PATH)/lib64 ;
- }
- else
- {
- result = <search>$(ICU_PATH)/bin <search>$(ICU_PATH)/lib ;
- }
- return $(result) ;
- }
- #
- # ICU configuration:
- #
- if ! $(disable-icu)
- {
- 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" ;
- }
- if [ modules.peek : ICU_PATH ]
- {
- ICU_PATH = [ modules.peek : ICU_PATH ] ;
- }
- if [ modules.peek : ICU_ICUUC_NAME ]
- {
- ICU_ICUUC_NAME = [ modules.peek : ICU_ICUUC_NAME ] ;
- }
- if [ modules.peek : ICU_ICUDT_NAME ]
- {
- ICU_ICUDT_NAME = [ modules.peek : ICU_ICUDT_NAME ] ;
- }
- if [ modules.peek : ICU_ICUIN_NAME ]
- {
- ICU_ICUIN_NAME = [ modules.peek : ICU_ICUIN_NAME ] ;
- }
- if $(ICU_ICUUC_NAME)
- {
- lib icuuc : : <name>$(ICU_ICUUC_NAME) ;
- }
- else
- {
- 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 ;
- lib icuuc : : <name>this_is_an_invalid_library_name ;
- }
- if $(ICU_ICUDT_NAME)
- {
- lib icudt : : <name>$(ICU_ICUDT_NAME) ;
- }
- else
- {
- 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 ;
- lib icudt : : <name>this_is_an_invalid_library_name ;
- }
- if $(ICU_ICUIN_NAME)
- {
- lib icuin : : <name>$(ICU_ICUIN_NAME) ;
- }
- else
- {
- 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 ;
- lib icuin : : <name>this_is_an_invalid_library_name ;
- }
- 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
- ;
- }
- unit-test 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-cygwin:<link>static
- ;
- boost-install boost_regex ;
|