1 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | |
---|
3 | <!-- Copyright David Abrahams 2006. Distributed under the Boost --> |
---|
4 | <!-- Software License, Version 1.0. (See accompanying --> |
---|
5 | <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> |
---|
6 | <html> |
---|
7 | <head> |
---|
8 | <meta name="generator" content= |
---|
9 | "HTML Tidy for Windows (vers 1st August 2002), see www.w3.org"> |
---|
10 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
---|
11 | <link rel="stylesheet" type="text/css" href="../boost.css"> |
---|
12 | |
---|
13 | <title>Boost.Python - Configuration</title> |
---|
14 | </head> |
---|
15 | |
---|
16 | <body link="#0000ff" vlink="#800080"> |
---|
17 | <table border="0" cellpadding="7" cellspacing="0" width="100%" summary= |
---|
18 | "header"> |
---|
19 | <tr> |
---|
20 | <td valign="top" width="300"> |
---|
21 | <h3><a href="../../../../index.htm"><img height="86" width="277" |
---|
22 | alt="C++ Boost" src="../../../../boost.png" border="0"></a></h3> |
---|
23 | </td> |
---|
24 | |
---|
25 | <td valign="top"> |
---|
26 | <h1 align="center"><a href="../index.html">Boost.Python</a></h1> |
---|
27 | |
---|
28 | <h2 align="center">Configuration</h2> |
---|
29 | </td> |
---|
30 | </tr> |
---|
31 | </table> |
---|
32 | <hr> |
---|
33 | |
---|
34 | <dl class="page-index"> |
---|
35 | <dt><a href="#introduction">Introduction</a></dt> |
---|
36 | |
---|
37 | <dt><a href="#app-defined">Application Defined Macros</a></dt> |
---|
38 | |
---|
39 | <dt><a href="#lib-defined-impl">Library Defined Implementation |
---|
40 | Macros</a></dt> |
---|
41 | </dl> |
---|
42 | |
---|
43 | <h2><a name="introduction"></a>Introduction</h2> |
---|
44 | |
---|
45 | <p><b>Boost.Python</b> uses several configuration macros in <a href= |
---|
46 | "http://www.boost.org/libs/config/config.htm"><boost/config.hpp></a>, |
---|
47 | as well as configuration macros meant to be supplied by the application. |
---|
48 | These macros are documented here.</p> |
---|
49 | |
---|
50 | <h2><a name="app-defined"></a>Application Defined Macros</h2> |
---|
51 | |
---|
52 | <p>These are the macros that may be defined by an application using |
---|
53 | <b>Boost.Python</b>. Note that if you extend a strict interpretation of |
---|
54 | the C++ standard to cover dynamic libraries, using different values of |
---|
55 | these macros when compiling different libraries (including extension |
---|
56 | modules and the <b>Boost.Python</b> library itself) is a violation of the |
---|
57 | <a href="definitions.html#ODR">ODR</a>. However, we know of no C++ |
---|
58 | implementations on which this particular violation is detectable or |
---|
59 | causes any problems.</p> |
---|
60 | |
---|
61 | <table summary="application defined macros" width="100%" cellpadding= |
---|
62 | "10"> |
---|
63 | <tr> |
---|
64 | <th align="left"><b>Macro</b></th> |
---|
65 | |
---|
66 | <th><b>Default</b></th> |
---|
67 | |
---|
68 | <th align="left"><b>Meaning</b></th> |
---|
69 | </tr> |
---|
70 | |
---|
71 | <tr> |
---|
72 | <td valign="top"><code>BOOST_PYTHON_MAX_ARITY</code></td> |
---|
73 | |
---|
74 | <td valign="top" align="center">15</td> |
---|
75 | |
---|
76 | <td valign="top">The maximum <a href= |
---|
77 | "definitions.html#arity">arity</a> of any function, member function, |
---|
78 | or constructor to be wrapped, invocation of a <b>Boost.Python</b> |
---|
79 | function wich is specified as taking arguments |
---|
80 | <code>x1, x2,</code>...<code>X</code><i>n</i>. This includes, in |
---|
81 | particular, callback mechanisms such as <code><a href= |
---|
82 | "object.html#object-spec">object</a>::operator()(</code>...<code>)</code> |
---|
83 | or <code><a href= |
---|
84 | "call_method.html#call_method-spec">call_method</a><R>(</code>... |
---|
85 | <code>)</code>.</td> |
---|
86 | </tr> |
---|
87 | |
---|
88 | <tr> |
---|
89 | <td valign="top"><code>BOOST_PYTHON_MAX_BASES</code></td> |
---|
90 | |
---|
91 | <td valign="top" align="center">10</td> |
---|
92 | |
---|
93 | <td valign="top">The maximum number of template arguments to the |
---|
94 | <code><a href= |
---|
95 | "class.html#bases-spec">bases</a><</code>...<code>></code> |
---|
96 | class template, which is used to specify the bases of a wrapped C++ |
---|
97 | class..</td> |
---|
98 | </tr> |
---|
99 | |
---|
100 | <tr> |
---|
101 | <td valign="top"><code>BOOST_PYTHON_STATIC_MODULE</code></td> |
---|
102 | |
---|
103 | <td valign="top" align="center"><i>not defined</i></td> |
---|
104 | |
---|
105 | <td valign="top">If defined, prevents your module initialization |
---|
106 | function from being treated as an exported symbol on platforms which |
---|
107 | support that distinction in-code</td> |
---|
108 | </tr> |
---|
109 | </table> |
---|
110 | |
---|
111 | <h2><a name="lib-defined-impl"></a>Library Defined Implementation |
---|
112 | Macros</h2> |
---|
113 | |
---|
114 | <p>These macros are defined by <b>Boost.Python</b> and are implementation |
---|
115 | details of interest only to implementors and those porting to new |
---|
116 | platforms.</p> |
---|
117 | |
---|
118 | <table summary="library defined implementation macros" width="100%" |
---|
119 | cellpadding="10"> |
---|
120 | <tr> |
---|
121 | <th align="left"><b>Macro</b></th> |
---|
122 | |
---|
123 | <th><b>Default</b></th> |
---|
124 | |
---|
125 | <th align="left"><b>Meaning</b></th> |
---|
126 | </tr> |
---|
127 | |
---|
128 | <tr> |
---|
129 | <td valign="top"><code>BOOST_PYTHON_TYPE_ID_NAME</code></td> |
---|
130 | |
---|
131 | <td valign="top" align="center"><i>not defined</i></td> |
---|
132 | |
---|
133 | <td valign="top">If defined, this indicates that the type_info |
---|
134 | comparison across shared library boundaries does not work on this |
---|
135 | platform. In other words, if shared-lib-1 passes |
---|
136 | <code>typeid(T)</code> to a function in shared-lib-2 which compares |
---|
137 | it to <code>typeid(T)</code>, that comparison may return |
---|
138 | <code>false</code>. If this macro is #defined, Boost.Python uses and |
---|
139 | compares <code>typeid(T).name()</code> instead of using and comparing |
---|
140 | the <code>std::type_info</code> objects directly.</td> |
---|
141 | </tr> |
---|
142 | </table> |
---|
143 | <hr> |
---|
144 | |
---|
145 | <p>Revised |
---|
146 | <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan --> |
---|
147 | 7 January, 2003 |
---|
148 | <!--webbot bot="Timestamp" endspan i-checksum="39359" --> |
---|
149 | </p> |
---|
150 | |
---|
151 | <p><i>© Copyright <a href= |
---|
152 | "../../../../people/dave_abrahams.htm">Dave Abrahams</a> 2002.</i></p> |
---|
153 | </body> |
---|
154 | </html> |
---|
155 | |
---|