| # 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 ; |
| |
| |
| |
| |