2 /* Define to omit deprecated API from the library. */
3 #undef SIGCXX_DISABLE_DEPRECATED
5 /* Major version number of sigc++. */
6 #undef SIGCXX_MAJOR_VERSION
8 /* Micro version number of sigc++. */
9 #undef SIGCXX_MICRO_VERSION
11 /* Minor version number of sigc++. */
12 #undef SIGCXX_MINOR_VERSION
14 /* Detect Win32 platform */
16 # if defined(_MSC_VER)
20 # elif defined(__CYGWIN__)
21 # define SIGC_CONFIGURE 1
22 # elif defined(__MINGW32__)
24 # define SIGC_CONFIGURE 1
26 # error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
29 # define SIGC_CONFIGURE 1
34 * MS VC7 Warning 4251 says that the classes to any member objects in an
35 * exported class must be also be exported. Some of the libsigc++
36 * template classes contain std::list members. MS KB article 168958 says
37 * that it's not possible to export a std::list instantiation due to some
38 * wacky class nesting issues, so our only options are to ignore the
39 * warning or to modify libsigc++ to remove the std::list dependency.
40 * AFAICT, the std::list members are used internally by the library code
41 * and don't need to be used from the outside, and ignoring the warning
42 * seems to have no adverse effects, so that seems like a good enough
45 # pragma warning(disable:4251)
47 # define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
48 # define SIGC_NEW_DELETE_IN_LIBRARY_ONLY 1 /* To keep ABI compatibility */
49 # define SIGC_HAVE_NAMESPACE_STD 1
53 /* does the C++ compiler support the use of a particular specialization when
54 calling operator() template methods. */
55 # undef SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
57 /* Defined when the libstdc++ declares the std-namespace */
58 # undef SIGC_HAVE_NAMESPACE_STD
60 /* Define if the non-standard Sun reverse_iterator must be used. */
61 # undef SIGC_HAVE_SUN_REVERSE_ITERATOR
63 /* does the C++ compiler support the use of a particular specialization when
64 calling operator() template methods omitting the template keyword. */
65 # undef SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
67 /* does c++ compiler allows usage of member function in initialization of
68 static member field. */
69 # undef SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION
71 #endif /* !SIGC_MSC */
73 #ifdef SIGC_HAVE_NAMESPACE_STD
74 # define SIGC_USING_STD(Symbol) /* empty */
76 # define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
80 # if defined(SIGC_BUILD) && defined(_WINDLL)
81 # define SIGC_API __declspec(dllexport)
82 # elif !defined(SIGC_BUILD)
83 # define SIGC_API __declspec(dllimport)
89 #endif /* !SIGC_DLL */