Files
regex/build/Jamfile
John Maddock 6750cf4892 Modified wide character tests to warn not fail when no wide character support is available in the platform.
Modified Jamfiles to use centralised options.
Added wide character concept check.


[SVN r19318]
2003-07-26 11:22:17 +00:00

145 lines
3.6 KiB
Plaintext

# copyright John Maddock 2003
subproject libs/regex/build ;
include $(BOOST_ROOT)/libs/regex/base.jam ;
SOURCES = c_regex_traits c_regex_traits_common cpp_regex_traits
cregex fileiter posix_api regex regex_debug
regex_synch w32_regex_traits wide_posix_api instances winstances ;
lib boost_regex : ../src/$(SOURCES).cpp <template>regex-options
:
:
debug release
;
dll boost_regex : ../src/$(SOURCES).cpp <template>regex-dll-options
:
:
debug release
;
if $(NT)
{
# on NT we use the name mangling scheme defined in
# boost/regex/config/regex_library_include.hpp :
rule boost-regex-stage-tag ( toolset variant : properties * )
{
local lib-thread-opt = s ;
if <threading>multi in $(properties)
{
lib-thread-opt = m ;
}
local lib-rt-opt = s ;
if <runtime-link>dynamic in $(properties)
{
lib-rt-opt = d ;
}
local lib-debug-opt = "" ;
if [ MATCH .*(debug).* : $(variant) ]
{
lib-debug-opt = d ;
}
local lib-toolset = $(toolset) ;
local warning-var = regex.$(toolset)-warning-issued ;
local warning ;
switch $(toolset)
{
case borland :
if ! ( BORLAND_VERSION) in 4 5 6 )
{
BORLAND_VERSION = 6 ; # chose default version
warning = "BORLAND_VERSION not set to 4, 5, or 6: staged Boost.Regex library will be named appropriately for version" $(BORLAND_VERSION) ;
}
lib-toolset = bcb$(BORLAND_VERSION) ;
case msvc :
warning = "msvc toolset builds Boost.Regex library for vc6; use vc7 or vc7.1 toolsets for other versions" ;
lib-toolset = vc6 ;
if <runtime-link>dynamic in $(properties)
{
lib-thread-opt = m ;
}
case msvc-stlport :
warning = "msvc-stlport toolset only builds Boost.Regex library for use with vc6" ;
lib-toolset = vc6-stlport ;
if <runtime-build>debug in $(properties)
{
lib-debug-opt = dd ;
}
if <runtime-link>dynamic in $(properties)
{
lib-thread-opt = m ;
}
case vc7 :
warning = "vc7 toolset builds Boost.Regex library for vc7.0; use msvc or vc7.1 toolsets for other versions" ;
case vc7.1 :
warning = "vc7.1 toolset builds Boost.Regex library for vc7.1; use vc7 or msvc toolsets for other versions" ;
lib-toolset = vc71 ;
if <runtime-link>dynamic in $(properties)
{
lib-thread-opt = m ;
}
}
if $(warning) && ! $($(warning-var))
{
ECHO Warning: $(warning) ;
$(warning-var) = issued ;
}
return $(properties) <tag><$(variant)>_$(lib-toolset)_$(lib-thread-opt)$(lib-rt-opt)$(lib-debug-opt) ;
}
}
else
{
# On Unix platforms we use a simplified naming scheme,
# just appending _mt for multi-threaded builds and
# _debug for debug builds.
rule boost-regex-stage-tag ( toolset variant : properties * )
{
local lib-thread-opt = "" ;
if <threading>multi in $(properties)
{
lib-thread-opt = _mt ;
}
local lib-debug-opt = "" ;
if [ MATCH .*(debug).* : $(variant) ]
{
lib-debug-opt = _debug ;
}
return $(properties) <tag><$(variant)>$(lib-thread-opt)$(lib-debug-opt) ;
}
}
stage bin-stage : <lib>boost_regex <dll>boost_regex
:
boost-regex-stage-tag
:
debug release
;