From 9edaddab6f5da397f79e44298d311693b6592a02 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Fri, 21 Sep 2001 10:35:16 +0000 Subject: [PATCH] Updated docs to match new config [SVN r11181] --- introduction.htm | 106 ++++++++++++++--------------------------------- 1 file changed, 31 insertions(+), 75 deletions(-) diff --git a/introduction.htm b/introduction.htm index d7d80fa4..5ace27b2 100644 --- a/introduction.htm +++ b/introduction.htm @@ -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 you just extracted, and try again!

-

Currently the library will automatically detect and configure -itself for Borland, Microsoft, GNU, SGI, Kai, Compaq, Sun and HP -compilers. The library will also detect the HP, SGI, Rogue Wave, -or Microsoft STL implementations. If the STL type is detected, -then the library will attempt to extract suitable compiler -configuration options from the STL used. Otherwise the library -will assume that the compiler is fully compliant with the C++ -standard: unless various options are defined to depreciate -features not implemented by your compiler. These options are -documented in <boost/regex/detail/regex_options.hpp>, if -you want to add permanent configuration options add them to -<boost/regex/detail/regex_options.hpp> which is provided -for this purpose - this will allow you to keep your configuration -options between library versions by retaining <boost/regex/detail/regex_options.hpp>. -

+

This library should not need configuring before use; most +popular compilers/standard libraries/platforms are already +supported "as is". If you do experience configuration +problems, or just want to test the configuration with your +compiler, then the process is the same as for all of boost; see +the configuration library +documentation.

The library will encase all code inside namespace boost.

@@ -293,7 +285,7 @@ in order to set this option permanently.
 
 

-

Microsoft Visual C++ 6

+

Microsoft Visual C++ 6 and 7

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 @@ -336,20 +328,21 @@ automatically select the correct .lib file for your build mode and tell the linker to include it.

Note that if you want to statically link to the regex library -when using the dynamic C++ runtime, define BOOST_RE_STATIC_LIB -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.

+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.

Important: there have been some -reports of compiler-optimisation bugs affecting this library, the -workaround is to build the library using /Oityb1 rather than /O2. -That is to use all optimisation settings except /Oa. This problem -is reported to affect some standard library code as well (in fact -I'm not sure if the problem is with the regex code or the -underlying standard library), so it's probably worthwhile -applying this workaround in normal practice in any case.

+reports of compiler-optimisation bugs affecting this library, (particularly +with VC6 versions prior to service patch 5) the workaround is to +build the library using /Oityb1 rather than /O2. That is to use +all optimisation settings except /Oa. This problem is reported to +affect some standard library code as well (in fact I'm not sure +if the problem is with the regex code or the underlying standard +library), so it's probably worthwhile applying this workaround in +normal practice in any case.

Note: if you have replaced the C++ standard library that comes with VC6, then when you build the library you must ensure that @@ -403,10 +396,8 @@ both the debug and release builds.

LIBS: additional library files.

For the more adventurous there is a configure script in -<boost>/libs/regex, this will enable things like -multithreading/wide character/nls support if they are not enabled -by default on your platform. When the configure script completes, -run one of the makefiles described above.

+<boost>/libs/config; see the config +library documentation.

Sun Workshop 6.1

@@ -451,49 +442,14 @@ libboost_regex_v9.a etc.

Other compilers:

-

Run configure, this will set up the headers and generate -makefiles: from the command prompt change to the <boost>/libs/regex -directory and type:

- -
./configure
-make
- -

Other make options include:

- -

make jgrep: builds the jgrep demo.

- -

make test: builds and runs the regression tests.

- -

make timer: builds the timer demo program.

- -

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 <boost>/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).

- -

Troubleshooting:

- -

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 -<boost>/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.

+

There is a generic makefile (generic.mak) +provided in <boost-root>/libs/regex/build - see that +makefile for details of environment variables that need to be set +before use. Alternatively you can using the Jam based build system. +If you need to configure the library for your platform, then +refer to the config library +documentation.