Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / regex / doc / html / boost_regex / install.html
index 31d7586..5546176 100644 (file)
@@ -3,9 +3,9 @@
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Building and Installing the Library</title>
 <link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Boost.Regex">
-<link rel="up" href="../index.html" title="Boost.Regex">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Boost.Regex 5.0.0">
+<link rel="up" href="../index.html" title="Boost.Regex 5.0.0">
 <link rel="prev" href="configuration/tuning.html" title="Algorithm Tuning">
 <link rel="next" href="introduction_and_overview.html" title="Introduction and Overview">
 </head>
@@ -22,7 +22,7 @@
 <div class="spirit-nav">
 <a accesskey="p" href="configuration/tuning.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="introduction_and_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section boost_regex_install">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_regex.install"></a><a class="link" href="install.html" title="Building and Installing the Library">Building and Installing the Library</a>
 </h2></div></div></div>
@@ -50,7 +50,7 @@
     </p>
 <h5>
 <a name="boost_regex.install.h0"></a>
-      <span><a name="boost_regex.install.building_with_bjam"></a></span><a class="link" href="install.html#boost_regex.install.building_with_bjam">Building
+      <span class="phrase"><a name="boost_regex.install.building_with_bjam"></a></span><a class="link" href="install.html#boost_regex.install.building_with_bjam">Building
       with bjam</a>
     </h5>
 <p>
@@ -60,7 +60,7 @@
     </p>
 <h5>
 <a name="boost_regex.install.h1"></a>
-      <span><a name="boost_regex.install.building_with_unicode_and_icu_support"></a></span><a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
+      <span class="phrase"><a name="boost_regex.install.building_with_unicode_and_icu_support"></a></span><a class="link" href="install.html#boost_regex.install.building_with_unicode_and_icu_support">Building
       With Unicode and ICU Support</a>
     </h5>
 <p>
     </p>
 <h5>
 <a name="boost_regex.install.h2"></a>
-      <span><a name="boost_regex.install.building_via_makefiles"></a></span><a class="link" href="install.html#boost_regex.install.building_via_makefiles">Building
-      via makefiles</a>
+      <span class="phrase"><a name="boost_regex.install.building_from_source"></a></span><a class="link" href="install.html#boost_regex.install.building_from_source">Building
+      from Source</a>
     </h5>
-<h6>
-<a name="boost_regex.install.h3"></a>
-      <span><a name="boost_regex.install.borland_c___builder_"></a></span><a class="link" href="install.html#boost_regex.install.borland_c___builder_">Borland
-      C++ Builder:</a>
-    </h6>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          Open up a console window and change to the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;\</span><span class="identifier">libs</span><span class="special">\</span><span class="identifier">regex</span><span class="special">\</span><span class="identifier">build</span></code> directory.
-        </li>
-<li class="listitem">
-          Select the appropriate makefile (bcb4.mak for C++ Builder 4, bcb5.mak for
-          C++ Builder 5, and bcb6.mak for C++ Builder 6).
-        </li>
-<li class="listitem">
-          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:
-        </li>
-</ul></div>
-<pre class="programlisting">make -fbcb5.mak</pre>
-<p>
-      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:
-    </p>
-<pre class="programlisting">make -fbcb5.mak install</pre>
-<p>
-      library files will be copied to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">BCROOT</span><span class="special">&gt;/</span><span class="identifier">lib</span></code> and the dll's to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">BCROOT</span><span class="special">&gt;/</span><span class="identifier">bin</span></code>, where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">BCROOT</span><span class="special">&gt;</span></code>
-      corresponds to the install path of your Borland C++ tools.
-    </p>
-<p>
-      You may also remove temporary files created during the build process (excluding
-      lib and dll files) by using:
-    </p>
-<pre class="programlisting">make -fbcb5.mak clean</pre>
-<p>
-      Finally when you use Boost.Regex it is only necessary for you to add the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;</span></code> 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.
-    </p>
-<p>
-      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.
-    </p>
-<p>
-      If you want to suppress automatic linking altogether (and supply your own custom
-      build of the lib) then define BOOST_REGEX_NO_LIB.
-    </p>
-<p>
-      If you are building with C++ Builder 6, you will find that <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
-      can not be used in a pre-compiled header (the actual problem is in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">locale</span><span class="special">&gt;</span></code> which gets included by <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>),
-      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!
-    </p>
-<h5>
-<a name="boost_regex.install.h4"></a>
-      <span><a name="boost_regex.install.microsoft_visual_c___6__7__7_1_and_8"></a></span><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>
-<p>
-      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.
-    </p>
 <p>
-      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 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;\</span><span class="identifier">libs</span><span class="special">\</span><span class="identifier">regex</span><span class="special">\</span><span class="identifier">build</span> <span class="identifier">directory</span></code>.
+      The Regex library is "just a bunch of source files": nothing special
+      is required to build them.
     </p>
 <p>
-      Select the correct makefile - vc6.mak for "vanilla" Visual C++ 6
-      or vc6-stlport.mak if you are using STLPort.
+      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.
     </p>
 <p>
-      Invoke the makefile like this:
+      There are two #defines you should be aware of:
     </p>
-<pre class="programlisting">nmake -fvc6.mak</pre>
-<p>
-      You will now have a collection of lib and dll files in a "vc6" subdirectory,
-      to install these into your development system use:
-    </p>
-<pre class="programlisting">nmake -fvc6.mak install</pre>
-<p>
-      The lib files will be copied to your <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">VC6</span><span class="special">&gt;\</span><span class="identifier">lib</span></code> directory and the dll files to <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">VC6</span><span class="special">&gt;\</span><span class="identifier">bin</span></code>, where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">VC6</span><span class="special">&gt;</span></code> is
-      the root of your Visual C++ 6 installation.
-    </p>
-<p>
-      You can delete all the temporary files created during the build (excluding
-      lib and dll files) using:
-    </p>
-<pre class="programlisting">nmake -fvc6.mak clean </pre>
-<p>
-      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:
-    </p>
-<pre class="programlisting">nmake ICU_PATH=c:\open-source\icu -fvc71.mak install</pre>
-<p>
-      Finally when you use Boost.Regex it is only necessary for you to add the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;</span></code> 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.
-    </p>
-<p>
-      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.
-    </p>
-<p>
-      If you want to add the source directly to your project then define BOOST_REGEX_NO_LIB
-      to disable automatic library selection.
-    </p>
-<p>
-      There are several important caveats to remember when using Boost.Regex with
-      Microsoft's Compiler:
-    </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-          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.
-        </li>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem">
-          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.
+          BOOST_HAS_ICU should be defined if you want ICU support compiled in.
         </li>
 <li class="listitem">
-          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).
-        </li>
-<li class="listitem">
-          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.
+          BOOST_REGEX_DYN_LINK should be defined if you are building a DLL on Windows.
         </li>
 </ul></div>
-<h6>
-<a name="boost_regex.install.h5"></a>
-      <span><a name="boost_regex.install.gcc_2_95_and_later_"></a></span><a class="link" href="install.html#boost_regex.install.gcc_2_95_and_later_">GCC(2.95
-      and later)</a>
-    </h6>
-<p>
-      You can build with gcc using the normal boost Jamfile in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">build</span></code>, alternatively
-      there is a conservative makefile for the g++ compiler. From the command prompt
-      change to the &lt;boost&gt;/libs/regex/build directory and type:
-    </p>
-<pre class="programlisting">make -fgcc.mak </pre>
-<p>
-      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 &lt;boost&gt;/libs/regex/build/gcc/libboost_regex.a
-      to your list of library files.
-    </p>
-<p>
-      There is also a makefile to build the library as a shared library:
-    </p>
-<pre class="programlisting">make -fgcc-shared.mak</pre>
-<p>
-      which will build libboost_regex.so and libboost_regex_debug.so.
-    </p>
-<p>
-      Both of the these makefiles support the following environment variables:
-    </p>
-<p>
-      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
-    </p>
-<p>
-      CXXFLAGS: extra compiler options - note that this applies to both the debug
-      and release builds.
-    </p>
-<p>
-      INCLUDES: additional include directories.
-    </p>
-<p>
-      LDFLAGS: additional linker options.
-    </p>
-<p>
-      LIBS: additional library files.
-    </p>
-<p>
-      For the more adventurous there is a configure script in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span></code>;
-      see the <a href="../../../../config/index.html" target="_top">config library documentation</a>.
-    </p>
-<h6>
-<a name="boost_regex.install.h6"></a>
-      <span><a name="boost_regex.install.sun_workshop_6_1"></a></span><a class="link" href="install.html#boost_regex.install.sun_workshop_6_1">Sun
-      Workshop 6.1</a>
-    </h6>
-<p>
-      There is a makefile for the sun (6.1) compiler (C++ version 3.12). From the
-      command prompt change to the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">build</span></code> directory
-      and type:
-    </p>
-<pre class="programlisting">dmake -f sunpro.mak </pre>
-<p>
-      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 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">&gt;/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">build</span><span class="special">/</span><span class="identifier">sunpro</span><span class="special">/</span></code> to
-      your library search path.
-    </p>
-<p>
-      Both of the these makefiles support the following environment variables:
-    </p>
-<p>
-      CXXFLAGS: extra compiler options - note that this applies to both the single
-      and multithreaded builds.
-    </p>
-<p>
-      INCLUDES: additional include directories.
-    </p>
-<p>
-      LDFLAGS: additional linker options.
-    </p>
-<p>
-      LIBS: additional library files.
-    </p>
-<p>
-      LIBSUFFIX: a suffix to mangle the library name with (defaults to nothing).
-    </p>
-<p>
-      This makefile does not set any architecture specific options like -xarch=v9,
-      you can set these by defining the appropriate macros, for example:
-    </p>
-<pre class="programlisting">dmake CXXFLAGS="-xarch=v9" LDFLAGS="-xarch=v9" LIBSUFFIX="_v9" -f sunpro.mak</pre>
-<p>
-      will build v9 variants of the regex library named libboost_regex_v9.a etc.
-    </p>
-<h6>
-<a name="boost_regex.install.h7"></a>
-      <span><a name="boost_regex.install.makefiles_for_other_compilers"></a></span><a class="link" href="install.html#boost_regex.install.makefiles_for_other_compilers">Makefiles
-      for Other compilers</a>
-    </h6>
-<p>
-      There is a generic makefile (generic.mak ) provided in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">-</span><span class="identifier">root</span><span class="special">&gt;/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">regex</span><span class="special">/</span><span class="identifier">build</span></code> - see that makefile for details of
-      environment variables that need to be set before use.
-    </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>
+        The makefiles that were supplied with Boost.Regex are now deprecated and
+        will be removed in the next release.
+      </p></td></tr>
+</table></div>
 </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-2010 John Maddock<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 1998-2013 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>