]>
Commit | Line | Data |
---|---|---|
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_ |