Rebuild docs after changeset 62140

[SVN r62141]
This commit is contained in:
Beman Dawes
2010-05-22 12:54:57 +00:00
parent d4a9554db0
commit 956b95a48f
5 changed files with 2376 additions and 2200 deletions

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgements</title> <title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Boost.Config"> <link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config"> <link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="rationale.html" title="Rationale"> <link rel="prev" href="rationale.html" title="Rationale">
@ -21,7 +21,7 @@
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a> <a accesskey="p" href="rationale.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a> <a name="boost_config.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
</h2></div></div></div> </h2></div></div></div>

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Guidelines for Boost Authors</title> <title>Guidelines for Boost Authors</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Boost.Config"> <link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config"> <link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference"> <link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
@ -22,7 +22,7 @@
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for <a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
Boost Authors</a> Boost Authors</a>
@ -61,14 +61,14 @@
<p> <p>
Note that: Note that:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span> Boost library implementers are not required to "<code class="computeroutput"><span class="preprocessor">#include</span>
<span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>", <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>",
and are not required in any way to support compilers that do not comply with and are not required in any way to support compilers that do not comply with
the C++ Standard (ISO/IEC 14882). the C++ Standard (ISO/IEC 14882).
</li> </li>
<li> <li class="listitem">
If a library implementer wishes to support some non-conforming compiler, If a library implementer wishes to support some non-conforming compiler,
or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span> or to support some platform specific feature, "<code class="computeroutput"><span class="preprocessor">#include</span>
<span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>" <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>"
@ -76,12 +76,12 @@
the standard headers such as <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>, the standard headers such as <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>,
etc. etc.
</li> </li>
<li> <li class="listitem">
If configuration information can be deduced from standard headers such as If configuration information can be deduced from standard headers such as
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>, use those standard headers rather than <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span></code>, use those standard headers rather than
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>. <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
</li> </li>
<li> <li class="listitem">
Boost files that use macros defined in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> Boost files that use macros defined in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
should have sensible, standard conforming, default behavior if the macro should have sensible, standard conforming, default behavior if the macro
is not defined. This means that the starting point for porting <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> is not defined. This means that the starting point for porting <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
@ -89,21 +89,21 @@
In the rare case where there is no sensible default behavior, an #error message In the rare case where there is no sensible default behavior, an #error message
should describe the problem. should describe the problem.
</li> </li>
<li> <li class="listitem">
If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>, post If a Boost library implementer wants something added to <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code>, post
a request on the Boost mailing list. There is no guarantee such a request a request on the Boost mailing list. There is no guarantee such a request
will be honored; the intent is to limit the complexity of config.hpp. will be honored; the intent is to limit the complexity of config.hpp.
</li> </li>
<li> <li class="listitem">
The intent is to support only compilers which appear on their way to becoming The intent is to support only compilers which appear on their way to becoming
C++ Standard compliant, and only recent releases of those compilers at that. C++ Standard compliant, and only recent releases of those compilers at that.
</li> </li>
<li> <li class="listitem">
The intent is not to disable mainstream features now well-supported by the The intent is not to disable mainstream features now well-supported by the
majority of compilers, such as namespaces, exceptions, RTTI, or templates. majority of compilers, such as namespaces, exceptions, RTTI, or templates.
</li> </li>
</ul></div> </ul></div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings"> <a name="boost_config.guidelines_for_boost_authors.warnings"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings" title="Disabling Compiler Warnings">
Disabling Compiler Warnings</a> Disabling Compiler Warnings</a>
@ -116,17 +116,17 @@
<p> <p>
Note that: Note that:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
This header <span class="bold"><strong><span class="emphasis"><em>should never be included by This header <span class="bold"><strong><span class="emphasis"><em>should never be included by
another Boost header</em></span></strong></span>, it should only ever be used another Boost header</em></span></strong></span>, it should only ever be used
by a library source file or a test case. by a library source file or a test case.
</li> </li>
<li> <li class="listitem">
The header should be included <span class="bold"><strong><span class="emphasis"><em>before you The header should be included <span class="bold"><strong><span class="emphasis"><em>before you
include any other header</em></span></strong></span>. include any other header</em></span></strong></span>.
</li> </li>
<li> <li class="listitem">
This header only disables warnings that are hard or impossible to otherwise This header only disables warnings that are hard or impossible to otherwise
deal with, and which are typically emitted by one compiler only, or in deal with, and which are typically emitted by one compiler only, or in
one compilers own standard library headers. one compilers own standard library headers.
@ -142,47 +142,47 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Compiler Compiler
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Warning Warning
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
Visual C++ 8 and later Visual C++ 8 and later
</p> </p>
</td> </td>
<td> <td>
<p> <p>
<a href="http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx" target="_top">C4996</a>: <a href="http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx" target="_top">C4996</a>:
Error 'function': was declared deprecated Error 'function': was declared deprecated
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
Intel C++ Intel C++
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Warning 1786: relates to the use of "deprecated" standard Warning 1786: relates to the use of "deprecated" standard
library functions rather like C4996 in Visual C++. library functions rather like C4996 in Visual C++.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding <a name="boost_config.guidelines_for_boost_authors.adding_new_defect_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros" title="Adding New Defect Macros">Adding
New Defect Macros</a> New Defect Macros</a>
@ -233,14 +233,14 @@
Once the test code is in place in libs/config/test, updating the configuration Once the test code is in place in libs/config/test, updating the configuration
test system proceeds as: test system proceeds as:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>. cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">tools</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span></code>.
This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code> This generates the <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2, file test cases from the <code class="computeroutput"><span class="special">.</span><span class="identifier">ipp</span></code> file, updates the libs/config/test/all/Jamfile.v2,
<code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br><br> <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>.<br><br>
</li> </li>
<li> <li class="listitem">
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span> cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">all</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
</code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>, </code><span class="emphasis"><em>MACRONAME<code class="computeroutput"> <span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>,
where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and where <span class="emphasis"><em>MACRONAME</em></span> is the name of the new macro, and
@ -251,7 +251,7 @@
If <span class="emphasis"><em>MACRONAME</em></span> is defined when it should not be defined, If <span class="emphasis"><em>MACRONAME</em></span> is defined when it should not be defined,
xxx_fail_test will not report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br><br> xxx_fail_test will not report <code class="computeroutput"><span class="special">**</span><span class="identifier">passed</span><span class="special">**</span></code>.<br><br>
</li> </li>
<li> <li class="listitem">
cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span> cd into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">test</span></code> and run <code class="computeroutput"><span class="identifier">bjam</span>
<span class="identifier">config_info</span> <span class="identifier">config_test</span> <span class="identifier">config_info</span> <span class="identifier">config_test</span>
</code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>. </code><span class="emphasis"><em><code class="computeroutput"><span class="identifier">compiler</span><span class="special">-</span><span class="identifier">list</span></code></em></span>.
@ -264,26 +264,26 @@
<p> <p>
Then you should: Then you should:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
Define the defect macro in those config headers that require it. Define the defect macro in those config headers that require it.
</li> </li>
<li> <li class="listitem">
Document the macro in this documentation (please do not forget this step!!) Document the macro in this documentation (please do not forget this step!!)
</li> </li>
<li> <li class="listitem">
Commit everything. Commit everything.
</li> </li>
<li> <li class="listitem">
Keep an eye on the regression tests for new failures in Boost.Config caused Keep an eye on the regression tests for new failures in Boost.Config caused
by the addition. by the addition.
</li> </li>
<li> <li class="listitem">
Start using the macro. Start using the macro.
</li> </li>
</ul></div> </ul></div>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding <a name="boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_feature_test_macros" title="Adding New Feature Test Macros">Adding
New Feature Test Macros</a> New Feature Test Macros</a>
@ -307,7 +307,7 @@
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>). <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">unistd</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>).
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying <a name="boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers"></a><a class="link" href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.modifying_the_boost_configuration_headers" title="Modifying the Boost Configuration Headers">Modifying
the Boost Configuration Headers</a> the Boost Configuration Headers</a>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rationale</title> <title>Rationale</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Boost.Config"> <link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config"> <link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors"> <link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
@ -22,7 +22,7 @@
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a> <a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
</h2></div></div></div> </h2></div></div></div>
@ -39,7 +39,7 @@
principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following principles from the <a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf" target="_top">following
article</a>. article</a>.
</p> </p>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a> <a name="boost_config.rationale.the_problem"></a><a class="link" href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
</h3></div></div></div> </h3></div></div></div>
@ -102,7 +102,7 @@
code must be provided. code must be provided.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a> <a name="boost_config.rationale.the_solution"></a><a class="link" href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
</h3></div></div></div> </h3></div></div></div>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Config</title> <title>Boost.Config</title>
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Boost.Config"> <link rel="home" href="index.html" title="Boost.Config">
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference"> <link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
</head> </head>
@ -18,7 +18,7 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div> <div class="spirit-nav"><a accesskey="n" href="boost_config/boost_macro_reference.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
<div class="article" lang="en"> <div class="article">
<div class="titlepage"> <div class="titlepage">
<div> <div>
<div><h2 class="title"> <div><h2 class="title">
@ -28,7 +28,7 @@
</h3></div></div></div> </h3></div></div></div>
<div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div> <div><p class="copyright">Copyright &#169; 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id664529"></a><p> <a name="id3235942"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying 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>) 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> </p>
@ -92,7 +92,7 @@
<dt><span class="section"><a href="boost_config/acknowledgements.html">Acknowledgements</a></span></dt> <dt><span class="section"><a href="boost_config/acknowledgements.html">Acknowledgements</a></span></dt>
</dl> </dl>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring <a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
Boost for Your Platform</a> Boost for Your Platform</a>
@ -111,7 +111,7 @@
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing <dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration">Testing
the boost configuration</a></span></dt> the boost configuration</a></span></dt>
</dl></div> </dl></div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using <a name="boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration" title="Using the default boost configuration">Using
the default boost configuration</a> the default boost configuration</a>
@ -135,7 +135,7 @@
and submitting a support request. and submitting a support request.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The &lt;boost/config.hpp&gt; header">The <a name="boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header" title="The &lt;boost/config.hpp&gt; header">The
&lt;boost/config.hpp&gt; header</a> &lt;boost/config.hpp&gt; header</a>
@ -168,7 +168,7 @@
</div> </div>
<a name="config_config_script"></a><p> <a name="config_config_script"></a><p>
</p> </p>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using <a name="boost_config.configuring_boost_for_your_platform.using_the_configure_script"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.using_the_configure_script" title="Using the configure script">Using
the configure script</a> the configure script</a>
@ -213,63 +213,63 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Variable Variable
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Description Description
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
CXX CXX
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The name of the compiler, for example <code class="computeroutput"><span class="identifier">c</span><span class="special">++</span></code>. The name of the compiler, for example <code class="computeroutput"><span class="identifier">c</span><span class="special">++</span></code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
CXXFLAGS CXXFLAGS
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The compiler flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">O2</span></code>. The compiler flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">O2</span></code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
LDFLAGS LDFLAGS
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The linker flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">L</span><span class="special">/</span><span class="identifier">mypath</span></code>. The linker flags to use, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">L</span><span class="special">/</span><span class="identifier">mypath</span></code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
LIBS LIBS
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Any libraries to link in, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">lpthread</span></code>. Any libraries to link in, for example <code class="computeroutput"><span class="special">-</span><span class="identifier">lpthread</span></code>.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -295,15 +295,15 @@
(located under <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>). (located under <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code>).
There are two ways you can use this header: There are two ways you can use this header:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li> <li class="listitem">
<span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp <span class="bold"><strong>Option 1:</strong></span> copy the header into <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code> so that it replaces the default user.hpp
provided by boost. This option allows only one configure-generated setup; provided by boost. This option allows only one configure-generated setup;
boost developers should avoid this option, as it incurs the danger of accidentally boost developers should avoid this option, as it incurs the danger of accidentally
committing a configure-modified <a href="../../../../boost/config/user.hpp" target="_top">&lt;boost/config/user.hpp&gt;</a> committing a configure-modified <a href="../../../../boost/config/user.hpp" target="_top">&lt;boost/config/user.hpp&gt;</a>
to the cvs repository (something you will not be thanked for!). to the cvs repository (something you will not be thanked for!).
</li> </li>
<li> <li class="listitem">
<span class="bold"><strong>Option 2:</strong></span> give the header a more memorable <span class="bold"><strong>Option 2:</strong></span> give the header a more memorable
name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For name, and place it somewhere convenient; then, define the macro <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> to point to it. For
example create a new sub-directory <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code><code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example example create a new sub-directory <span class="emphasis"><em>&lt;boost-root&gt;</em></span><code class="computeroutput"><span class="special">/</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span></code><code class="computeroutput"><span class="identifier">user</span><span class="special">/</span></code>, and copy the header there; for example
@ -318,7 +318,7 @@
</div> </div>
<a name="config_user_settable"></a><p> <a name="config_user_settable"></a><p>
</p> </p>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User <a name="boost_config.configuring_boost_for_your_platform.user_settable_options"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
settable options</a> settable options</a>
@ -337,352 +337,354 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
Macro Macro
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Description Description
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, it should point to the name of the user configuration When defined, it should point to the name of the user configuration
file to include prior to any boost configuration files. When not file to include prior to any boost configuration files. When not
defined, defaults to <a href="../../../../boost/config/user.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>. defined, defaults to <a href="../../../../boost/config/user.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">user</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, it should point to the name of the compiler configuration When defined, it should point to the name of the compiler configuration
file to use. Defining this cuts out the compiler selection logic, file to use. Defining this cuts out the compiler selection logic,
and eliminates the dependency on the header containing that logic. and eliminates the dependency on the header containing that logic.
For example if you are using gcc, then you could define BOOST_COMPILER_CONFIG For example if you are using gcc, then you could define BOOST_COMPILER_CONFIG
to <a href="../../../../boost/config/compiler/gcc.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">compiler</span><span class="special">/</span><span class="identifier">gcc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>. to <a href="../../../../boost/config/compiler/gcc.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">compiler</span><span class="special">/</span><span class="identifier">gcc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, it should point to the name of the standard library When defined, it should point to the name of the standard library
configuration file to use. Defining this cuts out the standard library configuration file to use. Defining this cuts out the standard
selection logic, and eliminates the dependency on the header containing library selection logic, and eliminates the dependency on the header
that logic. For example if you are using STLport, then you could containing that logic. For example if you are using STLport, then
define <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code> you could define <code class="computeroutput"><span class="identifier">BOOST_STDLIB_CONFIG</span></code>
to <a href="../../../../boost/config/stdlib/stlport.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">stdlib</span><span class="special">/</span><span class="identifier">stlport</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>. to <a href="../../../../boost/config/stdlib/stlport.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">stdlib</span><span class="special">/</span><span class="identifier">stlport</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, it should point to the name of the platform configuration When defined, it should point to the name of the platform configuration
file to use. Defining this cuts out the platform selection logic, file to use. Defining this cuts out the platform selection logic,
and eliminates the dependency on the header containing that logic. and eliminates the dependency on the header containing that logic.
For example if you are compiling on linux, then you could define For example if you are compiling on linux, then you could define
<code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_PLATFORM_CONFIG</span></code>
to <a href="../../../../boost/config/platform/linux.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">platform</span><span class="special">/</span><span class="identifier">linux</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>. to <a href="../../../../boost/config/platform/linux.hpp" target="_top"><code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">platform</span><span class="special">/</span><span class="identifier">linux</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, no compiler configuration file is selected or included, When defined, no compiler configuration file is selected or included,
define when the compiler is fully conformant with the standard, or define when the compiler is fully conformant with the standard,
where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
has had any options necessary added to it, for example by an autoconf has had any options necessary added to it, for example by an autoconf
generated configure script. generated configure script.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, no standard library configuration file is selected When defined, no standard library configuration file is selected
or included, define when the standard library is fully conformant or included, define when the standard library is fully conformant
with the standard, or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), with the standard, or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), has had any
has had any options necessary added to it, for example by an autoconf options necessary added to it, for example by an autoconf generated
generated configure script. configure script.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, no platform configuration file is selected or included, When defined, no platform configuration file is selected or included,
define when the platform is fully conformant with the standard (and define when the platform is fully conformant with the standard
has no useful extra features), or where the user header (see <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>), has had any (and has no useful extra features), or where the user header (see
options necessary added to it, for example by an autoconf generated <code class="computeroutput"><span class="identifier">BOOST_USER_CONFIG</span></code>),
configure script. has had any options necessary added to it, for example by an autoconf
</p> generated configure script.
</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Equivalent to defining all of <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>, Equivalent to defining all of <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>,
<code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_STDLIB_CONFIG</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code>. and <code class="computeroutput"><span class="identifier">BOOST_NO_PLATFORM_CONFIG</span></code>.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_STRICT_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_STRICT_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
The normal behavior for compiler versions that are newer than the The normal behavior for compiler versions that are newer than the
last known version, is to assume that they have all the same defects last known version, is to assume that they have all the same defects
as the last known version. By setting this define, then compiler as the last known version. By setting this define, then compiler
versions that are newer than the last known version are assumed to versions that are newer than the last known version are assumed
be fully conforming with the standard. This is probably most useful to be fully conforming with the standard. This is probably most
for boost developers or testers, and for those who want to use boost useful for boost developers or testers, and for those who want
to test beta compiler versions. to use boost to test beta compiler versions.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_ASSERT_CONFIG</span></code> <code class="computeroutput"><span class="identifier">BOOST_ASSERT_CONFIG</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When this flag is set, if the config finds anything unknown, then When this flag is set, if the config finds anything unknown, then
it will stop with a #error rather than continue. Boost regression it will stop with a #error rather than continue. Boost regression
testers should set this define, as should anyone who wants to quickly testers should set this define, as should anyone who wants to quickly
check whether boost is supported on their platform. check whether boost is supported on their platform.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, disables threading support, even if the compiler in When defined, disables threading support, even if the compiler
its current translation mode supports multiple threads. in its current translation mode supports multiple threads.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_DISABLE_WIN32</span></code> <code class="computeroutput"><span class="identifier">BOOST_DISABLE_WIN32</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
When defined, disables the use of Win32 specific API's, even when When defined, disables the use of Win32 specific API's, even when
these are available. Also has the effect of setting <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> unless <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code> is set. This these are available. Also has the effect of setting <code class="computeroutput"><span class="identifier">BOOST_DISABLE_THREADS</span></code> unless
option may be set automatically by the config system when it detects <code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREADS</span></code>
that the compiler is in "strict mode". is set. This option may be set automatically by the config system
</p> when it detects that the compiler is in "strict mode".
</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_DISABLE_ABI_HEADERS</span></code> <code class="computeroutput"><span class="identifier">BOOST_DISABLE_ABI_HEADERS</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Stops boost headers from including any prefix/suffix headers that Stops boost headers from including any prefix/suffix headers that
normally control things like struct packing and alignment. normally control things like struct packing and alignment.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_ABI_PREFIX</span></code> <code class="computeroutput"><span class="identifier">BOOST_ABI_PREFIX</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A prefix header to include in place of whatever boost.config would A prefix header to include in place of whatever boost.config would
normally select, any replacement should set up struct packing and normally select, any replacement should set up struct packing and
alignment options as required. alignment options as required.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_ABI_SUFFIX</span></code> <code class="computeroutput"><span class="identifier">BOOST_ABI_SUFFIX</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A suffix header to include in place of whatever boost.config would A suffix header to include in place of whatever boost.config would
normally select, any replacement should undo the effects of the prefix normally select, any replacement should undo the effects of the
header. prefix header.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_ALL_DYN_LINK</span></code> <code class="computeroutput"><span class="identifier">BOOST_ALL_DYN_LINK</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Forces all libraries that have separate source, to be linked as dll's Forces all libraries that have separate source, to be linked as
rather than static libraries on Microsoft Windows (this macro is dll's rather than static libraries on Microsoft Windows (this macro
used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
knows which symbols to look for in a dll rather than in a static knows which symbols to look for in a dll rather than in a static
library). Note that there may be some libraries that can only be library). Note that there may be some libraries that can only be
statically linked (Boost.Test for example) and others which may only statically linked (Boost.Test for example) and others which may
be dynamically linked (Boost.Threads for example), in these cases only be dynamically linked (Boost.Threads for example), in these
this macro has no effect. cases this macro has no effect.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_DYN_LINK</span></code> <code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_DYN_LINK</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Forces library "whatever" to be linked as a dll rather Forces library "whatever" to be linked as a dll rather
than a static library on Microsoft Windows: replace the <span class="emphasis"><em>WHATEVER</em></span> than a static library on Microsoft Windows: replace the <span class="emphasis"><em>WHATEVER</em></span>
part of the macro name with the name of the library that you want part of the macro name with the name of the library that you want
to dynamically link to, for example use <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_DYN_LINK</span></code> to dynamically link to, for example use <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_DYN_LINK</span></code>
or <code class="computeroutput"><span class="identifier">BOOST_REGEX_DYN_LINK</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_DYN_LINK</span></code>
etc (this macro is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler etc (this macro is used to turn on <code class="computeroutput"><span class="identifier">__declspec</span><span class="special">(</span><span class="identifier">dllimport</span><span class="special">)</span></code> modifiers, so that the compiler
knows which symbols to look for in a dll rather than in a static knows which symbols to look for in a dll rather than in a static
library). Note that there may be some libraries that can only be library). Note that there may be some libraries that can only be
statically linked (Boost.Test for example) and others which may only statically linked (Boost.Test for example) and others which may
be dynamically linked (Boost.Threads for example), in these cases only be dynamically linked (Boost.Threads for example), in these
this macro is unsupported. cases this macro is unsupported.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_ALL_NO_LIB</span></code> <code class="computeroutput"><span class="identifier">BOOST_ALL_NO_LIB</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Tells the config system not to automatically select which libraries Tells the config system not to automatically select which libraries
to link against. Normally if a compiler supports #pragma lib, then to link against. Normally if a compiler supports #pragma lib, then
the correct library build variant will be automatically selected the correct library build variant will be automatically selected
and linked against, simply by the act of including one of that library's and linked against, simply by the act of including one of that
headers. This macro turns that feature off. library's headers. This macro turns that feature off.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_NO_LIB</span></code> <code class="computeroutput"><span class="identifier">BOOST_</span></code><span class="emphasis"><em>WHATEVER</em></span><code class="computeroutput"><span class="identifier">_NO_LIB</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Tells the config system not to automatically select which library Tells the config system not to automatically select which library
to link against for library "whatever", replace <span class="emphasis"><em>WHATEVER</em></span> to link against for library "whatever", replace <span class="emphasis"><em>WHATEVER</em></span>
in the macro name with the name of the library; for example <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_NO_LIB</span></code>. Normally if in the macro name with the name of the library; for example <code class="computeroutput"><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> or <code class="computeroutput"><span class="identifier">BOOST_REGEX_NO_LIB</span></code>. Normally
a compiler supports <code class="computeroutput"><span class="preprocessor">#pragma</span> if a compiler supports <code class="computeroutput"><span class="preprocessor">#pragma</span>
<span class="identifier">lib</span></code>, then the correct library <span class="identifier">lib</span></code>, then the correct
build variant will be automatically selected and linked against, library build variant will be automatically selected and linked
simply by the act of including one of that library's headers. This against, simply by the act of including one of that library's headers.
macro turns that feature off. This macro turns that feature off.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code> <code class="computeroutput"><span class="identifier">BOOST_LIB_DIAGNOSTIC</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Causes the auto-linking code to output diagnostic messages indicating Causes the auto-linking code to output diagnostic messages indicating
the name of the library that is selected for linking. the name of the library that is selected for linking.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_LIB_TOOLSET</span></code> <code class="computeroutput"><span class="identifier">BOOST_LIB_TOOLSET</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Overrides the name of the toolset part of the name of library being Overrides the name of the toolset part of the name of library being
linked to; note if defined this must be defined to a quoted string linked to; note if defined this must be defined to a quoted string
literal, for example "abc". literal, for example "abc".
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
configuration usage</a> configuration usage</a>
@ -726,7 +728,7 @@
<p> <p>
The following usage examples represent just a few of the possibilities: The following usage examples represent just a few of the possibilities:
</p> </p>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration" title="Example 1, creating our own frozen configuration">Example
1, creating our own frozen configuration</a> 1, creating our own frozen configuration</a>
@ -758,7 +760,7 @@
yet supported by boost. yet supported by boost.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need" title="Example 2: skipping files that you don't need">Example
2: skipping files that you don't need</a> 2: skipping files that you don't need</a>
@ -777,7 +779,7 @@
a dependency on two boost headers. a dependency on two boost headers.
</p> </p>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example <a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_3__using_configure_script_to_freeze_the_boost_configuration" title="Example 3: using configure script to freeze the boost configuration">Example
3: using configure script to freeze the boost configuration</a> 3: using configure script to freeze the boost configuration</a>
@ -790,7 +792,7 @@
</p> </p>
</div> </div>
</div> </div>
<div class="section" lang="en"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing <a name="boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.testing_the_boost_configuration" title="Testing the boost configuration">Testing
the boost configuration</a> the boost configuration</a>
@ -808,119 +810,119 @@
</colgroup> </colgroup>
<thead><tr> <thead><tr>
<th> <th>
<p> <p>
File File
</p> </p>
</th> </th>
<th> <th>
<p> <p>
Description Description
</p> </p>
</th> </th>
</tr></thead> </tr></thead>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">config_info</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Prints out a detailed description of your compiler/standard library/platform Prints out a detailed description of your compiler/standard library/platform
setup, plus your current boost configuration. The information provided setup, plus your current boost configuration. The information provided
by this program useful in setting up the boost configuration files. by this program useful in setting up the boost configuration files.
If you report that boost is incorrectly configured for your compiler/library/platform If you report that boost is incorrectly configured for your compiler/library/platform
then please include the output from this program when reporting the then please include the output from this program when reporting
changes required. the changes required.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">config_test</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
A monolithic test program that includes most of the individual test A monolithic test program that includes most of the individual
cases. This provides a quick check to see if boost is correctly configured test cases. This provides a quick check to see if boost is correctly
for your compiler/library/platform. configured for your compiler/library/platform.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">limits_test</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">limits_test</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Tests your standard library's <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code> Tests your standard library's <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
implementation (or its boost provided replacement if <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code> is defined). This implementation (or its boost provided replacement if <code class="computeroutput"><span class="identifier">BOOST_NO_LIMITS</span></code> is defined).
test file fails with most versions of numeric_limits, mainly due This test file fails with most versions of numeric_limits, mainly
to the way that some compilers treat NAN's and infinity. due to the way that some compilers treat NAN's and infinity.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Individual compiler defect test files. Each of these should compile, Individual compiler defect test files. Each of these should compile,
if one does not then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code> if one does not then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
macro needs to be defined - see each test file for specific details. macro needs to be defined - see each test file for specific details.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">no_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Individual compiler defect test files. Each of these should not compile, Individual compiler defect test files. Each of these should not
if one does then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code> compile, if one does then the corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
macro is defined when it need not be - see each test file for specific macro is defined when it need not be - see each test file for specific
details. details.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">pass</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Individual feature test files. If one of these does not compile then Individual feature test files. If one of these does not compile
the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code> then the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
macro is defined when it should not be - see each test file for specific macro is defined when it should not be - see each test file for
details. specific details.
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code> <code class="computeroutput"><span class="identifier">has_</span><span class="special">*</span><span class="identifier">fail</span><span class="special">.</span><span class="identifier">cpp</span></code>
</p> </p>
</td> </td>
<td> <td>
<p> <p>
Individual feature test files. If one of these does compile then Individual feature test files. If one of these does compile then
the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code> the corresponding <code class="computeroutput"><span class="identifier">BOOST_HAS_XXX</span></code>
macro can be safely defined - see each test file for specific details. macro can be safely defined - see each test file for specific details.
</p> </p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -960,7 +962,7 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: April 09, 2010 at 12:33:49 GMT</small></p></td> <td align="left"><p><small>Last revised: May 22, 2010 at 12:50:36 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>