Added static_assert from Loki
[ustl.git] / config.h.in
blob7b42da4330f443e63e7526219df04fd6307bae73
1 // config.h
2 //
3 // Autogenerated from config.h.in by bsconf.
4 //
6 #ifndef CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F
7 #define CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F
9 // Define to the one symbol short name of this package.
10 #define USTL_NAME "@PACKAGE_NAME@"
11 // Define to the full name and version of this package.
12 #define USTL_STRING "@PACKAGE_NAME@ @PACKAGE_VERSION@"
13 // Define to the version of this package.
14 #define USTL_VERSION 0x@LIB_MAJOR@@LIB_MINOR@@LIB_BUILD@
15 // Define to the address where bug reports for this package should be sent.
16 #define USTL_BUGREPORT "@PACKAGE_BUGREPORT@"
18 /// Define to 1 if you want stream operations to throw exceptions on
19 /// insufficient data or insufficient space. All these errors should
20 /// be preventable in output code; the input code should verify the
21 /// data in a separate step. It slows down stream operations a lot,
22 /// but it's your call. By default only debug builds throw.
23 ///
24 #undef WANT_STREAM_BOUNDS_CHECKING
26 #if !defined(WANT_STREAM_BOUNDS_CHECKING) && !defined(NDEBUG)
27 #define WANT_STREAM_BOUNDS_CHECKING 1
28 #endif
30 /// Define to 1 if you want to build without libstdc++
31 #undef WITHOUT_LIBSTDCPP
33 /// Define GNU extensions if unavailable.
34 #ifndef __GNUC__
35 /// GCC (and some other compilers) define '__attribute__'; ustl is using this
36 /// macro to alert the compiler to flag inconsistencies in printf/scanf-like
37 /// function calls. Just in case '__attribute__' isn't defined, make a dummy.
38 ///
39 #ifndef __attribute__
40 #define __attribute__(p)
41 #endif
42 #endif
43 #if defined(__GNUC__) && __GNUC__ >= 4
44 #define DLL_EXPORT __attribute__((visibility("default")))
45 #define DLL_LOCAL __attribute__((visibility("hidden")))
46 #else
47 #define DLL_EXPORT
48 #define DLL_LOCAL
49 #endif
50 #if defined(__GNUC__) && __GNUC__ >= 3 && __i386__
51 /// GCC 3+ supports the prefetch directive, which some CPUs use to improve caching
52 #define prefetch(p,rw,loc) __builtin_prefetch(p,rw,loc)
53 #else
54 #define prefetch(p,rw,loc)
55 #endif
56 #if !defined(__GNUC__) || __GNUC__ < 3
57 /// __alignof__ returns the recommended alignment for the type
58 #define __alignof__(v) min(sizeof(v), sizeof(void*))
59 /// This macro returns 1 if the value of x is known at compile time.
60 #ifndef __builtin_constant_p(x)
61 #define __builtin_constant_p(x) 0
62 #endif
63 #endif
65 /// Define to 1 if you have the `atexit' function.
66 #undef HAVE_ATEXIT
68 /// Define to 1 if you have the <assert.h> header file.
69 #undef HAVE_ASSERT_H
71 /// Define to 1 if you have the <ctype.h> header file.
72 #undef HAVE_CTYPE_H
74 /// Define to 1 if you have the <errno.h> header file.
75 #undef HAVE_ERRNO_H
77 /// Define to 1 if you have the <fcntl.h> header file.
78 #undef HAVE_FCNTL_H
80 /// Define to 1 if you have the <float.h> header file.
81 #undef HAVE_FLOAT_H
83 /// Define to 1 if you have the <inttypes.h> header file.
84 #undef HAVE_INTTYPES_H
86 /// Define to 1 if you have the <limits.h> header file.
87 #undef HAVE_LIMITS_H
89 /// Define to 1 if you have the <locale.h> header file.
90 #undef HAVE_LOCALE_H
92 /// Define to 1 if your system has a working `malloc' function.
93 #undef HAVE_MALLOC
95 // Define to 1 if you have the <malloc.h> header file.
96 #undef HAVE_MALLOC_H
98 // Define to 1 if you have the <alloca.h> header file.
99 #undef HAVE_ALLOCA_H
101 // Define to 1 if you have the `memchr' function.
102 #undef HAVE_MEMCHR
104 // Define to 1 if you have the `memmove' function.
105 #undef HAVE_MEMMOVE
107 // Define to 1 if you have the <memory.h> header file.
108 #undef HAVE_MEMORY_H
110 // Define to 1 if you have the `memset' function.
111 #undef HAVE_MEMSET
113 // Define to 1 if the system has the type `ptrdiff_t'.
114 #undef HAVE_PTRDIFF_T
116 // Define to 1 if you have the <signal.h> header file.
117 #undef HAVE_SIGNAL_H
119 // Define to 1 if you have the __va_copy function
120 #undef HAVE_VA_COPY
122 // Define to 1 if `stat' has the bug that it succeeds when given the
123 // zero-length file name argument.
124 #undef HAVE_STAT_EMPTY_STRING_BUG
126 // Define to 1 if you have the <stdarg.h> header file.
127 #undef HAVE_STDARG_H
129 // Define to 1 if you have the <stddef.h> header file.
130 #undef HAVE_STDDEF_H
132 // Define to 1 if you have the <stdint.h> header file.
133 #undef HAVE_STDINT_H
135 // Define to 1 if you have the <stdio.h> header file.
136 #undef HAVE_STDIO_H
138 // Define to 1 if you have the <stdlib.h> header file.
139 #undef HAVE_STDLIB_H
141 // Define to 1 if you have the `strerror' function.
142 #undef HAVE_STRERROR
144 // Define to 1 if you have the <strings.h> header file.
145 #undef HAVE_STRINGS_H
147 // Define to 1 if you have the <string.h> header file.
148 #undef HAVE_STRING_H
150 // Define to 1 if you have the `strrchr' function.
151 #undef HAVE_STRRCHR
153 // Define to 1 if you have the `strsignal' function.
154 #undef HAVE_STRSIGNAL
156 // Define to 1 if you have the `strtol' function.
157 #undef HAVE_STRTOL
159 // Define to 1 if you have the <sys/stat.h> header file.
160 #undef HAVE_SYS_STAT_H
162 // Define to 1 if you have the <sys/types.h> header file.
163 #undef HAVE_SYS_TYPES_H
165 // Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible.
166 #undef HAVE_SYS_WAIT_H
168 // Define to 1 if you have the <time.h> header file.
169 #undef HAVE_TIME_H
171 // Define to 1 if you have the <unistd.h> header file.
172 #undef HAVE_UNISTD_H
174 // Define to 1 if you have the <math.h> header file.
175 #undef HAVE_MATH_H
177 // Define to 1 if you have the rintf function. Will use rint otherwise.
178 #undef HAVE_RINTF
180 // STDC_HEADERS is defined to 1 on sane systems.
181 #if defined(HAVE_ASSERT_H) && defined(HAVE_CTYPE_H) &&\
182 defined(HAVE_ERRNO_H) && defined(HAVE_FLOAT_H) &&\
183 defined(HAVE_LIMITS_H) && defined(HAVE_LOCALE_H) &&\
184 defined(HAVE_MATH_H) && defined(HAVE_SIGNAL_H) &&\
185 defined(HAVE_STDARG_H) && defined(HAVE_STDDEF_H) &&\
186 defined(HAVE_STDIO_H) && defined(HAVE_STDLIB_H) &&\
187 defined(HAVE_STRING_H) && defined(HAVE_TIME_H)
188 #define STDC_HEADERS 1
189 #endif
191 // STDC_HEADERS is defined to 1 on unix systems.
192 #if defined(HAVE_FCNTL_H) && defined(HAVE_SYS_STAT_H) && defined(HAVE_UNISTD_H)
193 #define STDUNIX_HEADERS 1
194 #endif
196 // Define to 1 if `lstat' dereferences a symlink specified with a trailing slash.
197 #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
199 // Define to 1 if your compiler treats char as a separate type along with
200 // signed char and unsigned char. This will create overloads for char.
201 #undef HAVE_THREE_CHAR_TYPES
203 // Define as the return type of signal handlers (`int' or `void').
204 #undef RETSIGTYPE
206 // Define to 1 if you have 64 bit types available
207 #undef HAVE_INT64_T
209 // Define to 1 if you have the long long type
210 #undef HAVE_LONG_LONG
212 // Define to 1 if you want unrolled specializations for fill and copy
213 #undef WANT_UNROLLED_COPY
215 // Define to 1 if you want to use MMX/SSE/3dNow! processor instructions
216 #undef WANT_MMX
218 // Define to byte sizes of types
219 #undef SIZE_OF_CHAR
220 #undef SIZE_OF_SHORT
221 #undef SIZE_OF_INT
222 #undef SIZE_OF_LONG
223 #undef SIZE_OF_LONG_LONG
224 #undef SIZE_OF_POINTER
225 #undef SIZE_OF_SIZE_T
226 #undef SIZE_OF_BOOL
227 #undef SIZE_T_IS_LONG
229 // Byte order macros, converted in utypes.h
230 #define USTL_LITTLE_ENDIAN 4321
231 #define USTL_BIG_ENDIAN 1234
232 #define USTL_BYTE_ORDER USTL_@BYTE_ORDER@
234 // Extended CPU capabilities
235 #undef CPU_HAS_FPU
236 #undef CPU_HAS_EXT_DEBUG
237 #undef CPU_HAS_TIMESTAMPC
238 #undef CPU_HAS_MSR
239 #undef CPU_HAS_CMPXCHG8
240 #undef CPU_HAS_APIC
241 #undef CPU_HAS_SYSCALL
242 #undef CPU_HAS_MTRR
243 #undef CPU_HAS_CMOV
244 #undef CPU_HAS_FCMOV
245 #if WANT_MMX
246 #undef CPU_HAS_MMX
247 #undef CPU_HAS_FXSAVE
248 #undef CPU_HAS_SSE
249 #undef CPU_HAS_SSE2
250 #undef CPU_HAS_SSE3
251 #undef CPU_HAS_EXT_3DNOW
252 #undef CPU_HAS_3DNOW
253 #endif
255 // GCC vector extensions
256 #if defined(CPU_HAS_MMX) || defined(CPU_HAS_SSE)
257 #undef HAVE_VECTOR_EXTENSIONS
258 #endif
260 #if CPU_HAS_SSE && defined(__GNUC__)
261 #define __sse_align __attribute__((aligned(16)))
262 #else
263 #define __sse_align
264 #endif
266 // Define to empty if `const' does not conform to ANSI C.
267 #undef const
269 // Define as `__inline' if that's what the C compiler calls it, or to nothing
270 // if it is not supported.
271 #undef inline
273 // Define to `long' if <sys/types.h> does not define.
274 #undef off_t
276 // Define to `unsigned' if <sys/types.h> does not define.
277 #undef size_t
279 #endif // CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F