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