# 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 ] ] ; rule path_options ( properties * ) { local result ; if 64 in $(properties) && msvc in $(properties) { result = $(ICU_PATH)/bin64 $(ICU_PATH)/lib64 ; } else { result = $(ICU_PATH)/bin $(ICU_PATH)/lib ; } return $(result) ; } # # 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 : : shared @path_options ; lib icuuc : : msvc debug icuucd shared @path_options ; lib icuuc : : intel windows debug icuucd shared @path_options ; lib icuuc : : sicuuc static @path_options ; lib icuuc : : msvc debug sicuucd static @path_options ; lib icuuc : : intel windows debug sicuucd static @path_options ; lib icuuc : : this_is_an_invalid_library_name ; lib icudt : : icudata shared @path_options ; lib icudt : : icudt msvc shared @path_options ; lib icudt : : icudt intel windows shared @path_options ; lib icudt : : sicudata static @path_options ; lib icudt : : sicudt msvc static @path_options ; lib icudt : : sicudt intel windows static @path_options ; lib icudt : : this_is_an_invalid_library_name ; lib icuin : : icui18n shared @path_options ; lib icuin : : msvc debug icuind shared @path_options ; lib icuin : : msvc icuin shared @path_options ; lib icuin : : intel windows debug icuind shared @path_options ; lib icuin : : intel windows icuin shared @path_options ; lib icuin : : sicui18n static @path_options ; lib icuin : : msvc debug sicuind static @path_options ; lib icuin : : msvc sicuin static @path_options ; lib icuin : : intel windows debug sicuind static @path_options ; lib icuin : : intel windows sicuin static @path_options ; lib icuin : : this_is_an_invalid_library_name ; ICU_OPTS = $(ICU_PATH)/include shared:icuuc/shared shared:icudt/shared shared:icuin/shared static:icuuc static:icudt static:icuin BOOST_HAS_ICU=1 static: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 : shared:BOOST_REGEX_DYN_LINK=1 gcc-cygwin:static sun:static ; boost-install boost_regex ;