Updated docs to match new config

[SVN r11181]
This commit is contained in:
John Maddock
2001-09-21 10:35:16 +00:00
parent 1647dd908e
commit 9edaddab6f

View File

@ -219,21 +219,13 @@ the -d option when extracting). If you didn't do that when
extracting, then you'd better stop reading this, delete the files extracting, then you'd better stop reading this, delete the files
you just extracted, and try again! </p> you just extracted, and try again! </p>
<p>Currently the library will automatically detect and configure <p>This library should not need configuring before use; most
itself for Borland, Microsoft, GNU, SGI, Kai, Compaq, Sun and HP popular compilers/standard libraries/platforms are already
compilers. The library will also detect the HP, SGI, Rogue Wave, supported &quot;as is&quot;. If you do experience configuration
or Microsoft STL implementations. If the STL type is detected, problems, or just want to test the configuration with your
then the library will attempt to extract suitable compiler compiler, then the process is the same as for all of boost; see
configuration options from the STL used. Otherwise the library the <a href="../config/config.htm">configuration library
will assume that the compiler is fully compliant with the C++ documentation</a>.</p>
standard: unless various options are defined to depreciate
features not implemented by your compiler. These options are
documented in &lt;boost/regex/detail/regex_options.hpp&gt;, if
you want to add permanent configuration options add them to
&lt;boost/regex/detail/regex_options.hpp&gt; which is provided
for this purpose - this will allow you to keep your configuration
options between library versions by retaining &lt;boost/regex/detail/regex_options.hpp&gt;.
</p>
<p>The library will encase all code inside namespace boost. </p> <p>The library will encase all code inside namespace boost. </p>
@ -293,7 +285,7 @@ in order to set this option permanently. <br>
&nbsp; <br> &nbsp; <br>
&nbsp; </p> &nbsp; </p>
<p><b>Microsoft Visual C++ 6</b> </p> <p><b>Microsoft Visual C++ 6</b><strong> and 7</strong></p>
<p>You need version 6 of MSVC to build this library. If you are <p>You need version 6 of MSVC to build this library. If you are
using VC5 then you may want to look at one of the previous using VC5 then you may want to look at one of the previous
@ -336,20 +328,21 @@ automatically select the correct .lib file for your build mode
and tell the linker to include it. </p> and tell the linker to include it. </p>
<p>Note that if you want to statically link to the regex library <p>Note that if you want to statically link to the regex library
when using the dynamic C++ runtime, define BOOST_RE_STATIC_LIB when using the dynamic C++ runtime, define
when building your project (this only has an effect for release BOOST_REGEX_STATIC_LINK when building your project (this only has
builds). If you want to add the source directly to your project an effect for release builds). If you want to add the source
then define BOOST_REGEX_NO_LIB to disable automatic library directly to your project then define BOOST_REGEX_NO_LIB to
selection.</p> disable automatic library selection.</p>
<p><strong><i>Important</i></strong><em>: there have been some <p><strong><i>Important</i></strong><em>: there have been some
reports of compiler-optimisation bugs affecting this library, the reports of compiler-optimisation bugs affecting this library, (particularly
workaround is to build the library using /Oityb1 rather than /O2. with VC6 versions prior to service patch 5) the workaround is to
That is to use all optimisation settings except /Oa. This problem build the library using /Oityb1 rather than /O2. That is to use
is reported to affect some standard library code as well (in fact all optimisation settings except /Oa. This problem is reported to
I'm not sure if the problem is with the regex code or the affect some standard library code as well (in fact I'm not sure
underlying standard library), so it's probably worthwhile if the problem is with the regex code or the underlying standard
applying this workaround in normal practice in any case.</em></p> library), so it's probably worthwhile applying this workaround in
normal practice in any case.</em></p>
<p>Note: if you have replaced the C++ standard library that comes <p>Note: if you have replaced the C++ standard library that comes
with VC6, then when you build the library you must ensure that with VC6, then when you build the library you must ensure that
@ -403,10 +396,8 @@ both the debug and release builds.</p>
<p>LIBS: additional library files.</p> <p>LIBS: additional library files.</p>
<p>For the more adventurous there is a configure script in <p>For the more adventurous there is a configure script in
&lt;boost&gt;/libs/regex, this will enable things like &lt;boost&gt;/libs/config; see the <a href="../config/config.htm">config
multithreading/wide character/nls support if they are not enabled library documentation</a>.</p>
by default on your platform. When the configure script completes,
run one of the makefiles described above.</p>
<p><b>Sun Workshop 6.1</b></p> <p><b>Sun Workshop 6.1</b></p>
@ -451,49 +442,14 @@ libboost_regex_v9.a etc.</p>
<p><b>Other compilers:</b> </p> <p><b>Other compilers:</b> </p>
<p>Run configure, this will set up the headers and generate <p>There is a generic makefile (<a href="build/generic.mak">generic.mak</a>)
makefiles: from the command prompt change to the &lt;boost&gt;/libs/regex provided in &lt;boost-root&gt;/libs/regex/build - see that
directory and type: </p> makefile for details of environment variables that need to be set
before use. Alternatively you can using the <a
<pre><tt>./configure href="../../tools/build/index.html">Jam based build system</a>.
make</tt></pre> If you need to configure the library for your platform, then
refer to the <a href="../config/config.htm">config library
<p>Other make options include: </p> documentation</a>.</p>
<p>make jgrep: builds the jgrep demo. </p>
<p>make test: builds and runs the regression tests. </p>
<p>make timer: builds the timer demo program. </p>
<p>Note that the configure generated makefiles produce only a
static library, if you would prefer to build a shared library,
then there is a generic.mak makefile in the &lt;boost&gt;/libs/regex/build
directory. To use this you will need to set up a number of
environment variables first (see the makefile for more details).
Finally if you use one of the following compilers: Kai C++, SGI
Irix C++, Compaq true64 C++, or Como C++, then you should not
need to run the configure script to get the library to build,
however doing so may enable optional features (multithreading
support, and/or nls support).</p>
<p><b>Troubleshooting:</b> </p>
<p>If make fails after running configure, you may need to
manually disable some options: configure uses simple tests to
determine what features your compiler supports, it does not
stress the compiler's internals to any degree as the actual regex++
code can do. Other compiler features may be implemented (and
therefore detected by configure) but known to be buggy, again in
this case it may be necessary to disable the feature in order to
compile regex++ to stable code. The output file from configure is
&lt;boost&gt;/boost/regex/detail/regex_options.hpp, this file
lists all the macros that can be defined to configure regex++
along with a description to illustrate their usage, experiment
changing options in regex_options.hpp one at a time until you
achieve the effect you require. If you mail me questions about
configure output, be sure to include both regex_options.hpp and
config.log with your message. </p>
<hr> <hr>