Imported Upstream version 2.3.1
[platform/upstream/libsigc++.git] / MSVC_Net2010 / sigc++config.h
1 /* sigc++config.h.  Generated from sigc++config.h.in by configure.  */
2
3 /* Major version number of sigc++. */
4 #define SIGCXX_MAJOR_VERSION 2
5
6 /* Micro version number of sigc++. */
7 #define SIGCXX_MICRO_VERSION 1
8
9 /* Minor version number of sigc++. */
10 #define SIGCXX_MINOR_VERSION 3
11
12 /* Detect Win32 platform */
13 #ifdef _WIN32
14 # if defined(_MSC_VER)
15 #  define SIGC_MSC 1
16 #  define SIGC_WIN32 1
17 #  define SIGC_DLL 1
18 # elif defined(__CYGWIN__)
19 #  define SIGC_CONFIGURE 1
20 # elif defined(__MINGW32__)
21 #  define SIGC_WIN32 1
22 #  define SIGC_CONFIGURE 1
23 # else
24 #  error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
25 # endif
26 #else /* !_WIN32 */
27 # define SIGC_CONFIGURE 1
28 #endif /* !_WIN32 */
29
30 #ifdef SIGC_MSC
31 /*
32  * MS VC7 Warning 4251 says that the classes to any member objects in an
33  * exported class must be also be exported.  Some of the libsigc++
34  * template classes contain std::list members.  MS KB article 168958 says
35  * that it's not possible to export a std::list instantiation due to some
36  * wacky class nesting issues, so our only options are to ignore the
37  * warning or to modify libsigc++ to remove the std::list dependency.
38  * AFAICT, the std::list members are used internally by the library code
39  * and don't need to be used from the outside, and ignoring the warning
40  * seems to have no adverse effects, so that seems like a good enough
41  * solution for now.
42  */
43 # pragma warning(disable:4251)
44
45 # define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
46 # define SIGC_NEW_DELETE_IN_LIBRARY_ONLY 1 /* To keep ABI compatibility */
47 # define SIGC_HAVE_NAMESPACE_STD 1
48
49 #else /* SIGC_MSC */
50
51 /* does the C++ compiler support the use of a particular specialization when
52    calling operator() template methods. */
53 # define SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
54
55 /* Defined when the libstdc++ declares the std-namespace */
56 # define SIGC_HAVE_NAMESPACE_STD 1
57
58 /* Define if the non-standard Sun reverse_iterator must be used. */
59 /* # undef SIGC_HAVE_SUN_REVERSE_ITERATOR */
60
61 /* does the C++ compiler support the use of a particular specialization when
62    calling operator() template methods omitting the template keyword. */
63 # define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
64
65 /* does c++ compiler allows usage of member function in initialization of
66    static member field. */
67 # define SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION 1
68
69 #endif /* !SIGC_MSC */
70
71 #ifdef SIGC_HAVE_NAMESPACE_STD
72 # define SIGC_USING_STD(Symbol) /* empty */
73 #else
74 # define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
75 #endif
76
77 #ifdef SIGC_DLL
78 # if defined(SIGC_BUILD) && defined(_WINDLL)
79 #  define SIGC_API __declspec(dllexport)
80 # elif !defined(SIGC_BUILD)
81 #  define SIGC_API __declspec(dllimport)
82 # else
83 #  define SIGC_API
84 # endif
85 #else /* !SIGC_DLL */
86 # define SIGC_API
87 #endif /* !SIGC_DLL */