summaryrefslogtreecommitdiff
path: root/glib/glibmmconfig.h.in
blob: 6fd1c8749e3589fd42db4f457e8f18b420999099 (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
#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 only on Mac OS, COCOA */
#undef GLIBMM_OS_COCOA

/* 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

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

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

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

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

/* 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

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

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

/* 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_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
# define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
# pragma warning (disable: 4786 4355 4800 4181)

/* We have GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS for Visual Studio 2017+ */
#if (_MSC_VER >= 1910)
#define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
#endif

#endif /* GLIBMM_MSC */

/* 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)
#  define GLIBMM_API __declspec(dllexport)
# elif !defined (__GNUC__)
#  define GLIBMM_API __declspec(dllimport)
# else /* don't dllimport classes/methods on GCC/MinGW */
#  define GLIBMM_API
# endif
/* Build a static or non-native-Windows library */
#else
# define GLIBMM_API
#endif /* GLIBMM_DLL */

#endif /* _GLIBMM_CONFIG_H */