diff options
Diffstat (limited to 'libs/python/doc/v2/configuration.html')
-rw-r--r-- | libs/python/doc/v2/configuration.html | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/libs/python/doc/v2/configuration.html b/libs/python/doc/v2/configuration.html new file mode 100644 index 0000000000..1be862ed62 --- /dev/null +++ b/libs/python/doc/v2/configuration.html @@ -0,0 +1,217 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> + +<!-- Copyright David Abrahams 2006. Distributed under 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) --> +<html> + <head> + <meta name="generator" content= + "HTML Tidy for Windows (vers 1st August 2002), see www.w3.org"> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <link rel="stylesheet" type="text/css" href="../boost.css"> + + <title>Boost.Python - Configuration</title> + </head> + + <body link="#0000ff" vlink="#800080"> + <table border="0" cellpadding="7" cellspacing="0" width="100%" summary= + "header"> + <tr> + <td valign="top" width="300"> + <h3><a href="../../../../index.htm"><img height="86" width="277" + alt="C++ Boost" src="../../../../boost.png" border="0"></a></h3> + </td> + + <td valign="top"> + <h1 align="center"><a href="../index.html">Boost.Python</a></h1> + + <h2 align="center">Configuration</h2> + </td> + </tr> + </table> + <hr> + + <dl class="page-index"> + <dt><a href="#introduction">Introduction</a></dt> + + <dt><a href="#app-defined">Application Defined Macros</a></dt> + + <dt><a href="#lib-defined-impl">Library Defined Implementation + Macros</a></dt> + </dl> + + <h2><a name="introduction"></a>Introduction</h2> + + <p><b>Boost.Python</b> uses several configuration macros in <a href= + "http://www.boost.org/libs/config/config.htm"><boost/config.hpp></a>, + as well as configuration macros meant to be supplied by the application. + These macros are documented here.</p> + + <h2><a name="app-defined"></a>Application Defined Macros</h2> + + <p>These are the macros that may be defined by an application using + <b>Boost.Python</b>. Note that if you extend a strict interpretation of + the C++ standard to cover dynamic libraries, using different values of + these macros when compiling different libraries (including extension + modules and the <b>Boost.Python</b> library itself) is a violation of the + <a href="definitions.html#ODR">ODR</a>. However, we know of no C++ + implementations on which this particular violation is detectable or + causes any problems.</p> + + <table summary="application defined macros" width="100%" cellpadding= + "10"> + <tr> + <th align="left"><b>Macro</b></th> + + <th><b>Default</b></th> + + <th align="left"><b>Meaning</b></th> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_MAX_ARITY</code></td> + + <td valign="top" align="center">15</td> + + <td valign="top">The maximum <a href= + "definitions.html#arity">arity</a> of any function, member function, + or constructor to be wrapped, invocation of a <b>Boost.Python</b> + function wich is specified as taking arguments + <code>x1, x2,</code>...<code>X</code><i>n</i>. This includes, in + particular, callback mechanisms such as <code><a href= + "object.html#object-spec">object</a>::operator()(</code>...<code>)</code> + or <code><a href= + "call_method.html#call_method-spec">call_method</a><R>(</code>... + <code>)</code>.</td> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_MAX_BASES</code></td> + + <td valign="top" align="center">10</td> + + <td valign="top">The maximum number of template arguments to the + <code><a href= + "class.html#bases-spec">bases</a><</code>...<code>></code> + class template, which is used to specify the bases of a wrapped C++ + class..</td> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_STATIC_MODULE</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined, prevents your module initialization + function from being treated as an exported symbol on platforms which + support that distinction in-code</td> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_ENABLE_CDECL</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined, allows functions using the <code>__cdecl + </code> calling convention to be wrapped.</td> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_ENABLE_STDCALL</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined, allows functions using the <code>__stdcall + </code> calling convention to be wrapped.</td> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_ENABLE_FASTCALL</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined, allows functions using the <code>__fastcall + </code> calling convention to be wrapped.</td> + </tr> + </table> + + <h2><a name="lib-defined-impl"></a>Library Defined Implementation + Macros</h2> + + <p>These macros are defined by <b>Boost.Python</b> and are implementation + details of interest only to implementors and those porting to new + platforms.</p> + + <table summary="library defined implementation macros" width="100%" + cellpadding="10"> + <tr> + <th align="left"><b>Macro</b></th> + + <th><b>Default</b></th> + + <th align="left"><b>Meaning</b></th> + </tr> + + <tr> + <td valign="top"><code>BOOST_PYTHON_TYPE_ID_NAME</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined, this indicates that the type_info + comparison across shared library boundaries does not work on this + platform. In other words, if shared-lib-1 passes + <code>typeid(T)</code> to a function in shared-lib-2 which compares + it to <code>typeid(T)</code>, that comparison may return + <code>false</code>. If this macro is #defined, Boost.Python uses and + compares <code>typeid(T).name()</code> instead of using and comparing + the <code>std::type_info</code> objects directly.</td> + </tr> + <tr> + <td valign="top"><code>BOOST_PYTHON_NO_PY_SIGNATURES</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined for a module no pythonic signatures are generated + for the docstrings of the module functions, and no python type is associated with any + of the converters registered by the module. This also reduces the binary size of the + module by about 14% (gcc compiled).<br> + If defined for the boost_python runtime library, the default for the + <code>docstring_options.enable_py_signatures()</code> is set to <code>false</code>. + </td> + + </tr> + <tr> + <td valign="top"><code>BOOST_PYTHON_SUPPORTS_PY_SIGNATURES</code></td> + + <td valign="top" align="center"><i>defined if <code>BOOST_PYTHON_NO_PY_SIGNATURES</code> is undefined</i></td> + + <td valign="top">This macro is defined to enable a smooth transition from older Boost.Python versions + which do not support pythonic signatures. For example usage see + <a href="pytype_function.html#examples">here</a>. + </td> + + </tr> + <tr> + <td valign="top"><code>BOOST_PYTHON_PY_SIGNATURES_PROPER_INIT_SELF_TYPE</code></td> + + <td valign="top" align="center"><i>not defined</i></td> + + <td valign="top">If defined the python type of <code>__init__</code> method "self" parameters + is properly generated, otherwise <code><b>object</b></code> is used. It is undefined + by default because it increases the binary size of the module by about 14% (gcc compiled).</td> + + </tr> + </table> + <hr> + + <p>Revised + <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan --> + 7 January, 2003 + <!--webbot bot="Timestamp" endspan i-checksum="39359" --> + </p> + + <p><i>© Copyright <a href= + "http://www.boost.org/people/dave_abrahams.htm">Dave Abrahams</a> 2002.</i></p> + </body> +</html> + |