mirror of
https://github.com/boostorg/regex.git
synced 2025-07-29 20:17:24 +02:00
Expunge C++03'isms from the docs.
This commit is contained in:
@ -20,13 +20,10 @@ process is the same as for all of boost; see the
|
||||
|
||||
The library will encase all code inside namespace boost.
|
||||
|
||||
This is a header only library provided your compiler supports C++11 or later. Support for
|
||||
C++03 compilers is still present, but is now deprecated and may be removed without further notice!
|
||||
This is a header only library and all support for
|
||||
C++03 compilers has now been removed.
|
||||
|
||||
The only people that still need to build the external libboost_regex library are those that are either:
|
||||
|
||||
* Using the library in C++03 mode, or,
|
||||
* Using the deprecated POSIX C API's
|
||||
The only people that still need to build the external libboost_regex library are those that are using the deprecated POSIX C API's
|
||||
|
||||
Further, this library may now be used in "standalone" mode without the rest of the Boost C++ libraries,
|
||||
in order to do this you must either:
|
||||
@ -52,81 +49,5 @@ There is also one configuration option:
|
||||
* BOOST_REGEX_STANDALONE when set then no other Boost libraries are targeted as dependencies, and Boost.Regex is placed in standalone mode. Invoke CMake
|
||||
with -DBOOST_REGEX_STANDALONE=on to enable standalone mode.
|
||||
|
||||
[h4 [*C++03 users only (DEPRECATED)] Building with bjam]
|
||||
|
||||
This is now the preferred method for building and installing legacy versions this library,
|
||||
please refer to the
|
||||
[@../../../../more/getting_started.html getting started guide] for more information.
|
||||
|
||||
[h4 Building With Unicode and ICU Support]
|
||||
|
||||
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:
|
||||
|
||||
Performing configuration checks
|
||||
|
||||
- has_icu builds : yes
|
||||
|
||||
Which means that ICU has been found, and support for it will be enabled
|
||||
in the library build.
|
||||
|
||||
[tip If you don't want the regex library to use ICU then build with the
|
||||
"--disable-icu" command line option.]
|
||||
|
||||
If instead you see:
|
||||
|
||||
Performing configuration checks
|
||||
|
||||
- has_icu builds : no
|
||||
|
||||
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 ['boost-root/bin.v2/config.log] 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. The main options that you're likely to pass to `b2` are:
|
||||
|
||||
[table
|
||||
[[Option][Description]]
|
||||
[[include=/some/path][Adds "/some/path" to the list of paths seached for include files, normally equivalent to `-I/some/path` on most compilers.]]
|
||||
[[library-path=/some/path][Adds "/some/path" to the list of paths searched for external libraries, set this to the location of the ICU binaries if they're in a non-standard location.]]
|
||||
[[-sICU_ICUUC_NAME=NAME][If `libicuuc` has a non-standard name then this sets the name of the library linked against, defaults to either `icuuc`, `icuucd`, `sicuuc` or `sicuucd` depending on build options.]]
|
||||
[[-sICU_ICUDT_NAME=NAME][If `libicudata` has a non-standard name then this sets the name of the library linked against, defaults to either `icudt`, `icudata`, `sicudt` or `sicudata` depending on build options and platform.]]
|
||||
[[-sICU_ICUIN_NAME=NAME][If `libicui18n` has a non-standatd name then this sets the name of the library linked against, defaults to either `icui18n`, `icuin`, `icuind`, sicuin` or `sicuins` depending on build options and platform.]]
|
||||
[[cxxstd=XX][Sets the C++ standard supported: XX should be either 03, 11, 14, 17 or 2a.]]
|
||||
[[cxxflags="FLAGS"][Passes "FLAGS" directly to the compiler, an option of last resort!]]
|
||||
[[linflags="FLAGS"][Passes "FLAGS" directly to the compiler on the link step, an option of last resort!]]
|
||||
]
|
||||
|
||||
[important 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.]
|
||||
|
||||
[important 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.]
|
||||
|
||||
And finally, if you want to build/test with multiple compiler versions, all with different ICU
|
||||
builds, then the only way to achieve that currently is to modify your user-config.jam so that
|
||||
each toolset has the necessary compiler/linker options set so that ICU is found automatically
|
||||
by the configuration step (providing the ICU binaries use the standard names, all you have to
|
||||
add is the appropriate header-include and linker-search paths).
|
||||
|
||||
[h4 Building from Source]
|
||||
|
||||
The Regex library is "just a bunch of source files": nothing special is required to build them.
|
||||
|
||||
You can either build the files under boost-path/libs/regex/src/*.cpp as a library, or add them
|
||||
directly to your project. This is particularly useful if you need to use specific compiler
|
||||
options not supported by the default Boost build.
|
||||
|
||||
There are two #defines you should be aware of:
|
||||
|
||||
* BOOST_HAS_ICU should be defined if you want ICU support compiled in.
|
||||
* BOOST_REGEX_DYN_LINK should be defined if you are building a DLL on Windows.
|
||||
|
||||
[endsect]
|
||||
|
||||
|
Reference in New Issue
Block a user