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