]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/python/doc/configuration.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / python / doc / configuration.qbk
CommitLineData
7c673cae
FG
1[chapter Configuration
2 [quickbook 1.7]
3 [authors [Abrahams, David]]
4 [copyright 2002 - 2015 David Abrahams, Stefan Seefeld]
5 [id configuration]
6]
7
8
9[section Configuration]
10
11[section Introduction]
12[*Boost.Python] uses several configuration macros in `<boost/config.hpp>`, as well as configuration macros meant to be supplied by the application. These macros are documented here.
13
14[endsect]
15[section Application Defined Macros]
16
17These are the macros that may be defined by an application using Boost.Python. 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 Boost.Python library itself) is a violation of the [link odr ODR]. However, we know of no C++ implementations on which this particular violation is detectable or causes any problems.
18
19[table
20 [[Macro][Default][Meaning]]
21 [[BOOST_PYTHON_MAX_ARITY]
22 [15]
23 [The maximum arity of any function, member function,
24 or constructor to be wrapped, invocation of a
25 Boost.Python function wich is specified as taking
26 arguments x1, x2,...Xn. This includes, in particular,
27 callback mechanisms such as object::operator()(...) or call_method<R>(... ).]]
28 [[BOOST_PYTHON_MAX_BASES][10]
29 [The maximum number of template arguments to the
30 `bases<...>` class template, which is used to specify
31 the bases of a wrapped C++ class..]]
32 [[BOOST_PYTHON_STATIC_MODULE]
33 [ /not defined/ ]
34 [If defined, prevents your module initialization
35 function from being treated as an exported symbol
36 on platforms which support that distinction in-code]]
37 [[BOOST_PYTHON_ENABLE_CDECL]
38 [ /not defined/ ]
39 [If defined, allows functions using the `__cdecl`
40 calling convention to be wrapped.]]
41 [[BOOST_PYTHON_ENABLE_STDCALL]
42 [ /not defined/ ]
43 [If defined, allows functions using the `__stdcall`
44 calling convention to be wrapped.]]
45 [[BOOST_PYTHON_ENABLE_FASTCALL]
46 [ /not defined/ ]
47 [If defined, allows functions using the `__fastcall`
48 calling convention to be wrapped.]]
49]
50[endsect]
51[section Library Defined Defined Macros]
52These macros are defined by *Boost.Python* and are implementation details of interest only to implementors and those porting to new platforms.
53[table
54 [[Macro][Default][Meaning]]
55 [[BOOST_PYTHON_TYPE_ID_NAME][ /not defined/ ]
56 [If defined, this indicates that the type_info comparison across
57 shared library boundaries does not work on this platform.
58 In other words, if shared-lib-1 passes `typeid(T)` to a function
59 in shared-lib-2 which compares it to `typeid(T)`, that comparison
60 may return `false`. If this macro is #defined, Boost.Python uses
61 and compares `typeid(T).name()` instead of using and comparing
62 the `std::type_info` objects directly.]]
63 [[BOOST_PYTHON_NO_PY_SIGNATURES][ /not defined/ ]
64 [If defined for a module no pythonic signatures are generated for
65 the docstrings of the module functions, and no python type is
66 associated with any of the converters registered by the module.
67 This also reduces the binary size of the module by about 14%
68 (gcc compiled).
69 If defined for the boost_python runtime library, the default for
70 the `docstring_options.enable_py_signatures()` is set to `false`.]]
71 [[BOOST_PYTHON_SUPPORTS_PY_SIGNATURES]
72 [ /defined/ if `BOOST_PYTHON_NO_PY_SIGNATURES` is /undefined/ ]
73 [This macro is defined to enable a smooth transition from older
74 Boost.Python versions which do not support pythonic signatures.
75 For example usage see here.]]
76 [[BOOST_PYTHON_PY_SIGNATURES_PROPER_INIT_SELF_TYPE][ /not defined/ ]
77 [If defined the python type of `__init__` method "self" parameters
78 is properly generated, otherwise object is used. It is undefined by
79 default because it increases the binary size of the module by about
80 14% (gcc compiled).]]
81]
82[endsect]
83[endsect]