# 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: 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 = $(ICU_PATH)/include $(ICU_LINK) $(ICU_PATH)/bin BOOST_HAS_ICU=1 shared ; } else { lib icuuc : : $(ICU_PATH)/lib shared shared ; lib icuuc : : msvc debug icuucd $(ICU_PATH)/lib shared shared ; lib icuuc : : this_is_an_invalid_library_name ; lib icudt : : $(ICU_PATH)/lib icudata shared shared ; lib icudt : : $(ICU_PATH)/lib icudt msvc shared shared ; lib icudt : : this_is_an_invalid_library_name ; lib icuin : : $(ICU_PATH)/lib icui18n shared shared ; lib icuin : : msvc debug icuind $(ICU_PATH)/lib shared shared ; lib icuin : : msvc release icuin $(ICU_PATH)/lib shared shared ; lib icuin : : 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 = $(ICU_PATH)/include icuuc/shared/shared icudt/shared/shared icuin/shared/shared $(ICU_PATH)/bin BOOST_HAS_ICU=1 shared msvc:/delayload:$(icuucd_name:B).dll msvc:/delayload:$(icuuc_name:B).dll msvc:/delayload:$(icudt_name:B).dll msvc:/delayload:$(icuin_name:B).dll msvc:/delayload:$(icuind_name:B).dll msvc: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 : shared:BOOST_REGEX_DYN_LINK=1 gcc-mw:static gcc-mingw:static gcc-cygwin:static ; boost-install boost_regex ;