summaryrefslogtreecommitdiff
path: root/package/ustl/files/config.h
blob: 348649678a7096adb1b82749e7a591b2b4634946 (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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
// config.h
//
// Autogenerated from config.h.in by bsconf.
//

#ifndef CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F
#define CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F

// Define to the one symbol short name of this package.
#define USTL_NAME	"ustl"
// Define to the full name and version of this package.
#define USTL_STRING	"ustl 0.8"
// Define to the version of this package.
#define USTL_VERSION	0x080
// Define to the address where bug reports for this package should be sent.
#define USTL_BUGREPORT	"Mike Sharov <msharov@users.sourceforge.net>"

/// Define to 1 if you want stream operations to throw exceptions on
/// insufficient data or insufficient space. All these errors should
/// be preventable in output code; the input code should verify the
/// data in a separate step. It slows down stream operations a lot,
/// but it's your call. By default only debug builds throw.
///
#undef WANT_STREAM_BOUNDS_CHECKING

#if !defined(WANT_STREAM_BOUNDS_CHECKING) && !defined(NDEBUG)
    #define WANT_STREAM_BOUNDS_CHECKING 1
#endif

/// Define to 1 if you want to build without libstdc++
#define WITHOUT_LIBSTDCPP 1

/// Define to 1 if you don't want the standard streams.
/// You will not be able to run bvt tests if you do this.
///
#undef WITHOUT_CIN_COUT_CERR

/// Define GNU extensions if unavailable.
#ifndef __GNUC__
    /// GCC (and some other compilers) define '__attribute__'; ustl is using this
    /// macro to alert the compiler to flag inconsistencies in printf/scanf-like
    /// function calls.  Just in case '__attribute__' isn't defined, make a dummy.
    /// 
    #ifndef __attribute__
	#define __attribute__(p)
    #endif
#endif
#if defined(__GNUC__) && (__GNUC__ >= 4)
    #define DLL_EXPORT		__attribute__((visibility("default")))
    #define DLL_LOCAL		__attribute__((visibility("hidden")))
#else
    #define DLL_EXPORT
    #define DLL_LOCAL
#endif
#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(__i386__)
    /// GCC 3+ supports the prefetch directive, which some CPUs use to improve caching
    #define prefetch(p,rw,loc)	__builtin_prefetch(p,rw,loc)
#else
    #define prefetch(p,rw,loc)
#endif
#if !defined(__GNUC__) || (__GNUC__ < 3)
    /// __alignof__ returns the recommended alignment for the type
    #define __alignof__(v)	min(sizeof(v), sizeof(void*))
#endif

/// Define to 1 if you have the `atexit' function.
#define HAVE_ATEXIT 1

/// Define to 1 if you have the <assert.h> header file.
#define HAVE_ASSERT_H 1

/// Define to 1 if you have the <ctype.h> header file.
#define HAVE_CTYPE_H 1

/// Define to 1 if you have the <errno.h> header file.
#define HAVE_ERRNO_H 1

/// Define to 1 if you have the <fcntl.h> header file.
#define HAVE_FCNTL_H 1

/// Define to 1 if you have the <float.h> header file.
#define HAVE_FLOAT_H 1

/// Define to 1 if you have the <inttypes.h> header file.
#define HAVE_INTTYPES_H 1

/// Define to 1 if you have the <limits.h> header file.
#define HAVE_LIMITS_H 1

/// Define to 1 if you have the <locale.h> header file.
#define HAVE_LOCALE_H 1

/// Define to 1 if your system has a working `malloc' function.
#define HAVE_MALLOC 1

// Define to 1 if you have the <malloc.h> header file.
#define HAVE_MALLOC_H 1

// Define to 1 if you have the <alloca.h> header file.
#define HAVE_ALLOCA_H 1

// Define to 1 if you have the `memchr' function.
#define HAVE_MEMCHR 1

// Define to 1 if you have the `memmove' function.
#define HAVE_MEMMOVE 1

// Define to 1 if you have the <memory.h> header file.
#define HAVE_MEMORY_H 1

// Define to 1 if you have the `memset' function.
#define HAVE_MEMSET 1

// Define to 1 if the system has the type `ptrdiff_t'.
#define HAVE_PTRDIFF_T 1

// Define to 1 if you have the <signal.h> header file.
#define HAVE_SIGNAL_H 1

// Define to 1 if you have the __va_copy function
#define HAVE_VA_COPY 1

// Define to 1 if `stat' has the bug that it succeeds when given the
// zero-length file name argument.
/* #undef HAVE_STAT_EMPTY_STRING_BUG */

// Define to 1 if you have the <stdarg.h> header file.
#define HAVE_STDARG_H 1

// Define to 1 if you have the <stddef.h> header file.
#define HAVE_STDDEF_H 1

// Define to 1 if you have the <stdint.h> header file.
#define HAVE_STDINT_H 1

// Define to 1 if you have the <stdio.h> header file.
#define HAVE_STDIO_H 1

// Define to 1 if you have the <stdlib.h> header file.
#define HAVE_STDLIB_H 1

// Define to 1 if you have the `strerror' function.
#define HAVE_STRERROR 1

// Define to 1 if you have the <strings.h> header file.
#define HAVE_STRINGS_H 1

// Define to 1 if you have the <string.h> header file.
#define HAVE_STRING_H 1

// Define to 1 if you have the `strrchr' function.
#define HAVE_STRRCHR 1

// Define to 1 if you have the `strsignal' function.
#define HAVE_STRSIGNAL 1

// Define to 1 if you have the `strtol' function.
#define HAVE_STRTOL 1

// Define to 1 if you have the <sys/stat.h> header file.
#define HAVE_SYS_STAT_H 1

// Define to 1 if you have the <sys/types.h> header file.
#define HAVE_SYS_TYPES_H 1

// Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible.
#define HAVE_SYS_WAIT_H 1

// Define to 1 if you have the <time.h> header file.
#define HAVE_TIME_H 1

// Define to 1 if you have the <unistd.h> header file.
#define HAVE_UNISTD_H 1

// Define to 1 if you have the <math.h> header file.
#define HAVE_MATH_H 1

// Define to 1 if you have the rintf function. Will use rint otherwise.
#undef HAVE_RINTF

// STDC_HEADERS is defined to 1 on sane systems.
#if defined(HAVE_ASSERT_H) && defined(HAVE_CTYPE_H) &&\
    defined(HAVE_ERRNO_H) && defined(HAVE_FLOAT_H) &&\
    defined(HAVE_LIMITS_H) && defined(HAVE_LOCALE_H) &&\
    defined(HAVE_MATH_H) && defined(HAVE_SIGNAL_H) &&\
    defined(HAVE_STDARG_H) && defined(HAVE_STDDEF_H) &&\
    defined(HAVE_STDIO_H) && defined(HAVE_STDLIB_H) &&\
    defined(HAVE_STRING_H) && defined(HAVE_TIME_H)
#define STDC_HEADERS 1
#endif

// STDC_HEADERS is defined to 1 on unix systems.
#if defined(HAVE_FCNTL_H) && defined(HAVE_SYS_STAT_H) && defined(HAVE_UNISTD_H)
#define STDUNIX_HEADERS 1
#endif

// Define to 1 if you have the <byteswap.h> header file.
#if (__GNUC__ >= 3) // gcc 2.95 somehow doesn't recognize 'asm volatile' in libc byteswap.h
#define HAVE_BYTESWAP_H 1
#endif

// Define to 1 if `lstat' dereferences a symlink specified with a trailing slash.
#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1

// Define to 1 if your compiler treats char as a separate type along with
// signed char and unsigned char. This will create overloads for char.
#define HAVE_THREE_CHAR_TYPES 1

// Define as the return type of signal handlers (`int' or `void').
#define RETSIGTYPE void

// Define to 1 if you have 64 bit types available
#define HAVE_INT64_T 1

// Define to 1 if you have the long long type
#define HAVE_LONG_LONG 1

// Define to 1 if you want unrolled specializations for fill and copy
#undef WANT_UNROLLED_COPY

// Define to 1 if you want to use MMX/SSE/3dNow! processor instructions
#undef WANT_MMX

// Define to byte sizes of types
#define SIZE_OF_CHAR 1
#define SIZE_OF_SHORT 2
#define SIZE_OF_INT 4
#define SIZE_OF_LONG 4
#define SIZE_OF_LONG_LONG 8
#define SIZE_OF_POINTER 4
#define SIZE_OF_SIZE_T 4
#define SIZE_OF_BOOL SIZE_OF_CHAR
#undef SIZE_T_IS_LONG

// Byte order macros, converted in utypes.h
#define USTL_LITTLE_ENDIAN	4321
#define USTL_BIG_ENDIAN		1234
#define USTL_BYTE_ORDER		USTL_LITTLE_ENDIAN

// Extended CPU capabilities
#define CPU_HAS_FPU 1
#define CPU_HAS_EXT_DEBUG 1
#define CPU_HAS_TIMESTAMPC 1
#define CPU_HAS_MSR 1
#define CPU_HAS_CMPXCHG8 1
#define CPU_HAS_APIC 1
#define CPU_HAS_SYSCALL 1
#define CPU_HAS_MTRR 1
#define CPU_HAS_CMOV 1
#define CPU_HAS_FCMOV 1
#if WANT_MMX
#undef CPU_HAS_MMX 1
#undef CPU_HAS_FXSAVE
#undef CPU_HAS_SSE 1
#undef CPU_HAS_SSE2 1
#undef CPU_HAS_SSE3
#undef CPU_HAS_EXT_3DNOW
#undef CPU_HAS_3DNOW
#endif

// GCC vector extensions
#if defined(CPU_HAS_MMX) || defined(CPU_HAS_SSE)
    #undef HAVE_VECTOR_EXTENSIONS
#endif

#if CPU_HAS_SSE && defined(__GNUC__)
    #define __sse_align	__attribute__((aligned(16)))
#else
    #define __sse_align	
#endif

// Define to empty if `const' does not conform to ANSI C.
/* #define const */

// Define as `__inline' if that's what the C compiler calls it, or to nothing
// if it is not supported.
/* #define inline __inline */

// Define to `long' if <sys/types.h> does not define.
/* typedef long off_t; */

// Define to `unsigned' if <sys/types.h> does not define.
/* typedef long size_t; */

#endif	// CONFIG_H_01E33670634DAAC779EE5FF41CCBB36F