summaryrefslogtreecommitdiff
path: root/glib/glibmmconfig.h.in
blob: a36c293bd3078fed77f445ca6ab325fc6c8e8168 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#ifndef _GLIBMM_CONFIG_H
#define _GLIBMM_CONFIG_H

#ifdef _WIN32
  /* Win32 compilers have a lot of varation */
# if defined(_MSC_VER)
#  define GLIBMM_MSC 1
#  define GLIBMM_WIN32 1
#  define GLIBMM_DLL 1
# elif defined(__CYGWIN__)
#  define GLIBMM_CONFIGURE 1
# elif defined(__MINGW32__)
#  define GLIBMM_WIN32 1
#  define GLIBMM_CONFIGURE 1
# else
   /* AIX clR compiler complains about this even though it doesn't get this far */
#  error "Unknown architecture (send me gcc --dumpspecs or equiv)"
# endif
#else
# define GLIBMM_CONFIGURE 1
#endif /* _WIN32 */

#ifdef GLIBMM_CONFIGURE

/* Define if extern "C" and extern "C++" function pointers are compatible. */
#undef GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS

/* Define if non-instantiated templates may dynamic_cast<> to an undefined
   type. */
#undef GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION

/* Define if the compiler honors namespaces inside extern "C" blocks. */
#undef GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC

/* Defined when the SUN Forte C++ compiler is being used. */
#undef GLIBMM_COMPILER_SUN_FORTE

/* Defined when the --enable-debug-refcounting configure argument was given */
#undef GLIBMM_DEBUG_REFCOUNTING

/* This is always set. This is only for backwards compatibility. */
#undef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED

/* Define to omit deprecated API from the library. */
#undef GLIBMM_DISABLE_DEPRECATED

/* This is always set. This is only for backwards compatibility. */
#undef GLIBMM_EXCEPTIONS_ENABLED

/* This is always set. This is only for backwards compatibility. */
#undef GLIBMM_VFUNCS_ENABLED

/* Defined if a static member variable may be initialized inline to
   std::string::npos */
#undef GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS

/* Defined when time_t is not equivalent to gint32, meaning that it can be
   used for a method overload */
#undef GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32

/* Define if the compiler disambiguates template specializations for const and
   non-const types. */
#undef GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS

/* Defined when the libstdc++ declares the std-namespace */
#undef GLIBMM_HAVE_NAMESPACE_STD

/* Defined if std::iterator_traits<> is standard-conforming */
#undef GLIBMM_HAVE_STD_ITERATOR_TRAITS

/* Defined if std::reverse_iterator is in Sun libCstd style */
#undef GLIBMM_HAVE_SUN_REVERSE_ITERATOR

/* Defined if the STL containers have templated sequence ctors */
#undef GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS

/* Define to 1 if wide stream is available. */
#undef GLIBMM_HAVE_WIDE_STREAM

/* Major version number of glibmm. */
#undef GLIBMM_MAJOR_VERSION

/* Define if C++ member functions may refer to member templates. */
#undef GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES

/* Micro version number of glibmm. */
#undef GLIBMM_MICRO_VERSION

/* Minor version number of glibmm. */
#undef GLIBMM_MINOR_VERSION

/* This is always set. This is only for backwards compatibility. */
#undef GLIBMM_PROPERTIES_ENABLED

/* Define if glibmm is built as a static library */
#undef GLIBMM_STATIC_LIB


#endif /* GLIBMM_CONFIGURE */

#ifdef GLIBMM_MSC
# define GLIBMM_HAVE_STD_ITERATOR_TRAITS 1
# define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS 2
# define GLIBMM_HAVE_WIDE_STREAM 1
# define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
# define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
# define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
# define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
# define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
# define GLIBMM_PROPERTIES_ENABLED 1
# define GLIBMM_VFUNCS_ENABLED 1
# define GLIBMM_EXCEPTIONS_ENABLED 1
# define GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 1
# pragma warning (disable: 4786 4355 4800 4181)

#if (_MSC_VER < 1900)
/* The C++-11 keywords noexcept and thread_local are supported on
 * Visual Studio 2013 via Microsoft-specific extensions, but are
 * supported directly in Visual Studio 2015
 */

#define _ALLOW_KEYWORD_MACROS 1

#ifndef noexcept
#define noexcept _NOEXCEPT
#endif

#ifndef thread_local
#define thread_local __declspec (thread)
#endif

#endif /* _MSC_VER < 1900 */
#endif /* GLIBMM_MSC */

/* Dummy macro definition for compatibility with old code that expects
 * it to be defined.  Remove after grace period. */
#define GLIBMM_USING_STD(Symbol)

/* Enable DLL-specific stuff only when not building a static library */
#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB)
# define GLIBMM_DLL 1
#endif

#ifdef GLIBMM_DLL
# if defined(GLIBMM_BUILD) && defined(_WINDLL)
   /* Do not dllexport as it is handled by gendef on MSVC */
#  define GLIBMM_API
# elif !defined(GLIBMM_BUILD)
#  define GLIBMM_API __declspec(dllimport)
# else
   /* Build a static library */
#  define GLIBMM_API
# endif /* GLIBMM_BUILD - _WINDLL */
#else
# define GLIBMM_API
#endif /* GLIBMM_DLL */

#endif /* _GLIBMM_CONFIG_H */