00001
00002
00003 #ifndef _SIGCXX_CONFIG_H
00004 #define _SIGCXX_CONFIG_H
00005
00006
00007 #if defined(_WIN32)
00008
00009 #if defined(_MSC_VER)
00010 #define SIGC_MSC
00011 #define SIGC_WIN32
00012 #define SIGC_DLL
00013 #elif defined(__CYGWIN__)
00014 #define SIGC_CONFIGURE
00015 #elif defined(__MINGW32__)
00016 #define SIGC_WIN32
00017 #define SIGC_CONFIGURE
00018 #else
00019
00020
00021 #endif
00022 #else
00023 #define SIGC_CONFIGURE
00024 #endif
00025
00026 #ifdef SIGC_CONFIGURE
00027
00028 #define SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
00029 #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
00030 #define SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION 1
00031
00032 #define SIGC_HAVE_NAMESPACE_STD 1
00033
00034
00035
00036
00037
00038
00039 #endif
00040
00041 #ifdef SIGC_MSC
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 #pragma warning(disable:4251)
00055
00056 #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
00057 #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY // To keep ABI compatibility
00058 #define SIGC_HAVE_NAMESPACE_STD 1
00059
00060 #endif
00061
00062
00063 #ifndef SIGC_HAVE_NAMESPACE_STD
00064 # define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
00065 #else
00066 # define SIGC_USING_STD(Symbol)
00067 #endif
00068
00069 #ifdef SIGC_DLL
00070 #if defined(SIGC_BUILD) && defined(_WINDLL)
00071 #define SIGC_API __declspec(dllexport)
00072 #elif !defined(SIGC_BUILD)
00073 #define SIGC_API __declspec(dllimport)
00074 #else
00075 #define SIGC_API
00076 #endif
00077 #else
00078 #define SIGC_API
00079 #endif
00080
00081 #endif