Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / regex / doc / install.qbk
index a795fc6..15d3060 100644 (file)
@@ -99,192 +99,20 @@ each toolset has the necessary compiler/linker options set so that ICU is found
 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 via makefiles]
+[h4 Building from Source]
 
-[h5 Borland C++ Builder:]
+The Regex library is "just a bunch of source files": nothing special is required to build them.
 
-* Open up a console window and change to the `<boost>\libs\regex\build` directory.
-* Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for C++ Builder 5, and bcb6.mak for C++ Builder 6).
-* Invoke the makefile (pass the full path to your version of make if you have more than one version installed, the makefile relies on the path to make to obtain your C++ Builder installation directory and tools) for example:
+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.
 
-[pre make -fbcb5.mak]
+There are two #defines you should be aware of:
 
-The build process will build a variety of .lib and .dll files (the exact number 
-depends upon the version of Borland's tools you are using) the .lib and dll 
-files will be in a sub-directory called bcb4 or bcb5 depending upon the 
-makefile used. To install the libraries into your development system use:
+* 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.
 
-[pre make -fbcb5.mak install]
-
-library files will be copied to `<BCROOT>/lib` and the dll's to `<BCROOT>/bin`, 
-where `<BCROOT>` corresponds to the install path of your Borland C++ tools.
-
-You may also remove temporary files created during the build process 
-(excluding lib and dll files) by using:
-
-[pre make -fbcb5.mak clean]
-
-Finally when you use Boost.Regex it is only necessary for you to add the 
-`<boost>` root director to your list of include directories for that project. 
-It is not necessary for you to manually add a .lib file to the project; 
-the headers will automatically select the correct .lib file for your build mode 
-and tell the linker to include it. There is one caveat however: the library 
-can not tell the difference between VCL and non-VCL enabled builds when building 
-a GUI application from the command line, if you build from the command line 
-with the 5.5 command line tools then you must define the pre-processor symbol 
-_NO_VCL in order to ensure that the correct link libraries are selected: the 
-C++ Builder IDE normally sets this automatically. Hint, users of the 
-5.5 command line tools may want to add a -D_NO_VCL to bcc32.cfg in order to 
-set this option permanently.
-
-If you would prefer to do a dynamic link to the regex libraries when using the 
-dll runtime then define BOOST_REGEX_DYN_LINK (you must do this if you want to 
-use Boost.Regex in multiple dll's), otherwise Boost.Regex will be statically 
-linked by default. 
-
-If you want to suppress automatic linking altogether (and supply your own 
-custom build of the lib) then define BOOST_REGEX_NO_LIB.
-
-If you are building with C++ Builder 6, you will find that `<boost/regex.hpp>` can 
-not be used in a pre-compiled header (the actual problem is in `<locale>` which 
-gets included by `<boost/regex.hpp>`), if this causes problems for you, 
-then try defining BOOST_NO_STD_LOCALE when building, this will disable some 
-features throughout boost, but may save you a lot in compile times!
-
-[h4 Microsoft Visual C++ 6, 7, 7.1 and 8]
-
-You need version 6 or later of MSVC to build this library. If you are using VC5 
-then you may want to look at one of the previous releases of this library.
-
-Open up a command prompt, which has the necessary MSVC environment variables 
-defined (for example by using the batch file Vcvars32.bat installed by the 
-Visual Studio installation), and change to the `<boost>\libs\regex\build directory`.
-
-Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6 or 
-vc6-stlport.mak if you are using STLPort.
-
-Invoke the makefile like this:
-
-[pre nmake -fvc6.mak]
-
-You will now have a collection of lib and dll files in a "vc6" subdirectory, to 
-install these into your development system use:
-
-[pre nmake -fvc6.mak install]
-
-The lib files will be copied to your `<VC6>\lib` directory and the dll files to 
-`<VC6>\bin`, where `<VC6>` is the root of your Visual C++ 6 installation.
-
-You can delete all the temporary files created during the build (excluding lib and 
-dll files) using:
-
-[pre nmake -fvc6.mak clean ]
-
-If you want to build with ICU support, then you need to pass the path to your 
-ICU directory to the makefile, for example with:
-
-[pre nmake ICU_PATH=c:\open-source\icu -fvc71.mak install]
-
-Finally when you use Boost.Regex it is only necessary for you to add the 
-`<boost>` root directory to your list of include directories for that project. 
-It is not necessary for you to manually add a .lib file to the project; 
-the headers will automatically select the correct .lib file for your build mode 
-and tell the linker to include it.
-
-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.
-
-There are several important caveats to remember when using Boost.Regex with 
-Microsoft's Compiler:
-
-* 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 /Oityb1 rather than /O2. That is to use all optimization 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.
-* If you have replaced the C++ standard library that comes with VC6, then when you 
-build the library you must ensure that the environment variables "INCLUDE" and "LIB" 
-have been updated to reflect the include and library paths for the new library - see 
-vcvars32.bat (part of your Visual Studio installation) for more details.
-* 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).
-* 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.
-
-[h5 GCC(2.95 and later)]
-
-You can build with gcc using the normal boost Jamfile in `<boost>/libs/regex/build`, 
-alternatively there is a conservative makefile for the g++ compiler. From 
-the command prompt change to the <boost>/libs/regex/build directory and type:
-
-[pre make -fgcc.mak ]
-
-At the end of the build process you should have a gcc sub-directory containing 
-release and debug versions of the library (libboost_regex.a and libboost_regex_debug.a). When you build projects that use regex++, you will need to add the boost install directory to your list of include paths and add <boost>/libs/regex/build/gcc/libboost_regex.a to your list of library files.
-
-There is also a makefile to build the library as a shared library:
-
-[pre make -fgcc-shared.mak]
-
-which will build libboost_regex.so and libboost_regex_debug.so.
-
-Both of the these makefiles support the following environment variables:
-
-ICU_PATH: tells the makefile to build with Unicode support, set to the path where your ICU installation is located, for example with: make ICU_PATH=/usr/local install -fgcc.mak
-
-CXXFLAGS: extra compiler options - note that this applies to both the debug and release builds.
-
-INCLUDES: additional include directories.
-
-LDFLAGS: additional linker options.
-
-LIBS: additional library files.
-
-For the more adventurous there is a configure script in `<boost>/libs/config`; see 
-the [@../../../config/index.html config library documentation].
-
-[h5 Sun Workshop 6.1]
-
-There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the command 
-prompt change to the `<boost>/libs/regex/build` directory and type:
-
-[pre dmake -f sunpro.mak ]
-
-At the end of the build process you should have a sunpro sub-directory containing single 
-and multithread versions of the library (libboost_regex.a, libboost_regex.so, 
-libboost_regex_mt.a and libboost_regex_mt.so). When you build projects that use 
-Boost.Regex, you will need to add the boost install directory to your list of 
-include paths and add `<boost>/libs/regex/build/sunpro/` to your library search path.
-
-Both of the these makefiles support the following environment variables:
-
-CXXFLAGS: extra compiler options - note that this applies to both the single and multithreaded builds.
-
-INCLUDES: additional include directories.
-
-LDFLAGS: additional linker options.
-
-LIBS: additional library files.
-
-LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).
-
-This makefile does not set any architecture specific options like -xarch=v9, you can set these by defining the appropriate macros, for example:
-
-[pre dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak]
-
-will build v9 variants of the regex library named libboost_regex_v9.a etc.
-
-[h5 Makefiles for Other compilers]
-
-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. 
+[important The makefiles that were supplied with Boost.Regex are now deprecated and will be removed in the next release.]
 
 [endsect]