# copyright John Maddock 2003 subproject libs/regex/build ; # bring in the rules for testing import testing ; # # ICU configuration: # rule check-icu-config ( ) { if ! $(gICU_CONFIG_CHECKED) { if $(ICU_PATH) { dir += $(ICU_PATH) ; } if [ GLOB $(dir)$(SLASH)include$(SLASH)unicode : utypes.h ] { ECHO Building Boost.Regex with Unicode/ICU support enabled ; ECHO Using ICU in $(ICU_PATH:J=" ")$(SLASH)include ; gHAS_ICU = true ; # try and find ICU libraries, look for NT versions first: if $(ICU_LINK) { gICU_LIBS += $(ICU_LINK) ; } else if [ GLOB $(dir)$(SLASH)lib : icuuc.* ] { gICU_LIBS += icuuc ; } else if [ GLOB $(dir)$(SLASH)lib : libicuuc.* ] { gICU_LIBS += icuuc ; } else if [ GLOB $(ICU_PATH)/lib : cygicuuc.dll ] { gICU_LIBS += $(ICU_PATH)/lib/cygicuuc.dll ; } else if [ GLOB /usr/local/lib : cygicuuc.dll ] { gICU_LIBS += /usr/local/lib/cygicuuc.dll ; } else { ECHO ICU shared common library not found. ; ECHO HINT: Set the environment variable ICU_LINK to contain ; ECHO the linker options required to link to ICU. ; } if $(ICU_LINK) { # gICU_LIBS += $(ICU_LINK) ; } else if [ GLOB $(dir)$(SLASH)lib : icuin.* ] { gICU_LIBS += icuin ; } else if [ GLOB $(dir)$(SLASH)lib : libicui18n.* ] { gICU_LIBS += icui18n ; } else if [ GLOB $(ICU_PATH)/lib : cygicuin.dll ] { gICU_LIBS += $(ICU_PATH)/lib/cygicuin.dll ; } else if [ GLOB /usr/local/lib : cygicuin.dll ] { gICU_LIBS += /usr/local/lib/cygicuin.dll ; } else { ECHO ICU shared i18n library not found. ; ECHO HINT: Set the environment variable ICU_LINK to contain ; ECHO the linker options required to link to ICU. ; } } else { ECHO ****************************************************** ; ECHO ; ECHO Building Boost.Regex with Unicode/ICU support disabled. ; ECHO HINT: define the environment variable ICU_PATH to point to the ; ECHO root directy of your ICU installation if you have one. ; ECHO Couldn't find utypes.h in $(ICU_PATH:J=" ")$(SLASH)include$(SLASH)unicode ; ECHO ; ECHO ****************************************************** ; } gICU_CONFIG_CHECKED = true ; } if $(gHAS_ICU) { return true ; } } if [ check-icu-config ] { BOOST_REGEX_ICU_OPTS = "BOOST_HAS_ICU=1" ; if $(gICU_LIBS) { BOOST_REGEX_ICU_OPTS += $(gICU_LIBS) ; # this one is required for VC++ : BOOST_REGEX_ICU_TEST_OPTS = "off" ; } if $(ICU_PATH) { BOOST_REGEX_ICU_OPTS += "$(ICU_PATH)/include" ; BOOST_REGEX_ICU_OPTS += "$(ICU_PATH)/lib" ; } # ECHO "BOOST_REGEX_ICU_OPTS =" $(BOOST_REGEX_ICU_OPTS) ; } # # this template defines the options common to # all regex builds and tests: # template regex-options : # sources : # requirements BOOST_REGEX_CONFIG_INFO=1 $(BOOST_ROOT) # on # como requires this: <*>BOOST_REGEX_NO_W32=1 $(BOOST_REGEX_ICU_OPTS) ; template regex-test-options : # sources : # requirements $(BOOST_REGEX_ICU_TEST_OPTS) ; # # this template defines the options common to # all regex dll builds and tests: # template regex-dll-options :