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