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