source: NonGTP/Boost/boost/python/detail/config.hpp @ 857

Revision 857, 3.9 KB checked in by igarcia, 18 years ago (diff)
Line 
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#  if _MSC_VER < 1300
33#   define BOOST_MSVC6_OR_EARLIER 1
34#  endif
35
36#  pragma warning (disable : 4786) // disable truncated debug symbols
37#  pragma warning (disable : 4251) // disable exported dll function
38#  pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false'
39#  pragma warning (disable : 4275) // non dll-interface class
40
41# elif defined(__ICL) && __ICL < 600 // Intel C++ 5
42
43#  pragma warning(disable: 985) // identifier was truncated in debug information
44
45# endif
46
47// The STLport puts all of the standard 'C' library names in std (as far as the
48// user is concerned), but without it you need a fix if you're using MSVC or
49// Intel C++
50# if defined(BOOST_NO_STDC_NAMESPACE)
51#  define BOOST_CSTD_
52# else
53#  define BOOST_CSTD_ std
54# endif
55
56/*****************************************************************************
57 *
58 *  Set up dll import/export options:
59 *
60 ****************************************************************************/
61
62// backwards compatibility:
63#ifdef BOOST_PYTHON_STATIC_LIB
64#  define BOOST_PYTHON_STATIC_LINK
65# elif !defined(BOOST_PYTHON_DYNAMIC_LIB)
66#  define BOOST_PYTHON_DYNAMIC_LIB
67#endif
68
69#if defined(BOOST_PYTHON_DYNAMIC_LIB)
70
71#  if !defined(_WIN32) && !defined(__CYGWIN__)                                  \
72    && !defined(BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY)                         \
73    && BOOST_WORKAROUND(__GNUC__, >= 3) && (__GNUC_MINOR__ >=5 || __GNUC__ > 3)
74#    define BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY 1
75#  endif
76
77#  if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
78#     if defined(BOOST_PYTHON_SOURCE)
79#        define BOOST_PYTHON_DECL __attribute__ ((visibility("default")))
80#        define BOOST_PYTHON_BUILD_DLL
81#     else
82#        define BOOST_PYTHON_DECL
83#     endif
84#     define BOOST_PYTHON_DECL_FORWARD
85#     define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((visibility("default")))
86#  elif (defined(_WIN32) || defined(__CYGWIN__))
87#     if defined(BOOST_PYTHON_SOURCE)
88#        define BOOST_PYTHON_DECL __declspec(dllexport)
89#        define BOOST_PYTHON_BUILD_DLL
90#     else
91#        define BOOST_PYTHON_DECL __declspec(dllimport)
92#     endif
93#  endif
94
95#endif
96
97#ifndef BOOST_PYTHON_DECL
98#  define BOOST_PYTHON_DECL
99#endif
100
101#ifndef BOOST_PYTHON_DECL_FORWARD
102#  define BOOST_PYTHON_DECL_FORWARD BOOST_PYTHON_DECL
103#endif
104
105#ifndef BOOST_PYTHON_DECL_EXCEPTION
106#  define BOOST_PYTHON_DECL_EXCEPTION BOOST_PYTHON_DECL
107#endif
108
109#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
110// Replace broken Tru64/cxx offsetof macro
111# define BOOST_PYTHON_OFFSETOF(s_name, s_member) \
112        ((size_t)__INTADDR__(&(((s_name *)0)->s_member)))
113#else
114# define BOOST_PYTHON_OFFSETOF offsetof
115#endif
116
117#endif // CONFIG_DWA052200_H_
Note: See TracBrowser for help on using the repository browser.