Files
boost_regex/build/Jamfile

208 lines
5.1 KiB
Plaintext
Raw Normal View History

# 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 += <linkflags>$(ICU_LINK) ;
}
else if [ GLOB $(dir)$(SLASH)lib : icuuc.* ]
{
gICU_LIBS += <find-library>icuuc ;
}
else if [ GLOB $(dir)$(SLASH)lib : libicuuc.* ]
{
gICU_LIBS += <find-library>icuuc ;
}
else if [ GLOB $(ICU_PATH)/lib : cygicuuc.dll ]
{
gICU_LIBS += <library-file>$(ICU_PATH)/lib/cygicuuc.dll ;
}
else if [ GLOB /usr/local/lib : cygicuuc.dll ]
{
gICU_LIBS += <library-file>/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 += <linkflags>$(ICU_LINK) ;
}
else if [ GLOB $(dir)$(SLASH)lib : icuin.* ]
{
gICU_LIBS += <find-library>icuin ;
}
else if [ GLOB $(dir)$(SLASH)lib : libicui18n.* ]
{
gICU_LIBS += <find-library>icui18n ;
}
else if [ GLOB $(ICU_PATH)/lib : cygicuin.dll ]
{
gICU_LIBS += <library-file>$(ICU_PATH)/lib/cygicuin.dll ;
}
else if [ GLOB /usr/local/lib : cygicuin.dll ]
{
gICU_LIBS += <library-file>/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 = "<define>BOOST_HAS_ICU=1" ;
if $(gICU_LIBS)
{
BOOST_REGEX_ICU_OPTS += $(gICU_LIBS) ;
# this one is required for VC++ :
BOOST_REGEX_ICU_TEST_OPTS = "<native-wchar_t>off" ;
}
if $(ICU_PATH)
{
BOOST_REGEX_ICU_OPTS += "<sysinclude>$(ICU_PATH)/include" ;
BOOST_REGEX_ICU_OPTS += "<library-path>$(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
<debug><define>BOOST_REGEX_CONFIG_INFO=1
<sysinclude>$(BOOST_ROOT)
# <native-wchar_t>on
# como requires this:
<como-win32><*><define>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
: <template>regex-options # sources
: # requirements
<define>BOOST_REGEX_DYN_LINK=1
<runtime-link>dynamic
;
#
# this template defines extra settings required to work
# around STLPort defects when used with msvc 6:
#
template msvc-stlport-tricky
: # sources
: <msvc-stlport><*><runtime-build>release
<define>BOOST_ALL_NO_LIB=1
;
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) <template>regex-options
regex, threads, and python will all build from the top level. If you build the 'test' target from the top level, it will run all regressions. Jamfile: subincludes for thread, python libs, and status for regression tests Jamrules: Use the new path-global rule to establish BOOST_ROOT correctly for all subprojects libs/regex/build/Jamfile Take advantage of correct BOOST_ROOT setting libs/python/build/Jamfile Search for python executable; don't try to build anything if it can't be found. don't build tests by default improved comments, organization, and naming. status/Jamfile Fixed references to config test files Failed tests now leave their stdout results in <testname>.error instead of removing it No test targets are dependencies of 'all' anymore Added comments Reorganized tools/build/Jambase Meant to check this in long ago. tools/build/allyourbase.jam Fixed SHELL_EXPORT setting, added SHELL_SET removed 'test' from the dependencies of 'all'; tests no longer run by default. Fixed the direction of slashes for Windows when ALL_LOCATE_TARGET is used. Added path-global rule for declaring path variables which may be relative rule in-invocation-subdir returns true if the current subproject is the one from which Jam was invoked rule protect-subdir is now used to protect subproject variables rule tokens-to-simple-path converts path tokens to a simplified path. tools/build/boost-base.jam Fixed bugs tools/build/jam_src/makedebugjam.bat Fixed a bug which prevented a final debug build tools/build/jam_src/search.c Fixed a bug of mine which caused LOCATE to be ignored (!). [SVN r11348]
2001-10-06 18:19:15 +00:00
:
common-variant-tag
regex, threads, and python will all build from the top level. If you build the 'test' target from the top level, it will run all regressions. Jamfile: subincludes for thread, python libs, and status for regression tests Jamrules: Use the new path-global rule to establish BOOST_ROOT correctly for all subprojects libs/regex/build/Jamfile Take advantage of correct BOOST_ROOT setting libs/python/build/Jamfile Search for python executable; don't try to build anything if it can't be found. don't build tests by default improved comments, organization, and naming. status/Jamfile Fixed references to config test files Failed tests now leave their stdout results in <testname>.error instead of removing it No test targets are dependencies of 'all' anymore Added comments Reorganized tools/build/Jambase Meant to check this in long ago. tools/build/allyourbase.jam Fixed SHELL_EXPORT setting, added SHELL_SET removed 'test' from the dependencies of 'all'; tests no longer run by default. Fixed the direction of slashes for Windows when ALL_LOCATE_TARGET is used. Added path-global rule for declaring path variables which may be relative rule in-invocation-subdir returns true if the current subproject is the one from which Jam was invoked rule protect-subdir is now used to protect subproject variables rule tokens-to-simple-path converts path tokens to a simplified path. tools/build/boost-base.jam Fixed bugs tools/build/jam_src/makedebugjam.bat Fixed a bug which prevented a final debug build tools/build/jam_src/search.c Fixed a bug of mine which caused LOCATE to be ignored (!). [SVN r11348]
2001-10-06 18:19:15 +00:00
:
debug release
;
dll boost_regex : ../src/$(SOURCES) <template>regex-dll-options
regex, threads, and python will all build from the top level. If you build the 'test' target from the top level, it will run all regressions. Jamfile: subincludes for thread, python libs, and status for regression tests Jamrules: Use the new path-global rule to establish BOOST_ROOT correctly for all subprojects libs/regex/build/Jamfile Take advantage of correct BOOST_ROOT setting libs/python/build/Jamfile Search for python executable; don't try to build anything if it can't be found. don't build tests by default improved comments, organization, and naming. status/Jamfile Fixed references to config test files Failed tests now leave their stdout results in <testname>.error instead of removing it No test targets are dependencies of 'all' anymore Added comments Reorganized tools/build/Jambase Meant to check this in long ago. tools/build/allyourbase.jam Fixed SHELL_EXPORT setting, added SHELL_SET removed 'test' from the dependencies of 'all'; tests no longer run by default. Fixed the direction of slashes for Windows when ALL_LOCATE_TARGET is used. Added path-global rule for declaring path variables which may be relative rule in-invocation-subdir returns true if the current subproject is the one from which Jam was invoked rule protect-subdir is now used to protect subproject variables rule tokens-to-simple-path converts path tokens to a simplified path. tools/build/boost-base.jam Fixed bugs tools/build/jam_src/makedebugjam.bat Fixed a bug which prevented a final debug build tools/build/jam_src/search.c Fixed a bug of mine which caused LOCATE to be ignored (!). [SVN r11348]
2001-10-06 18:19:15 +00:00
:
common-variant-tag
regex, threads, and python will all build from the top level. If you build the 'test' target from the top level, it will run all regressions. Jamfile: subincludes for thread, python libs, and status for regression tests Jamrules: Use the new path-global rule to establish BOOST_ROOT correctly for all subprojects libs/regex/build/Jamfile Take advantage of correct BOOST_ROOT setting libs/python/build/Jamfile Search for python executable; don't try to build anything if it can't be found. don't build tests by default improved comments, organization, and naming. status/Jamfile Fixed references to config test files Failed tests now leave their stdout results in <testname>.error instead of removing it No test targets are dependencies of 'all' anymore Added comments Reorganized tools/build/Jambase Meant to check this in long ago. tools/build/allyourbase.jam Fixed SHELL_EXPORT setting, added SHELL_SET removed 'test' from the dependencies of 'all'; tests no longer run by default. Fixed the direction of slashes for Windows when ALL_LOCATE_TARGET is used. Added path-global rule for declaring path variables which may be relative rule in-invocation-subdir returns true if the current subproject is the one from which Jam was invoked rule protect-subdir is now used to protect subproject variables rule tokens-to-simple-path converts path tokens to a simplified path. tools/build/boost-base.jam Fixed bugs tools/build/jam_src/makedebugjam.bat Fixed a bug which prevented a final debug build tools/build/jam_src/search.c Fixed a bug of mine which caused LOCATE to be ignored (!). [SVN r11348]
2001-10-06 18:19:15 +00:00
:
debug release
;
stage stage/lib : <lib>boost_regex <dll>boost_regex
:
<locate>$(BOOST_ROOT)
common-variant-tag
<target>stage
<target>all
:
debug release
;
install regex lib
: <dll>boost_regex <lib>boost_regex
;