Updated Jamfile to use simplified naming scheme on Unix platforms.

Updated build docs.


[SVN r18466]
This commit is contained in:
John Maddock
2003-05-20 11:27:29 +00:00
parent 11ddff601b
commit 8bb6861595
5 changed files with 151 additions and 115 deletions

View File

@ -23,78 +23,111 @@ dll boost_regex : ../src/$(SOURCES).cpp
debug release
;
rule boost-regex-stage-tag ( toolset variant : properties * )
if $(NT)
{
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)
{
# 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 borland :
if ! ( BORLAND_VERSION) in 4 5 6 )
{
BORLAND_VERSION = 5 ; # 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 :
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.1 :
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) ;
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
@ -109,3 +142,4 @@ stage bin-stage : <lib>boost_regex <dll>boost_regex

View File

@ -128,11 +128,11 @@
project; the headers will automatically select the correct .lib file for your
build mode and tell the linker to include it.
</P>
<P>Note that if you want to statically link to the regex library when using the
dynamic C++ runtime, define BOOST_REGEX_STATIC_LINK when building your project
(this only has an effect for release builds). If you want to add the source
directly to your project then define BOOST_REGEX_NO_LIB to disable automatic
library selection.</P>
<P>
Note that if you want to dynamically link to the regex library when using the
dynamic C++ runtime, define BOOST_REGEX_DYN_LINK when building your project. If
you want to add the source directly to your project then define
BOOST_REGEX_NO_LIB to disable automatic library selection.</P>
<P><STRONG><I>Important</I></STRONG><EM>: there have been some reports of
compiler-optimization bugs affecting this library, (particularly with VC6
versions prior to service patch 5) the workaround is to build the library using
@ -152,11 +152,12 @@
<P>If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
file provided and set the environment variable STLPORT_PATH to point to the
location of your STLport installation (Note that the full STLPort libraries
appear not to support single-thread static builds).
appear not to support single-thread static builds).&nbsp;
<BR>
&nbsp;
&nbsp;&nbsp;
<BR>
&nbsp;
If you are building your application with /Zc:wchar_t then you will need to
modify the makefile to add /Zc:wchar_t before building the library.
</P>
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
</P>
@ -225,7 +226,7 @@
17 May 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P align="left"><I>Permission to use, copy, modify, distribute and sell this software
and its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
@ -234,4 +235,3 @@
for any purpose. It is provided "as is" without express or implied warranty.</I></P>
</body>
</html>

View File

@ -25,25 +25,27 @@
<HR>
<p></p>
<P>If you are using Microsoft or Borland C++ and link to a dll version of the run
time library, then you will also link to one of the dll versions of boost.regex.
While these dll's are redistributable, there are no "standard" versions, so
when installing on the users PC, you should place these in a directory private
to your application, and not in the PC's directory path. Note that if you link
to a static version of your run time library, then you will also link to a
static version of boost.regex and no dll's will need to be distributed. The
possible boost.regex dll and library names are computed according to the following
formula:<BR>
time library, then you will also link to one of the dll versions of
boost.regex. While these dll's are redistributable, there are no "standard"
versions, so when installing on the users PC, you should place these in a
directory private to your application, and not in the PC's directory path. Note
that if you link to a static version of your run time library, then you will
also link to a static version of boost.regex and no dll's will need to be
distributed. The possible boost.regex dll and library names are computed
according to the following formula:<BR>
</P>
<P></P>
<P>"boost_regex_"<BR>
<P>BOOST_LIB_PREFIX<BR>
+ "boost_regex_"<BR>
+ BOOST_LIB_TOOLSET<BR>
+ "_"<BR>
+ BOOST_LIB_THREAD_OPT<BR>
+ BOOST_LIB_RT_OPT<BR>
+ BOOST_LIB_LINK_OPT<BR>
+ BOOST_LIB_DEBUG_OPT<BR>
<BR>
These are defined as:<BR>
These are defined as:</P>
<P>BOOST_LIB_PREFIX: Either "lib" if this is a static link library,
or&nbsp;nothing for dynamic / shared&nbsp;libraries.<BR>
<BR>
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).<BR>
<BR>
@ -72,7 +74,7 @@
17 May 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P align="left"><I>Permission to use, copy, modify, distribute and sell this software
and its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
@ -81,4 +83,3 @@
for any purpose. It is provided "as is" without express or implied warranty.</I></P>
</body>
</html>

View File

@ -128,11 +128,11 @@
project; the headers will automatically select the correct .lib file for your
build mode and tell the linker to include it.
</P>
<P>Note that if you want to statically link to the regex library when using the
dynamic C++ runtime, define BOOST_REGEX_STATIC_LINK when building your project
(this only has an effect for release builds). If you want to add the source
directly to your project then define BOOST_REGEX_NO_LIB to disable automatic
library selection.</P>
<P>
Note that if you want to dynamically link to the regex library when using the
dynamic C++ runtime, define BOOST_REGEX_DYN_LINK when building your project. If
you want to add the source directly to your project then define
BOOST_REGEX_NO_LIB to disable automatic library selection.</P>
<P><STRONG><I>Important</I></STRONG><EM>: there have been some reports of
compiler-optimization bugs affecting this library, (particularly with VC6
versions prior to service patch 5) the workaround is to build the library using
@ -152,11 +152,12 @@
<P>If you are building with the full STLPort v4.x, then use the vc6-stlport.mak
file provided and set the environment variable STLPORT_PATH to point to the
location of your STLport installation (Note that the full STLPort libraries
appear not to support single-thread static builds).
appear not to support single-thread static builds).&nbsp;
<BR>
&nbsp;
&nbsp;&nbsp;
<BR>
&nbsp;
If you are building your application with /Zc:wchar_t then you will need to
modify the makefile to add /Zc:wchar_t before building the library.
</P>
<P><B><A name="gcc"></A>GCC(2.95 and 3.x)</B>
</P>
@ -225,7 +226,7 @@
17 May 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P align="left"><I>Permission to use, copy, modify, distribute and sell this software
and its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
@ -234,4 +235,3 @@
for any purpose. It is provided "as is" without express or implied warranty.</I></P>
</body>
</html>

View File

@ -25,25 +25,27 @@
<HR>
<p></p>
<P>If you are using Microsoft or Borland C++ and link to a dll version of the run
time library, then you will also link to one of the dll versions of boost.regex.
While these dll's are redistributable, there are no "standard" versions, so
when installing on the users PC, you should place these in a directory private
to your application, and not in the PC's directory path. Note that if you link
to a static version of your run time library, then you will also link to a
static version of boost.regex and no dll's will need to be distributed. The
possible boost.regex dll and library names are computed according to the following
formula:<BR>
time library, then you will also link to one of the dll versions of
boost.regex. While these dll's are redistributable, there are no "standard"
versions, so when installing on the users PC, you should place these in a
directory private to your application, and not in the PC's directory path. Note
that if you link to a static version of your run time library, then you will
also link to a static version of boost.regex and no dll's will need to be
distributed. The possible boost.regex dll and library names are computed
according to the following formula:<BR>
</P>
<P></P>
<P>"boost_regex_"<BR>
<P>BOOST_LIB_PREFIX<BR>
+ "boost_regex_"<BR>
+ BOOST_LIB_TOOLSET<BR>
+ "_"<BR>
+ BOOST_LIB_THREAD_OPT<BR>
+ BOOST_LIB_RT_OPT<BR>
+ BOOST_LIB_LINK_OPT<BR>
+ BOOST_LIB_DEBUG_OPT<BR>
<BR>
These are defined as:<BR>
These are defined as:</P>
<P>BOOST_LIB_PREFIX: Either "lib" if this is a static link library,
or&nbsp;nothing for dynamic / shared&nbsp;libraries.<BR>
<BR>
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).<BR>
<BR>
@ -72,7 +74,7 @@
17 May 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
</p>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P><I><EFBFBD> Copyright <a href="mailto:jm@regex.fsnet.co.uk">John Maddock</a>&nbsp;1998-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan --> 2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --></I></P>
<P align="left"><I>Permission to use, copy, modify, distribute and sell this software
and its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
@ -81,4 +83,3 @@
for any purpose. It is provided "as is" without express or implied warranty.</I></P>
</body>
</html>