|
| 1 | + |
| 2 | +/* Define to omit deprecated API from the library. */ |
| 3 | +#undef SIGCXX_DISABLE_DEPRECATED |
| 4 | + |
| 5 | +/* Major version number of sigc++. */ |
| 6 | +#undef SIGCXX_MAJOR_VERSION |
| 7 | + |
| 8 | +/* Micro version number of sigc++. */ |
| 9 | +#undef SIGCXX_MICRO_VERSION |
| 10 | + |
| 11 | +/* Minor version number of sigc++. */ |
| 12 | +#undef SIGCXX_MINOR_VERSION |
| 13 | + |
| 14 | +/* Detect Win32 platform */ |
| 15 | +#ifdef _WIN32 |
| 16 | +# if defined(_MSC_VER) |
| 17 | +# define SIGC_MSC 1 |
| 18 | +# define SIGC_WIN32 1 |
| 19 | +# define SIGC_DLL 1 |
| 20 | +# elif defined(__CYGWIN__) |
| 21 | +# define SIGC_CONFIGURE 1 |
| 22 | +# elif defined(__MINGW32__) |
| 23 | +# define SIGC_WIN32 1 |
| 24 | +# define SIGC_CONFIGURE 1 |
| 25 | +# else |
| 26 | +# error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)" |
| 27 | +# endif |
| 28 | +#else /* !_WIN32 */ |
| 29 | +# define SIGC_CONFIGURE 1 |
| 30 | +#endif /* !_WIN32 */ |
| 31 | + |
| 32 | +#ifdef SIGC_MSC |
| 33 | +/* |
| 34 | + * MS VC7 Warning 4251 says that the classes to any member objects in an |
| 35 | + * exported class must 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 |
| 43 | + * solution for now. |
| 44 | + */ |
| 45 | +# pragma warning(disable:4251) |
| 46 | + |
| 47 | +#if (_MSC_VER < 1900) && !defined (noexcept) |
| 48 | +#define _ALLOW_KEYWORD_MACROS 1 |
| 49 | +#define noexcept _NOEXCEPT |
| 50 | +#endif |
| 51 | + |
| 52 | +#else /* SIGC_MSC */ |
| 53 | + |
| 54 | +#endif /* !SIGC_MSC */ |
| 55 | + |
| 56 | +#ifdef SIGC_DLL |
| 57 | +# if defined(SIGC_BUILD) && defined(_WINDLL) |
| 58 | +# define SIGC_API __declspec(dllexport) |
| 59 | +# elif !defined(SIGC_BUILD) |
| 60 | +# define SIGC_API __declspec(dllimport) |
| 61 | +# else |
| 62 | +# define SIGC_API |
| 63 | +# endif |
| 64 | +#else /* !SIGC_DLL */ |
| 65 | +# define SIGC_API |
| 66 | +#endif /* !SIGC_DLL */ |
0 commit comments