// (C) Copyright David Abrahams 2000. | |
// Distributed under the Boost Software License, Version 1.0. (See | |
// accompanying file LICENSE_1_0.txt or copy at | |
// http://www.boost.org/LICENSE_1_0.txt) | |
// | |
// The author gratefully acknowleges the support of Dragon Systems, Inc., in | |
// producing this work. | |
// Revision History: | |
// 04 Mar 01 Some fixes so it will compile with Intel C++ (Dave Abrahams) | |
#ifndef CONFIG_DWA052200_H_ | |
# define CONFIG_DWA052200_H_ | |
# include <boost/config.hpp> | |
# include <boost/detail/workaround.hpp> | |
# ifdef BOOST_NO_OPERATORS_IN_NAMESPACE | |
// A gcc bug forces some symbols into the global namespace | |
# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE | |
# define BOOST_PYTHON_END_CONVERSION_NAMESPACE | |
# define BOOST_PYTHON_CONVERSION | |
# define BOOST_PYTHON_IMPORT_CONVERSION(x) using ::x | |
# else | |
# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE namespace boost { namespace python { | |
# define BOOST_PYTHON_END_CONVERSION_NAMESPACE }} // namespace boost::python | |
# define BOOST_PYTHON_CONVERSION boost::python | |
# define BOOST_PYTHON_IMPORT_CONVERSION(x) void never_defined() // so we can follow the macro with a ';' | |
# endif | |
# if defined(BOOST_MSVC) | |
# if _MSC_VER < 1300 | |
# define BOOST_MSVC6_OR_EARLIER 1 | |
# endif | |
# pragma warning (disable : 4786) // disable truncated debug symbols | |
# pragma warning (disable : 4251) // disable exported dll function | |
# pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false' | |
# pragma warning (disable : 4275) // non dll-interface class | |
# elif defined(__ICL) && __ICL < 600 // Intel C++ 5 | |
# pragma warning(disable: 985) // identifier was truncated in debug information | |
# endif | |
// The STLport puts all of the standard 'C' library names in std (as far as the | |
// user is concerned), but without it you need a fix if you're using MSVC or | |
// Intel C++ | |
# if defined(BOOST_NO_STDC_NAMESPACE) | |
# define BOOST_CSTD_ | |
# else | |
# define BOOST_CSTD_ std | |
# endif | |
/***************************************************************************** | |
* | |
* Set up dll import/export options: | |
* | |
****************************************************************************/ | |
// backwards compatibility: | |
#ifdef BOOST_PYTHON_STATIC_LIB | |
# define BOOST_PYTHON_STATIC_LINK | |
# elif !defined(BOOST_PYTHON_DYNAMIC_LIB) | |
# define BOOST_PYTHON_DYNAMIC_LIB | |
#endif | |
#if defined(BOOST_PYTHON_DYNAMIC_LIB) | |
# if !defined(_WIN32) && !defined(__CYGWIN__) \ | |
&& !defined(BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY) \ | |
&& BOOST_WORKAROUND(__GNUC__, >= 3) && (__GNUC_MINOR__ >=5 || __GNUC__ > 3) | |
# define BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY 1 | |
# endif | |
# if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY | |
# if defined(BOOST_PYTHON_SOURCE) | |
# define BOOST_PYTHON_DECL __attribute__ ((visibility("default"))) | |
# define BOOST_PYTHON_BUILD_DLL | |
# else | |
# define BOOST_PYTHON_DECL | |
# endif | |
# define BOOST_PYTHON_DECL_FORWARD | |
# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((visibility("default"))) | |
# elif (defined(_WIN32) || defined(__CYGWIN__)) | |
# if defined(BOOST_PYTHON_SOURCE) | |
# define BOOST_PYTHON_DECL __declspec(dllexport) | |
# define BOOST_PYTHON_BUILD_DLL | |
# else | |
# define BOOST_PYTHON_DECL __declspec(dllimport) | |
# endif | |
# endif | |
#endif | |
#ifndef BOOST_PYTHON_DECL | |
# define BOOST_PYTHON_DECL | |
#endif | |
#ifndef BOOST_PYTHON_DECL_FORWARD | |
# define BOOST_PYTHON_DECL_FORWARD BOOST_PYTHON_DECL | |
#endif | |
#ifndef BOOST_PYTHON_DECL_EXCEPTION | |
# define BOOST_PYTHON_DECL_EXCEPTION BOOST_PYTHON_DECL | |
#endif | |
#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) | |
// Replace broken Tru64/cxx offsetof macro | |
# define BOOST_PYTHON_OFFSETOF(s_name, s_member) \ | |
((size_t)__INTADDR__(&(((s_name *)0)->s_member))) | |
#else | |
# define BOOST_PYTHON_OFFSETOF offsetof | |
#endif | |
// enable automatic library variant selection ------------------------------// | |
#if !defined(BOOST_PYTHON_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_PYTHON_NO_LIB) | |
// | |
// Set the name of our library, this will get undef'ed by auto_link.hpp | |
// once it's done with it: | |
// | |
#define BOOST_LIB_NAME boost_python | |
// | |
// If we're importing code from a dll, then tell auto_link.hpp about it: | |
// | |
#ifdef BOOST_PYTHON_DYNAMIC_LIB | |
# define BOOST_DYN_LINK | |
#endif | |
// | |
// And include the header that does the work: | |
// | |
#include <boost/config/auto_link.hpp> | |
#endif // auto-linking disabled | |
#ifndef BOOST_PYTHON_NO_PY_SIGNATURES | |
#define BOOST_PYTHON_SUPPORTS_PY_SIGNATURES // enables smooth transition | |
#endif | |
#endif // CONFIG_DWA052200_H_ |