Merge Boost.Config changes ready for 1.37.

[SVN r48892]
This commit is contained in:
John Maddock
2008-09-19 11:24:09 +00:00
parent fbef3e88e5
commit b47cfe8c7b
22 changed files with 471 additions and 71 deletions

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<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.73.2"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../index.html" title="Boost.Config"> <link rel="start" 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">
@ -23,14 +23,14 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
</h2></div></div></div> </h2></div></div></div>
<p> <p>
Beman Dawes provided the original <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code> and Beman Dawes provided the original <code class="computeroutput"><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code> and
part of this document. part of this document.
</p> </p>
<p> <p>
Vesa Karvonen provided a description of the principles (see <a class="link" href="../index.html#config_rationale">rationale</a>) Vesa Karvonen provided a description of the principles (see <a href="../index.html#config_rationale">rationale</a>)
and put together an early version of the current configuration setup. and put together an early version of the current configuration setup.
</p> </p>
<p> <p>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Boost Macro Reference</title> <title>Boost Macro Reference</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.73.2"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../index.html" title="Boost.Config"> <link rel="start" 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="../index.html" title="Boost.Config"> <link rel="prev" href="../index.html" title="Boost.Config">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a> <a name="boost_config.boost_macro_reference"></a><a href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects">Macros <dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects">Macros
@ -46,7 +46,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros <a name="boost_config.boost_macro_reference.macros_that_describe_defects"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_defects" title="Macros that describe defects">Macros
that describe defects</a> that describe defects</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -742,6 +742,24 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
The compiler may (or may not) have the typeid operator, but RTTI
on the dynamic type of an object is not supported.
</p>
</td>
</tr>
<tr>
<td> <td>
<p> <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE</span></code> <code class="computeroutput"><span class="identifier">BOOST_NO_SFINAE</span></code>
@ -1204,7 +1222,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros <a name="boost_config.boost_macro_reference.macros_that_describe_optional_features"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features" title="Macros that describe optional features">Macros
that describe optional features</a> that describe optional features</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -2112,7 +2130,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros <a name="boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c__0x_features" title="Macros that describe possible C++0x features">Macros
that describe possible C++0x features</a> that describe possible C++0x features</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -2153,7 +2171,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros <a name="boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__0x_features_not_supported" title="Macros that describe C++0x features not supported">Macros
that describe C++0x features not supported</a> that describe C++0x features not supported</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -2371,7 +2389,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost <a name="boost_config.boost_macro_reference.boost_helper_macros"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
Helper Macros</a> Helper Macros</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -2664,7 +2682,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost <a name="boost_config.boost_macro_reference.boost_informational_macros"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros" title="Boost Informational Macros">Boost
Informational Macros</a> Informational Macros</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -2903,7 +2921,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
for libraries with separate source code</a> for libraries with separate source code</a>
</h3></div></div></div> </h3></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
@ -2920,7 +2938,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing" title="ABI Fixing">ABI
Fixing</a> Fixing</a>
</h4></div></div></div> </h4></div></div></div>
<p> <p>
@ -2978,7 +2996,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic <a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection"></a><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection" title="Automatic library selection">Automatic
library selection</a> library selection</a>
</h4></div></div></div> </h4></div></div></div>
<p> <p>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<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.73.2"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../index.html" title="Boost.Config"> <link rel="start" 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">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
Boost Authors</a> Boost Authors</a>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
@ -105,7 +105,7 @@
</ul></div> </ul></div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -184,7 +184,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -283,7 +283,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -307,7 +307,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<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.73.2"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../index.html" title="Boost.Config"> <link rel="start" 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">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="rationale.html" title="Rationale">Rationale</a>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt> <dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
@ -41,7 +41,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="rationale.html#boost_config.rationale.the_problem" title="The problem">The problem</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
Consider a situation in which you are concurrently developing on multiple Consider a situation in which you are concurrently developing on multiple
@ -104,7 +104,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="rationale.html#boost_config.rationale.the_solution" title="The solution">The solution</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
The approach taken by boost's configuration headers is to separate configuration The approach taken by boost's configuration headers is to separate configuration

View File

@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<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.73.2"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="index.html" title="Boost.Config"> <link rel="start" 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>
@ -28,7 +28,7 @@
</h3></div></div></div> </h3></div></div></div>
<div><p class="copyright">Copyright <20> 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div> <div><p class="copyright">Copyright <20> 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id464982"></a><p> <a name="id447044"></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>
@ -94,7 +94,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h2></div></div></div> </h2></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
@ -113,7 +113,7 @@
</dl></div> </dl></div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -137,7 +137,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -152,10 +152,10 @@
them usable by both Boost library and user code. them usable by both Boost library and user code.
</p> </p>
<p> <p>
Boost <a class="link" href="boost_config/boost_macro_reference.html#config_info_macros">informational</a> or <a class="link" href="boost_config/boost_macro_reference.html#config_helpers">helper</a> Boost <a href="boost_config/boost_macro_reference.html#config_info_macros">informational</a> or <a href="boost_config/boost_macro_reference.html#config_helpers">helper</a>
macros are designed for use by Boost users as well as for our own internal macros are designed for use by Boost users as well as for our own internal
use. Note however, that the <a class="link" href="boost_config/boost_macro_reference.html#config_features">feature test</a> use. Note however, that the <a href="boost_config/boost_macro_reference.html#config_features">feature test</a>
and <a class="link" href="boost_config/boost_macro_reference.html#config_defects">defect test</a> macros were designed and <a href="boost_config/boost_macro_reference.html#config_defects">defect test</a> macros were designed
for internal use by Boost libraries, not user code, so they can change at for internal use by Boost libraries, not user code, so they can change at
any time (though no gratuitous changes are made to them). Boost library problems any time (though no gratuitous changes are made to them). Boost library problems
resulting from changes to the configuration macros are caught by the Boost resulting from changes to the configuration macros are caught by the Boost
@ -170,7 +170,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<div class="important"><table border="0" summary="Important"> <div class="important"><table border="0" summary="Important">
@ -320,7 +320,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="index.html#boost_config.configuring_boost_for_your_platform.user_settable_options" title="User settable options">User
settable options</a> settable options</a>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -684,7 +684,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
configuration usage</a> configuration usage</a>
</h3></div></div></div> </h3></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
@ -709,13 +709,13 @@
<p> <p>
Next the compiler, standard library, and platform configuration files are Next the compiler, standard library, and platform configuration files are
included. These are included via macros (<code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code> included. These are included via macros (<code class="computeroutput"><span class="identifier">BOOST_COMPILER_CONFIG</span></code>
etc, <a class="link" href="index.html#config_user_settable">see user settable macros</a>), etc, <a href="index.html#config_user_settable">see user settable macros</a>),
and if the corresponding macro is undefined then a separate header that detects and if the corresponding macro is undefined then a separate header that detects
which compiler/standard library/platform is in use is included in order to which compiler/standard library/platform is in use is included in order to
set these. The config can be told to ignore these headers altogether if the set these. The config can be told to ignore these headers altogether if the
corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code> corresponding <code class="computeroutput"><span class="identifier">BOOST_NO_XXX</span></code>
macro is set (for example <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code> macro is set (for example <code class="computeroutput"><span class="identifier">BOOST_NO_COMPILER_CONFIG</span></code>
to disable including any compiler configuration file - <a class="link" href="index.html#config_user_settable">see to disable including any compiler configuration file - <a href="index.html#config_user_settable">see
user settable macros</a>). user settable macros</a>).
</p> </p>
<p> <p>
@ -728,7 +728,7 @@
</p> </p>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h4></div></div></div> </h4></div></div></div>
<p> <p>
@ -760,7 +760,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h4></div></div></div> </h4></div></div></div>
<p> <p>
@ -779,20 +779,20 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h4></div></div></div> </h4></div></div></div>
<p> <p>
If you are working on a unix-like platform then you can use the configure If you are working on a unix-like platform then you can use the configure
script to generate a "frozen" configuration based on your current script to generate a "frozen" configuration based on your current
compiler setup - <a class="link" href="index.html#config_config_script">see using the configure compiler setup - <a href="index.html#config_config_script">see using the configure
script for more details</a>. script for more details</a>.
</p> </p>
</div> </div>
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<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 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>
</h3></div></div></div> </h3></div></div></div>
<p> <p>
@ -962,7 +962,7 @@
</p> </p>
</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: June 20, 2008 at 00:19:08 GMT</small></p></td> <td align="left"><p><small>Last revised: August 25, 2008 at 09:59:24 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>

View File

@ -192,6 +192,10 @@ Pointers to members don't work when used as template parameters.
The compiler misreads 8.5.1, treating classes as non-aggregate if they The compiler misreads 8.5.1, treating classes as non-aggregate if they
contain private or protected member functions. contain private or protected member functions.
]] ]]
[[`BOOST_NO_RTTI`][Compiler][
The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
of an object is not supported.
]]
[[`BOOST_NO_SFINAE`][Compiler][ [[`BOOST_NO_SFINAE`][Compiler][
The compiler does not support the "Substitution Failure Is Not An Error" The compiler does not support the "Substitution Failure Is Not An Error"
meta-programming idiom. meta-programming idiom.

View File

@ -19,11 +19,13 @@
// last known and checked version is 0x600 (Builder X preview) // last known and checked version is 0x600 (Builder X preview)
// or 0x593 (CodeGear C++ Builder 2007 December 2007 update): // or 0x593 (CodeGear C++ Builder 2007 December 2007 update):
#if (__BORLANDC__ > 0x593) && (__BORLANDC__ != 0x600) #if (__BORLANDC__ > 0x593) && (__BORLANDC__ != 0x600)
# if defined(BOOST_ASSERT_CONFIG) //# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results" # error "Unknown compiler version - please run the configure tests and report the results"
# else //# else
# pragma message( "Unknown compiler version - please run the configure tests and report the results") //# pragma message( "Unknown compiler version - please run the configure tests and report the results")
# endif //# endif
#elif (__BORLANDC__ == 0x600)
# error "CBuilderX preview compiler is no longer supported"
#endif #endif
// //
@ -108,21 +110,52 @@
// Borland C++ Builder 2007 December 2007 Update and below: // Borland C++ Builder 2007 December 2007 Update and below:
#if (__BORLANDC__ <= 0x593) #if (__BORLANDC__ <= 0x593)
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_USING_TEMPLATE
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
// we shouldn't really need this - but too many things choke // we shouldn't really need this - but too many things choke
// without it, this needs more investigation: // without it, this needs more investigation:
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# define BOOST_NO_IS_ABSTRACT # define BOOST_NO_IS_ABSTRACT
# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS # define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
// Temporary workaround // Temporary workaround
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
#endif
// Borland C++ Builder 2008 and below:
#if (__BORLANDC__ <= 0x601)
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# define BOOST_ILLEGAL_CV_REFERENCES
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
# define BOOST_NO_USING_TEMPLATE
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
#endif
//
// Positive Feature detection
//
// Borland C++ Builder 2008 and below:
#if (__BORLANDC__ >= 0x599)
# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
#endif
#if defined( BOOST_CODEGEAR_0X_SUPPORT )
# #if __BORLANDC__ >= 0x610
# define BOOST_HAS_ALIGNOF
# define BOOST_HAS_CHAR16_T
# define BOOST_HAS_CHAR32_T
# define BOOST_HAS_DECLTYPE
//# define BOOST_HAS_DEFAULTED_FN
//# define BOOST_HAS_DELETED_FN
# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
//# define BOOST_HAS_NULLPTR
//# define BOOST_HAS_RAW_STRING
# define BOOST_HAS_REF_QUALIFIER
# define BOOST_HAS_RVALUE_REFS
//# define BOOST_HAS_SCOPED_ENUM
# define BOOST_HAS_STATIC_ASSERT
//# define BOOST_HAS_VARIADIC_TMPL
# #endif //__BORLANDC__ >= 0x610
#endif #endif
#if __BORLANDC__ >= 0x590 #if __BORLANDC__ >= 0x590
@ -207,3 +240,4 @@
#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) #define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)

View File

@ -0,0 +1,134 @@
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Aleksey Gurtovoy 2002.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org for most recent version.
// CodeGear C++ compiler setup:
#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
// these warnings occur frequently in optimized template code
# pragma warn -8004 // var assigned value, but never used
# pragma warn -8008 // condition always true/false
# pragma warn -8066 // dead code can never execute
# pragma warn -8104 // static members with ctors not threadsafe
# pragma warn -8105 // reference member in class without ctors
#endif
//
// versions check:
// last known and checked version is 0x610
#if (__CODEGEARC__ > 0x610)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# pragma message( "Unknown compiler version - please run the configure tests and report the results")
# endif
#endif
// CodeGear C++ Builder 2009
#if (__CODEGEARC__ <= 0x610)
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
# define BOOST_NO_USING_TEMPLATE
// we shouldn't really need this - but too many things choke
// without it, this needs more investigation:
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
// Still need tests writing
// # define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
// # define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
# ifdef NDEBUG
// fix broken <cstring> so that Boost.test works:
# include <cstring>
# undef strcmp
# endif
// fix broken errno declaration:
# include <errno.h>
# ifndef errno
# define errno errno
# endif
#endif
# define BOOST_HAS_CHAR16_T
# define BOOST_HAS_CHAR32_T
# define BOOST_HAS_LONG_LONG
//# define BOOST_HAS_ALIGNOF
# define BOOST_HAS_DECLTYPE
# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
//# define BOOST_HAS_RVALUE_REFS
# define BOOST_HAS_SCOPED_ENUM
//# define BOOST_HAS_STATIC_ASSERT
# define BOOST_HAS_STD_TYPE_TRAITS
# define BOOST_HAS_TR1_HASH
# define BOOST_HAS_TR1_TYPE_TRAITS
# define BOOST_HAS_TR1_UNORDERED_MAP
# define BOOST_HAS_TR1_UNORDERED_SET
# define BOOST_HAS_MACRO_USE_FACET
// On non-Win32 platforms let the platform config figure this out:
# ifdef _WIN32
# define BOOST_HAS_STDINT_H
# endif
//
// __int64:
//
#if !defined(__STRICT_ANSI__)
# define BOOST_HAS_MS_INT64
#endif
//
// check for exception handling support:
//
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
#endif
//
// all versions have a <dirent.h>:
//
#if !defined(__STRICT_ANSI__)
# define BOOST_HAS_DIRENT_H
#endif
//
// all versions support __declspec:
//
#if !defined(__STRICT_ANSI__)
# define BOOST_HAS_DECLSPEC
#endif
//
// ABI fixing headers:
//
#ifndef BOOST_ABI_PREFIX
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
#endif
#ifndef BOOST_ABI_SUFFIX
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
#endif
//
// Disable Win32 support in ANSI mode:
//
# pragma defineonoption BOOST_DISABLE_WIN32 -A
//
// MSVC compatibility mode does some nasty things:
// TODO: look up if this doesn't apply to the whole 12xx range
//
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_VOID_RETURNS
#endif
#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)

View File

@ -91,6 +91,15 @@
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) #if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
#define BOOST_HAS_NRVO #define BOOST_HAS_NRVO
#endif #endif
//
// RTTI and typeinfo detection is possible post gcc-4.3:
//
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
# ifndef __GXX_RTTI
# define BOOST_NO_TYPEID
# define BOOST_NO_RTTI
# endif
#endif
// //
// C++0x features // C++0x features

View File

@ -16,7 +16,7 @@
// if no threading API is detected. // if no threading API is detected.
// //
#if (__PGIC__ == 7) && (__PGIC_MINOR__ == 1) #if (__PGIC__ >= 7)
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_TWO_PHASE_NAME_LOOKUP

View File

@ -123,6 +123,9 @@
#ifndef _MSC_EXTENSIONS #ifndef _MSC_EXTENSIONS
# define BOOST_DISABLE_WIN32 # define BOOST_DISABLE_WIN32
#endif #endif
#ifndef _CPPRTTI
# define BOOST_NO_RTTI
#endif
// //
// all versions support __declspec: // all versions support __declspec:

View File

@ -0,0 +1,28 @@
// (C) Copyright John Maddock 2008.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// The aim of this header is just to include <cmath> but to do
// so in a way that does not result in recursive inclusion of
// the Boost TR1 components if boost/tr1/tr1/cmath is in the
// include search path. We have to do this to avoid circular
// dependencies:
//
#ifndef BOOST_CONFIG_CMATH
# define BOOST_CONFIG_CMATH
# ifndef BOOST_TR1_NO_RECURSION
# define BOOST_TR1_NO_RECURSION
# define BOOST_CONFIG_NO_CMATH_RECURSION
# endif
# include <cmath>
# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
# undef BOOST_TR1_NO_RECURSION
# undef BOOST_CONFIG_NO_CMATH_RECURSION
# endif
#endif

View File

@ -43,7 +43,19 @@
// //
// No wide character support in the BSD header files: // No wide character support in the BSD header files:
// //
#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5)) #if defined(__NetBSD__)
#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
+ __GNUC_MINOR__ * 1000 \
+ __GNUC_PATCHLEVEL__)
// XXX - the following is required until c++config.h
// defines _GLIBCXX_HAVE_SWPRINTF and friends
// or the preprocessor conditionals are removed
// from the cwchar header.
#define _GLIBCXX_HAVE_SWPRINTF 1
#endif
#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
|| (__NetBSD_GCC__ >= 2095003))
# define BOOST_NO_CWCHAR # define BOOST_NO_CWCHAR
#endif #endif
// //

View File

@ -72,6 +72,10 @@
// Greenhills C++ // Greenhills C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
#elif defined __CODEGEARC__
// CodeGear - must be checked for before Borland
# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
#elif defined __BORLANDC__ #elif defined __BORLANDC__
// Borland // Borland
# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" # define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"

View File

@ -157,6 +157,13 @@
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#endif #endif
//
// Without typeid support we have no dynamic RTTI either:
//
#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)
# define BOOST_NO_RTTI
#endif
// //
// If we have a standard allocator, then we have a partial one as well: // If we have a standard allocator, then we have a partial one as well:
// //
@ -267,11 +274,11 @@
// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. // Define BOOST_NO_SLIST and BOOST_NO_HASH if required.
// Note that this is for backwards compatibility only. // Note that this is for backwards compatibility only.
// //
# ifndef BOOST_HAS_SLIST # if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)
# define BOOST_NO_SLIST # define BOOST_NO_SLIST
# endif # endif
# ifndef BOOST_HAS_HASH # if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)
# define BOOST_NO_HASH # define BOOST_NO_HASH
# endif # endif

View File

@ -1,7 +1,7 @@
# #
# Regression test Jamfile for boost configuration setup. # Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND *** # *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Sat Jul 12 12:39:35 2008 # This file was automatically generated on Mon Aug 25 10:51:52 2008
# by libs/config/tools/generate.cpp # by libs/config/tools/generate.cpp
# Copyright John Maddock. # Copyright John Maddock.
# Use, modification and distribution are subject to the # Use, modification and distribution are subject to the
@ -292,6 +292,9 @@ test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" : test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run ../no_ret_det_pass.cpp ] [ run ../no_ret_det_pass.cpp ]
[ compile-fail ../no_ret_det_fail.cpp ] ; [ compile-fail ../no_ret_det_fail.cpp ] ;
test-suite "BOOST_NO_RTTI" :
[ run ../no_rtti_pass.cpp ]
[ compile-fail ../no_rtti_fail.cpp ] ;
test-suite "BOOST_NO_SFINAE" : test-suite "BOOST_NO_SFINAE" :
[ run ../no_sfinae_pass.cpp ] [ run ../no_sfinae_pass.cpp ]
[ compile-fail ../no_sfinae_fail.cpp ] ; [ compile-fail ../no_sfinae_fail.cpp ] ;

57
test/boost_no_rtti.ipp Normal file
View File

@ -0,0 +1,57 @@
// (C) Copyright John Maddock 2008.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_RTTI
// TITLE: RTTI unavailable
// DESCRIPTION: The compiler does not support RTTI in this mode
#include <typeinfo>
class A
{
public:
A(){}
virtual void t();
};
void A::t()
{
}
class B : public A
{
public:
B(){}
virtual void t();
};
void B::t()
{
}
namespace boost_no_rtti
{
int check(const A& a)
{
return typeid(a) == typeid(B) ? 0 : 1;
}
int test()
{
try{
B b;
return check(b);
}
catch(...)
{
return 1;
}
}
}

View File

@ -987,6 +987,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
PRINT_MACRO(BOOST_NO_RTTI);
PRINT_MACRO(BOOST_NO_SFINAE); PRINT_MACRO(BOOST_NO_SFINAE);
PRINT_MACRO(BOOST_NO_STDC_NAMESPACE); PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
PRINT_MACRO(BOOST_NO_STD_ALLOCATOR); PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
@ -1033,6 +1034,7 @@ void print_boost_macros()
// END GENERATED BLOCK // END GENERATED BLOCK

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Sat Jul 12 12:39:34 2008 // This file was automatically generated on Mon Aug 25 10:51:52 2008
// by libs/config/tools/generate.cpp // by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4. // Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the // Use, modification and distribution are subject to the
@ -217,6 +217,11 @@ namespace boost_no_pointer_to_member_const = empty_boost;
#else #else
namespace boost_no_unreachable_return_detection = empty_boost; namespace boost_no_unreachable_return_detection = empty_boost;
#endif #endif
#ifndef BOOST_NO_RTTI
#include "boost_no_rtti.ipp"
#else
namespace boost_no_rtti = empty_boost;
#endif
#ifndef BOOST_NO_SFINAE #ifndef BOOST_NO_SFINAE
#include "boost_no_sfinae.ipp" #include "boost_no_sfinae.ipp"
#else #else
@ -1051,6 +1056,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count; ++error_count;
} }
if(0 != boost_no_rtti::test())
{
std::cerr << "Failed test for BOOST_NO_RTTI at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_sfinae::test()) if(0 != boost_no_sfinae::test())
{ {
std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl; std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@ -72,40 +72,41 @@ autolink-lib link_test : ../link_test.cpp
explicit link_test ; explicit link_test ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_static_single_debug ; : : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_static_single_release ; : : : <toolset>msvc-8.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>static <threading>multi debug : link_test_static_multi_debug ; : : : <link>static <runtime-link>static <threading>multi debug : link_test_smd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>static <threading>multi release : link_test_static_multi_release ; : : : <link>static <runtime-link>static <threading>multi release : link_test_smr ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>shared <threading>multi debug : link_test_dyn_multi_debug ; : : : <link>static <runtime-link>shared <threading>multi debug : link_test_dmd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>shared <threading>multi release : link_test_dyn_multi_release ; : : : <link>static <runtime-link>shared <threading>multi release : link_test_dmr ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>shared <threading>single debug : link_test_dyn_single_debug ; : : : <link>static <runtime-link>shared <threading>single debug : link_test_dsd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <link>static <runtime-link>shared <threading>single release : link_test_dyn_single_release ; : : : <link>static <runtime-link>shared <threading>single release : link_test_dsr ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi debug : link_test_dll_dyn_multi_debug ; : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi debug : link_test_dll_dmd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi release : link_test_dll_dyn_multi_release ; : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi release : link_test_dll_dmr ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single debug : link_test_dll_dyn_single_debug ; : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single debug : link_test_dll_dsd ;
run ../main.cpp link_test run ../main.cpp link_test
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single release : link_test_dll_dyn_single_release ; : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single release : link_test_dll_dsr ;

37
test/no_rtti_fail.cpp Normal file
View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Aug 25 10:51:51 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
//
// Test file for macro BOOST_NO_RTTI
// This file should not compile, if it does then
// BOOST_NO_RTTI should not be defined.
// See file boost_no_rtti.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_RTTI
#include "boost_no_rtti.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_rtti::test();
}

37
test/no_rtti_pass.cpp Normal file
View File

@ -0,0 +1,37 @@
// This file was automatically generated on Mon Aug 25 10:51:51 2008
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
//
// Test file for macro BOOST_NO_RTTI
// This file should compile, if it does not then
// BOOST_NO_RTTI should be defined.
// See file boost_no_rtti.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_RTTI
#include "boost_no_rtti.ipp"
#else
namespace boost_no_rtti = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_rtti::test();
}