]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/python/include/boost/python/detail/config.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / python / include / boost / python / detail / config.hpp
CommitLineData
7c673cae
FG
1// (C) Copyright David Abrahams 2000.
2// Distributed under the Boost Software License, Version 1.0. (See
3// accompanying file LICENSE_1_0.txt or copy at
4// http://www.boost.org/LICENSE_1_0.txt)
5//
6// The author gratefully acknowleges the support of Dragon Systems, Inc., in
7// producing this work.
8
9// Revision History:
10// 04 Mar 01 Some fixes so it will compile with Intel C++ (Dave Abrahams)
11
12#ifndef CONFIG_DWA052200_H_
13# define CONFIG_DWA052200_H_
14
15# include <boost/config.hpp>
16# include <boost/detail/workaround.hpp>
17
18# ifdef BOOST_NO_OPERATORS_IN_NAMESPACE
19 // A gcc bug forces some symbols into the global namespace
20# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE
21# define BOOST_PYTHON_END_CONVERSION_NAMESPACE
22# define BOOST_PYTHON_CONVERSION
23# define BOOST_PYTHON_IMPORT_CONVERSION(x) using ::x
24# else
25# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE namespace boost { namespace python {
26# define BOOST_PYTHON_END_CONVERSION_NAMESPACE }} // namespace boost::python
27# define BOOST_PYTHON_CONVERSION boost::python
28# define BOOST_PYTHON_IMPORT_CONVERSION(x) void never_defined() // so we can follow the macro with a ';'
29# endif
30
31# if defined(BOOST_MSVC)
32
33# pragma warning (disable : 4786) // disable truncated debug symbols
34# pragma warning (disable : 4251) // disable exported dll function
35# pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false'
36# pragma warning (disable : 4275) // non dll-interface class
37
38# elif defined(__ICL) && __ICL < 600 // Intel C++ 5
39
40# pragma warning(disable: 985) // identifier was truncated in debug information
41
42# endif
43
44// The STLport puts all of the standard 'C' library names in std (as far as the
45// user is concerned), but without it you need a fix if you're using MSVC or
46// Intel C++
47# if defined(BOOST_NO_STDC_NAMESPACE)
48# define BOOST_CSTD_
49# else
50# define BOOST_CSTD_ std
51# endif
52
53/*****************************************************************************
54 *
55 * Set up dll import/export options:
56 *
57 ****************************************************************************/
58
59// backwards compatibility:
60#ifdef BOOST_PYTHON_STATIC_LIB
61# define BOOST_PYTHON_STATIC_LINK
62# elif !defined(BOOST_PYTHON_DYNAMIC_LIB)
63# define BOOST_PYTHON_DYNAMIC_LIB
64#endif
65
66#if defined(BOOST_PYTHON_DYNAMIC_LIB)
67
68# if !defined(_WIN32) && !defined(__CYGWIN__) \
69 && !defined(BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY) \
70 && BOOST_WORKAROUND(__GNUC__, >= 3) && (__GNUC_MINOR__ >=5 || __GNUC__ > 3)
71# define BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY 1
72# endif
73
74# if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
75# if defined(BOOST_PYTHON_SOURCE)
76# define BOOST_PYTHON_DECL __attribute__ ((__visibility__("default")))
77# define BOOST_PYTHON_BUILD_DLL
78# else
79# define BOOST_PYTHON_DECL
80# endif
81# define BOOST_PYTHON_DECL_FORWARD
82# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((__visibility__("default")))
83# elif (defined(_WIN32) || defined(__CYGWIN__))
84# if defined(BOOST_PYTHON_SOURCE)
85# define BOOST_PYTHON_DECL __declspec(dllexport)
86# define BOOST_PYTHON_BUILD_DLL
87# else
88# define BOOST_PYTHON_DECL __declspec(dllimport)
89# endif
90# endif
91
92#endif
93
94#ifndef BOOST_PYTHON_DECL
95# define BOOST_PYTHON_DECL
96#endif
97
98#ifndef BOOST_PYTHON_DECL_FORWARD
99# define BOOST_PYTHON_DECL_FORWARD BOOST_PYTHON_DECL
100#endif
101
102#ifndef BOOST_PYTHON_DECL_EXCEPTION
103# define BOOST_PYTHON_DECL_EXCEPTION BOOST_PYTHON_DECL
104#endif
105
106#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
107// Replace broken Tru64/cxx offsetof macro
108# define BOOST_PYTHON_OFFSETOF(s_name, s_member) \
109 ((size_t)__INTADDR__(&(((s_name *)0)->s_member)))
110#else
111# define BOOST_PYTHON_OFFSETOF offsetof
112#endif
113
114// enable automatic library variant selection ------------------------------//
115
116#if !defined(BOOST_PYTHON_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_PYTHON_NO_LIB)
117//
118// Set the name of our library, this will get undef'ed by auto_link.hpp
119// once it's done with it:
120//
121#define BOOST_LIB_NAME boost_python
122//
123// If we're importing code from a dll, then tell auto_link.hpp about it:
124//
125#ifdef BOOST_PYTHON_DYNAMIC_LIB
126# define BOOST_DYN_LINK
127#endif
128//
129// And include the header that does the work:
130//
131#include <boost/config/auto_link.hpp>
132#endif // auto-linking disabled
133
134#ifndef BOOST_PYTHON_NO_PY_SIGNATURES
135#define BOOST_PYTHON_SUPPORTS_PY_SIGNATURES // enables smooth transition
136#endif
137
138#if !defined(BOOST_ATTRIBUTE_UNUSED) && defined(__GNUC__) && (__GNUC__ >= 4)
139# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
140#endif
141
142#endif // CONFIG_DWA052200_H_