summaryrefslogtreecommitdiff
path: root/src/lib/eina/eina_config.h.in
blob: 7f81542a36cf9740cfeee24c5e9a91a791ed9949 (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
/* EINA - EFL data type library
 * Copyright (C) 2008 Cedric Bail
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library;
 * if not, see <http://www.gnu.org/licenses/>.
 */

#ifndef EINA_CONFIG_H_
#define EINA_CONFIG_H_

#ifdef HAVE_EXOTIC
# include <Exotic.h>
#endif

#ifdef __has_builtin
# define EINA_HAS_BUILTIN(x) __has_builtin(x)
#elif (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)))
# define EINA_HAS_BUILTIN(x) 1
#else
# define EINA_HAS_BUILTIN(x) 0  // Compatibility for the rest of the world
#endif

#ifdef EINA_MAGIC_DEBUG
# undef EINA_MAGIC_DEBUG
#endif
@EINA_CONFIGURE_MAGIC_DEBUG@

#ifndef EINA_DEFAULT_MEMPOOL
# undef EINA_DEFAULT_MEMPOOL
#endif
@EINA_CONFIGURE_DEFAULT_MEMPOOL@

#ifdef EINA_SAFETY_CHECKS
# undef EINA_SAFETY_CHECKS
#endif
@EINA_CONFIGURE_SAFETY_CHECKS@

#ifndef EINA_HAVE_THREADS
#define EINA_HAVE_THREADS
#endif

#ifdef EINA_HAVE_PTHREAD_AFFINITY
# undef EINA_HAVE_PTHREAD_AFFINITY
#endif
@EINA_CONFIGURE_HAVE_PTHREAD_AFFINITY@

#ifdef EINA_HAVE_PTHREAD_BARRIER
# undef EINA_HAVE_PTHREAD_BARRIER
#endif
@EINA_CONFIGURE_HAVE_PTHREAD_BARRIER@

#ifdef EINA_HAVE_PTHREAD_SETNAME
# undef EINA_HAVE_PTHREAD_SETNAME
#endif
@EINA_CONFIGURE_HAVE_PTHREAD_SETNAME@

#ifdef EINA_HAVE_DEBUG_THREADS
# undef EINA_HAVE_DEBUG_THREADS
#endif
@EINA_CONFIGURE_HAVE_DEBUG_THREADS@

#ifdef EINA_SIZEOF_WCHAR_T
# undef EINA_SIZEOF_WCHAR_T
#endif
#define EINA_SIZEOF_WCHAR_T @EINA_SIZEOF_WCHAR_T@

#ifdef EINA_SIZEOF_UINTPTR_T
# undef EINA_SIZEOF_UINTPTR_T
#endif
#define EINA_SIZEOF_UINTPTR_T @EINA_SIZEOF_UINTPTR_T@

#ifdef EINA_CONFIGURE_HAVE_DIRENT_H
# undef EINA_CONFIGURE_HAVE_DIRENT_H
#endif
@EINA_CONFIGURE_HAVE_DIRENT_H@

#ifdef EINA_CONFIGURE_ENABLE_LOG
# undef EINA_CONFIGURE_ENABLE_LOG
#endif
@EINA_CONFIGURE_ENABLE_LOG@

#ifdef EINA_HAVE_ALLOCA_H
# undef EINA_HAVE_ALLOCA_H
#endif
@EINA_CONFIGURE_HAVE_ALLOCA_H@

#ifdef EINA_HAVE_BSWAP16
# undef EINA_HAVE_BSWAP16
#endif
#if EINA_HAS_BUILTIN(__builtin_bswap16)
# define EINA_HAVE_BSWAP16
#endif

#ifdef EINA_HAVE_BSWAP32
# undef EINA_HAVE_BSWAP32
#endif
#if EINA_HAS_BUILTIN(__builtin_bswap32)
# define EINA_HAVE_BSWAP32
#endif

#ifdef EINA_HAVE_BSWAP64
# undef EINA_HAVE_BSWAP64
#endif
#if EINA_HAS_BUILTIN(__builtin_bswap64)
# define EINA_HAVE_BSWAP64
#endif

#ifdef EINA_HAVE_BYTESWAP_H
# undef EINA_HAVE_BYTESWAP_H
#endif
@EINA_CONFIGURE_HAVE_BYTESWAP_H@

#ifdef EINA_HAVE_POSIX_SPINLOCK
# undef EINA_HAVE_POSIX_SPINLOCK
#endif
@EINA_CONFIGURE_HAVE_POSIX_SPINLOCK@

#ifndef EINA_HAVE_OSX_SPINLOCK
# undef EINA_HAVE_OSX_SPINLOCK
#endif
@EINA_CONFIGURE_HAVE_OSX_SPINLOCK@

#ifndef EINA_HAVE_OSX_SEMAPHORE
# undef EINA_HAVE_OSX_SEMAPHORE
#endif
@EINA_CONFIGURE_HAVE_OSX_SEMAPHORE@

#ifndef EINA_HAVE_WORDS_BIGENDIAN
# undef EINA_HAVE_WORDS_BIGENDIAN
#endif
@EINA_CONFIGURE_HAVE_WORDS_BIGENDIAN@

#if ((defined __APPLE_CC__) && (defined __BIG_ENDIAN__)) || (defined EINA_HAVE_WORDS_BIGENDIAN)
# define EINA_HAVE_BIGENDIAN
#endif

#include <limits.h>

#endif /* EINA_CONFIG_H_ */