Merge fixes from Trunk - mainly warning suppression.

[SVN r65720]
This commit is contained in:
John Maddock
2010-10-02 11:34:33 +00:00
parent 09c9e93572
commit cfedb49110
132 changed files with 4159 additions and 3739 deletions

View File

@ -49,7 +49,7 @@
file before you can use it, instructions for specific platforms are as follows:
</p>
<a name="boost_regex.install.building_with_bjam"></a><h5>
<a name="id1007364"></a>
<a name="id895671"></a>
<a class="link" href="install.html#boost_regex.install.building_with_bjam">Building with bjam</a>
</h5>
<p>
@ -58,49 +58,103 @@
started guide</a> for more information.
</p>
<a name="boost_regex.install.building_with_unicode_and_icu_support"></a><h5>
<a name="id1007388"></a>
<a name="id895695"></a>
<a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
With Unicode and ICU Support</a>
</h5>
<p>
A default build of this library does not enable Unciode support via ICU. There
is no need to enable this support if you don't need it, but if you use ICU
for your Unicode support already, and want to work with Unicode-aware regular
expressions then read on.
Boost.Regex is now capable of performing a configuration check to test whether
ICU is already installed in your compiler's search paths. When you build you
should see a message like this:
</p>
<pre class="programlisting"><span class="identifier">Performing</span> <span class="identifier">configuration</span> <span class="identifier">checks</span>
<span class="special">-</span> <span class="identifier">has_icu</span> <span class="identifier">builds</span> <span class="special">:</span> <span class="identifier">yes</span>
</pre>
<p>
Whick means that ICU has been found, and support for it will be enabled in
the library build.
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
If you don't want the regex library to use ICU then build with the "--disable-icu"
command line option.
</p></td></tr>
</table></div>
<p>
If instead you see:
</p>
<pre class="programlisting"><span class="identifier">Performing</span> <span class="identifier">configuration</span> <span class="identifier">checks</span>
<span class="special">-</span> <span class="identifier">has_icu</span> <span class="identifier">builds</span> <span class="special">:</span> <span class="identifier">no</span>
</pre>
<p>
Then ICU was not found and support for it will not be compiled into the library.
If you think that it should have been found, then you will need to take a look
at the contents of the file <span class="emphasis"><em>boost-root/bin.v2/config.log</em></span>
for the actual error messages obtained when the build carried out the configuration
check. You will then need to fix these errors by ensuring your compiler gets
invoked with the correct options, for example:
</p>
<pre class="programlisting">bjam include=some-include-path --toolset=toolset-name install</pre>
<p>
will add "some-include-path" to your compilers header include path,
or if ICU has been built with non-standard names for it's binaries, then:
</p>
<pre class="programlisting">bjam -sICU_LINK="linker-options-for-icu" --toolset=toolset-name install</pre>
<p>
Will use <span class="emphasis"><em>"linker-options-for-icu"</em></span> when linking
the library rather than the default ICU binary names.
</p>
<p>
Most of the information you will need is in the getting started guide, the
only additional step you need to take is to tell bjam that you want Boost.Regex
to use ICU and optionally to tell bjam where ICU is located.
You might also need to use the options "cxxflags<code class="literal">-option"
and "linkflags</code>-option" to set compiler and linker specific
options.
</p>
<div class="important"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../doc/src/images/important.png"></td>
<th align="left">Important</th>
</tr>
<tr><td align="left" valign="top"><p>
Configuration results are cached - if you try rebuilding with different compiler
options then add an "-a" to the bjam command line to force all
targets to be rebuilt.
</p></td></tr>
</table></div>
<p>
If you're building on a Unix-like platform, and ICU is already installed in
your compilers search path (with an install prefix of <code class="computeroutput"><span class="special">/</span><span class="identifier">usr</span></code> or <code class="computeroutput"><span class="special">/</span><span class="identifier">usr</span><span class="special">/</span><span class="identifier">local</span></code>
for example), then set the environment variable <code class="computeroutput"><span class="identifier">HAVE_ICU</span></code>
to enable ICU support. For example you might build with the command line:
</p>
<pre class="programlisting">bjam -sHAVE_ICU=1 --toolset=toolset-name install</pre>
<p>
If ICU is not already in your compiler's path then you need to set the environment
variable <code class="computeroutput"><span class="identifier">ICU_PATH</span></code> to point
to the root directory of your ICU installation, for example if ICU was installed
to <code class="computeroutput"><span class="special">/</span><span class="identifier">usr</span><span class="special">/</span><span class="identifier">local</span><span class="special">/</span><span class="identifier">icu</span><span class="special">/</span><span class="number">3.3</span></code>
you might use:
</p>
<pre class="programlisting">bjam -sICU_PATH=/usr/local/icu/3.3 --toolset=toolset-name install</pre>
<p>
Note that ICU is a C++ library just like Boost is, as such your copy of ICU
must have been built with the same C++ compiler (and compiler version) that
you are using to build Boost. Boost.Regex will not work correctly unless you
ensure that this is the case: it is up to you to ensure that the version of
ICU you are using is binary compatible with the toolset you use to build Boost.
If ICU is not already in your compiler's path, but instead headers, libraries
and binaries are located at <span class="emphasis"><em>path-to-icu/include</em></span>, <span class="emphasis"><em>path-to-icu/lib</em></span>
and <span class="emphasis"><em>path-to-icu/bin</em></span> respectively then you need to set
the environment variable <code class="computeroutput"><span class="identifier">ICU_PATH</span></code>
to point to the root directory of your ICU installation: this typically happens
if you're building with MSVC. For example if ICU was installed to <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">download</span><span class="special">\</span><span class="identifier">icu</span></code> you
might use:
</p>
<pre class="programlisting">bjam -sICU_PATH=c:\download\icu --toolset=toolset-name install</pre>
<div class="important"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../doc/src/images/important.png"></td>
<th align="left">Important</th>
</tr>
<tr><td align="left" valign="top"><p>
ICU is a C++ library just like Boost is, as such your copy of ICU must have
been built with the same C++ compiler (and compiler version) that you are
using to build Boost. Boost.Regex will not work correctly unless you ensure
that this is the case: it is up to you to ensure that the version of ICU
you are using is binary compatible with the toolset you use to build Boost.
</p></td></tr>
</table></div>
<a name="boost_regex.install.building_via_makefiles"></a><h5>
<a name="id1015153"></a>
<a name="id903566"></a>
<a class="link" href="install.html#boost_regex.install.building_via_makefiles">Building via makefiles</a>
</h5>
<a name="boost_regex.install.borland_c___builder_"></a><h6>
<a name="id1015166"></a>
<a name="id903579"></a>
<a class="link" href="install.html#boost_regex.install.borland_c___builder_">Borland C++ Builder:</a>
</h6>
<div class="itemizedlist"><ul type="disc">
@ -165,7 +219,7 @@
a lot in compile times!
</p>
<a name="boost_regex.install.microsoft_visual_c___6__7__7_1_and_8"></a><h5>
<a name="id1015416"></a>
<a name="id903829"></a>
<a class="link" href="install.html#boost_regex.install.microsoft_visual_c___6__7__7_1_and_8">Microsoft
Visual C++ 6, 7, 7.1 and 8</a>
</h5>
@ -253,7 +307,7 @@
</li>
</ul></div>
<a name="boost_regex.install.gcc_2_95_and_later_"></a><h6>
<a name="id1015629"></a>
<a name="id904043"></a>
<a class="link" href="install.html#boost_regex.install.gcc_2_95_and_later_">GCC(2.95 and later)</a>
</h6>
<p>
@ -302,7 +356,7 @@
see the <a href="../../../../config/index.html" target="_top">config library documentation</a>.
</p>
<a name="boost_regex.install.sun_workshop_6_1"></a><h6>
<a name="id1015755"></a>
<a name="id904169"></a>
<a class="link" href="install.html#boost_regex.install.sun_workshop_6_1">Sun Workshop 6.1</a>
</h6>
<p>
@ -347,7 +401,7 @@
will build v9 variants of the regex library named libboost_regex_v9.a etc.
</p>
<a name="boost_regex.install.makefiles_for_other_compilers"></a><h6>
<a name="id1015899"></a>
<a name="id904313"></a>
<a class="link" href="install.html#boost_regex.install.makefiles_for_other_compilers">Makefiles
for Other compilers</a>
</h6>
@ -358,7 +412,7 @@
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998 -2007 John Maddock<p>
<td align="right"><div class="copyright-footer">Copyright &#169; 1998 -2010 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>