1 /* config.in. Generated from configure.ac by autoheader. */
3 /* Define if building universal (internal helper macro) */
4 #undef AC_APPLE_UNIVERSAL_BUILD
6 /* Define to the number of bits in type 'ptrdiff_t'. */
7 #undef BITSIZEOF_PTRDIFF_T
9 /* Define to the number of bits in type 'sig_atomic_t'. */
10 #undef BITSIZEOF_SIG_ATOMIC_T
12 /* Define to the number of bits in type 'size_t'. */
13 #undef BITSIZEOF_SIZE_T
15 /* Define to the number of bits in type 'wchar_t'. */
16 #undef BITSIZEOF_WCHAR_T
18 /* Define to the number of bits in type 'wint_t'. */
19 #undef BITSIZEOF_WINT_T
21 /* Define to 1 if chown fails to change ctime when at least one argument was
23 #undef CHOWN_CHANGE_TIME_BUG
25 /* Define if chown is not POSIX compliant regarding IDs of -1. */
26 #undef CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE
28 /* Define if chown modifies symlinks. */
29 #undef CHOWN_MODIFIES_SYMLINK
31 /* Define to 1 if chown mishandles trailing slash. */
32 #undef CHOWN_TRAILING_SLASH_BUG
34 /* Define to 1 if using 'alloca.c'. */
37 /* Define as the bit index in the word where to find bit 0 of the exponent of
39 #undef DBL_EXPBIT0_BIT
41 /* Define as the word index where to find the exponent of 'double'. */
42 #undef DBL_EXPBIT0_WORD
44 /* the name of the file descriptor member of DIR */
45 #undef DIR_FD_MEMBER_NAME
47 #ifdef DIR_FD_MEMBER_NAME
48 # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
50 # define DIR_TO_FD(Dir_p) -1
54 /* Define to 1 if // is a file system root distinct from /. */
55 #undef DOUBLE_SLASH_IS_DISTINCT_ROOT
57 /* Define if struct dirent has a member d_ino that actually works. */
58 #undef D_INO_IN_DIRENT
60 /* Define this to 1 if F_DUPFD behavior does not match POSIX */
61 #undef FCNTL_DUPFD_BUGGY
63 /* Define to nothing if C supports flexible array members, and to 1 if it does
64 not. That way, with a declaration like 'struct s { int n; short
65 d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
66 compilers. Use 'FLEXSIZEOF (struct s, d, N * sizeof (short))' to calculate
67 the size in bytes of such a struct containing an N-element array. */
68 #undef FLEXIBLE_ARRAY_MEMBER
70 /* Define to 1 if mkdir mistakenly creates a directory given with a trailing
72 #undef FUNC_MKDIR_DOT_BUG
74 /* Define to 1 if realpath() can malloc memory, always gives an absolute path,
75 and handles trailing slash correctly. */
76 #undef FUNC_REALPATH_WORKS
78 /* Define this to 'void' or 'struct timezone' to match the system's
79 declaration of the second argument to gettimeofday. */
80 #undef GETTIMEOFDAY_TIMEZONE
82 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
83 whether the gnulib module canonicalize-lgpl shall be considered present. */
84 #undef GNULIB_CANONICALIZE_LGPL
86 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
87 whether the gnulib module fdopendir shall be considered present. */
88 #undef GNULIB_FDOPENDIR
90 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
91 whether the gnulib module fd-safer-flag shall be considered present. */
92 #undef GNULIB_FD_SAFER_FLAG
94 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
95 whether the gnulib module fnmatch-gnu shall be considered present. */
96 #undef GNULIB_FNMATCH_GNU
98 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
99 whether the gnulib module fscanf shall be considered present. */
102 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
103 whether the gnulib module getcwd shall be considered present. */
106 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
107 whether the gnulib module isblank shall be considered present. */
108 #undef GNULIB_ISBLANK
110 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
111 whether the gnulib module lock shall be considered present. */
114 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
115 whether the gnulib module mkostemp shall be considered present. */
116 #undef GNULIB_MKOSTEMP
118 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
119 whether the gnulib module msvc-nothrow shall be considered present. */
120 #undef GNULIB_MSVC_NOTHROW
122 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
123 whether the gnulib module openat shall be considered present. */
126 /* Define to 1 if printf and friends should be labeled with attribute
127 "__gnu_printf__" instead of "__printf__" */
128 #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
130 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
131 whether the gnulib module scanf shall be considered present. */
134 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
135 whether the gnulib module strerror shall be considered present. */
136 #undef GNULIB_STRERROR
138 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
139 whether the gnulib module strerror_r-posix shall be considered present. */
140 #undef GNULIB_STRERROR_R_POSIX
142 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
143 whether the gnulib module tempname shall be considered present. */
144 #undef GNULIB_TEMPNAME
146 /* Define to 1 when the gnulib module btowc should be tested. */
147 #undef GNULIB_TEST_BTOWC
149 /* Define to 1 when the gnulib module canonicalize_file_name should be tested.
151 #undef GNULIB_TEST_CANONICALIZE_FILE_NAME
153 /* Define to 1 when the gnulib module chdir should be tested. */
154 #undef GNULIB_TEST_CHDIR
156 /* Define to 1 when the gnulib module chown should be tested. */
157 #undef GNULIB_TEST_CHOWN
159 /* Define to 1 when the gnulib module cloexec should be tested. */
160 #undef GNULIB_TEST_CLOEXEC
162 /* Define to 1 when the gnulib module close should be tested. */
163 #undef GNULIB_TEST_CLOSE
165 /* Define to 1 when the gnulib module closedir should be tested. */
166 #undef GNULIB_TEST_CLOSEDIR
168 /* Define to 1 when the gnulib module dirfd should be tested. */
169 #undef GNULIB_TEST_DIRFD
171 /* Define to 1 when the gnulib module dup should be tested. */
172 #undef GNULIB_TEST_DUP
174 /* Define to 1 when the gnulib module dup2 should be tested. */
175 #undef GNULIB_TEST_DUP2
177 /* Define to 1 when the gnulib module environ should be tested. */
178 #undef GNULIB_TEST_ENVIRON
180 /* Define to 1 when the gnulib module fchdir should be tested. */
181 #undef GNULIB_TEST_FCHDIR
183 /* Define to 1 when the gnulib module fcntl should be tested. */
184 #undef GNULIB_TEST_FCNTL
186 /* Define to 1 when the gnulib module fdopendir should be tested. */
187 #undef GNULIB_TEST_FDOPENDIR
189 /* Define to 1 when the gnulib module fnmatch should be tested. */
190 #undef GNULIB_TEST_FNMATCH
192 /* Define to 1 when the gnulib module free-posix should be tested. */
193 #undef GNULIB_TEST_FREE_POSIX
195 /* Define to 1 when the gnulib module frexp should be tested. */
196 #undef GNULIB_TEST_FREXP
198 /* Define to 1 when the gnulib module frexpl should be tested. */
199 #undef GNULIB_TEST_FREXPL
201 /* Define to 1 when the gnulib module fstat should be tested. */
202 #undef GNULIB_TEST_FSTAT
204 /* Define to 1 when the gnulib module fstatat should be tested. */
205 #undef GNULIB_TEST_FSTATAT
207 /* Define to 1 when the gnulib module getcwd should be tested. */
208 #undef GNULIB_TEST_GETCWD
210 /* Define to 1 when the gnulib module getdelim should be tested. */
211 #undef GNULIB_TEST_GETDELIM
213 /* Define to 1 when the gnulib module getdtablesize should be tested. */
214 #undef GNULIB_TEST_GETDTABLESIZE
216 /* Define to 1 when the gnulib module getline should be tested. */
217 #undef GNULIB_TEST_GETLINE
219 /* Define to 1 when the gnulib module getlogin_r should be tested. */
220 #undef GNULIB_TEST_GETLOGIN_R
222 /* Define to 1 when the gnulib module getrandom should be tested. */
223 #undef GNULIB_TEST_GETRANDOM
225 /* Define to 1 when the gnulib module gettimeofday should be tested. */
226 #undef GNULIB_TEST_GETTIMEOFDAY
228 /* Define to 1 when the gnulib module glob should be tested. */
229 #undef GNULIB_TEST_GLOB
231 /* Define to 1 when the gnulib module lstat should be tested. */
232 #undef GNULIB_TEST_LSTAT
234 /* Define to 1 when the gnulib module malloc-posix should be tested. */
235 #undef GNULIB_TEST_MALLOC_POSIX
237 /* Define to 1 when the gnulib module mbrtowc should be tested. */
238 #undef GNULIB_TEST_MBRTOWC
240 /* Define to 1 when the gnulib module mbsinit should be tested. */
241 #undef GNULIB_TEST_MBSINIT
243 /* Define to 1 when the gnulib module mbsrtowcs should be tested. */
244 #undef GNULIB_TEST_MBSRTOWCS
246 /* Define to 1 when the gnulib module mbtowc should be tested. */
247 #undef GNULIB_TEST_MBTOWC
249 /* Define to 1 when the gnulib module memchr should be tested. */
250 #undef GNULIB_TEST_MEMCHR
252 /* Define to 1 when the gnulib module memmem should be tested. */
253 #undef GNULIB_TEST_MEMMEM
255 /* Define to 1 when the gnulib module mempcpy should be tested. */
256 #undef GNULIB_TEST_MEMPCPY
258 /* Define to 1 when the gnulib module memrchr should be tested. */
259 #undef GNULIB_TEST_MEMRCHR
261 /* Define to 1 when the gnulib module mkdir should be tested. */
262 #undef GNULIB_TEST_MKDIR
264 /* Define to 1 when the gnulib module mkdtemp should be tested. */
265 #undef GNULIB_TEST_MKDTEMP
267 /* Define to 1 when the gnulib module mkostemp should be tested. */
268 #undef GNULIB_TEST_MKOSTEMP
270 /* Define to 1 when the gnulib module open should be tested. */
271 #undef GNULIB_TEST_OPEN
273 /* Define to 1 when the gnulib module openat should be tested. */
274 #undef GNULIB_TEST_OPENAT
276 /* Define to 1 when the gnulib module opendir should be tested. */
277 #undef GNULIB_TEST_OPENDIR
279 /* Define to 1 when the gnulib module pipe should be tested. */
280 #undef GNULIB_TEST_PIPE
282 /* Define to 1 when the gnulib module rawmemchr should be tested. */
283 #undef GNULIB_TEST_RAWMEMCHR
285 /* Define to 1 when the gnulib module readdir should be tested. */
286 #undef GNULIB_TEST_READDIR
288 /* Define to 1 when the gnulib module readlink should be tested. */
289 #undef GNULIB_TEST_READLINK
291 /* Define to 1 when the gnulib module realloc-posix should be tested. */
292 #undef GNULIB_TEST_REALLOC_POSIX
294 /* Define to 1 when the gnulib module realpath should be tested. */
295 #undef GNULIB_TEST_REALPATH
297 /* Define to 1 when the gnulib module rename should be tested. */
298 #undef GNULIB_TEST_RENAME
300 /* Define to 1 when the gnulib module rewinddir should be tested. */
301 #undef GNULIB_TEST_REWINDDIR
303 /* Define to 1 when the gnulib module rmdir should be tested. */
304 #undef GNULIB_TEST_RMDIR
306 /* Define to 1 when the gnulib module select should be tested. */
307 #undef GNULIB_TEST_SELECT
309 /* Define to 1 when the gnulib module setenv should be tested. */
310 #undef GNULIB_TEST_SETENV
312 /* Define to 1 when the gnulib module setlocale_null should be tested. */
313 #undef GNULIB_TEST_SETLOCALE_NULL
315 /* Define to 1 when the gnulib module stat should be tested. */
316 #undef GNULIB_TEST_STAT
318 /* Define to 1 when the gnulib module strchrnul should be tested. */
319 #undef GNULIB_TEST_STRCHRNUL
321 /* Define to 1 when the gnulib module strdup should be tested. */
322 #undef GNULIB_TEST_STRDUP
324 /* Define to 1 when the gnulib module strerror should be tested. */
325 #undef GNULIB_TEST_STRERROR
327 /* Define to 1 when the gnulib module strerror_r should be tested. */
328 #undef GNULIB_TEST_STRERROR_R
330 /* Define to 1 when the gnulib module strnlen should be tested. */
331 #undef GNULIB_TEST_STRNLEN
333 /* Define to 1 when the gnulib module strstr should be tested. */
334 #undef GNULIB_TEST_STRSTR
336 /* Define to 1 when the gnulib module strtok_r should be tested. */
337 #undef GNULIB_TEST_STRTOK_R
339 /* Define to 1 when the gnulib module time_r should be tested. */
340 #undef GNULIB_TEST_TIME_R
342 /* Define to 1 when the gnulib module unsetenv should be tested. */
343 #undef GNULIB_TEST_UNSETENV
345 /* Define to 1 when the gnulib module wmemchr should be tested. */
346 #undef GNULIB_TEST_WMEMCHR
348 /* Define to 1 when the gnulib module wmempcpy should be tested. */
349 #undef GNULIB_TEST_WMEMPCPY
351 /* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
352 may be supplied by this distribution. */
355 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
359 /* Define to 1 if you have the <arpa/inet.h> header file. */
360 #undef HAVE_ARPA_INET_H
362 /* Define to 1 if you have the <bcrypt.h> header file. */
365 /* Define to 1 if you have the <bp-sym.h> header file. */
368 /* Define to 1 if you have the `btowc' function. */
371 /* Define to 1 if you have the `canonicalize_file_name' function. */
372 #undef HAVE_CANONICALIZE_FILE_NAME
374 /* Define to 1 if you have the `catgets' function. */
377 /* Define to 1 if you have the `chown' function. */
380 /* Define to 1 if you have the `clock_gettime' function. */
381 #undef HAVE_CLOCK_GETTIME
383 /* Define to 1 if you have the `clock_settime' function. */
384 #undef HAVE_CLOCK_SETTIME
386 /* Define to 1 if you have the `closedir' function. */
389 /* Define to 1 if you have the <crtdefs.h> header file. */
390 #undef HAVE_CRTDEFS_H
392 /* Define to 1 if you have the declaration of `alarm', and to 0 if you don't.
394 #undef HAVE_DECL_ALARM
396 /* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't.
398 #undef HAVE_DECL_DIRFD
400 /* Define to 1 if you have the declaration of `ecvt', and to 0 if you don't.
402 #undef HAVE_DECL_ECVT
404 /* Define to 1 if you have the declaration of `execvpe', and to 0 if you
406 #undef HAVE_DECL_EXECVPE
408 /* Define to 1 if you have the declaration of `fchdir', and to 0 if you don't.
410 #undef HAVE_DECL_FCHDIR
412 /* Define to 1 if you have the declaration of `fcloseall', and to 0 if you
414 #undef HAVE_DECL_FCLOSEALL
416 /* Define to 1 if you have the declaration of `fcvt', and to 0 if you don't.
418 #undef HAVE_DECL_FCVT
420 /* Define to 1 if you have the declaration of `fdopendir', and to 0 if you
422 #undef HAVE_DECL_FDOPENDIR
424 /* Define to 1 if you have the declaration of `gcvt', and to 0 if you don't.
426 #undef HAVE_DECL_GCVT
428 /* Define to 1 if you have the declaration of `getcwd', and to 0 if you don't.
430 #undef HAVE_DECL_GETCWD
432 /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
434 #undef HAVE_DECL_GETC_UNLOCKED
436 /* Define to 1 if you have the declaration of `getdelim', and to 0 if you
438 #undef HAVE_DECL_GETDELIM
440 /* Define to 1 if you have the declaration of `getdtablesize', and to 0 if you
442 #undef HAVE_DECL_GETDTABLESIZE
444 /* Define to 1 if you have the declaration of `getline', and to 0 if you
446 #undef HAVE_DECL_GETLINE
448 /* Define to 1 if you have the declaration of `getlogin', and to 0 if you
450 #undef HAVE_DECL_GETLOGIN
452 /* Define to 1 if you have the declaration of `getlogin_r', and to 0 if you
454 #undef HAVE_DECL_GETLOGIN_R
456 /* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you
458 #undef HAVE_DECL_INET_NTOP
460 /* Define to 1 if you have the declaration of `localtime_r', and to 0 if you
462 #undef HAVE_DECL_LOCALTIME_R
464 /* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you
466 #undef HAVE_DECL_MBRTOWC
468 /* Define to 1 if you have the declaration of `mbsinit', and to 0 if you
470 #undef HAVE_DECL_MBSINIT
472 /* Define to 1 if you have the declaration of `mbsrtowcs', and to 0 if you
474 #undef HAVE_DECL_MBSRTOWCS
476 /* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
478 #undef HAVE_DECL_MEMMEM
480 /* Define to 1 if you have the declaration of `memrchr', and to 0 if you
482 #undef HAVE_DECL_MEMRCHR
484 /* Define to 1 if you have the declaration of `program_invocation_name', and
485 to 0 if you don't. */
486 #undef HAVE_DECL_PROGRAM_INVOCATION_NAME
488 /* Define to 1 if you have the declaration of `program_invocation_short_name',
489 and to 0 if you don't. */
490 #undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
492 /* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
494 #undef HAVE_DECL_SETENV
496 /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't.
498 #undef HAVE_DECL_STRDUP
500 /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
502 #undef HAVE_DECL_STRERROR_R
504 /* Define to 1 if you have the declaration of `strnlen', and to 0 if you
506 #undef HAVE_DECL_STRNLEN
508 /* Define to 1 if you have the declaration of `strtok_r', and to 0 if you
510 #undef HAVE_DECL_STRTOK_R
512 /* Define to 1 if you have the declaration of `towlower', and to 0 if you
514 #undef HAVE_DECL_TOWLOWER
516 /* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
518 #undef HAVE_DECL_UNSETENV
520 /* Define to 1 if you have the declaration of `wcsdup', and to 0 if you don't.
522 #undef HAVE_DECL_WCSDUP
524 /* Define to 1 if you have the declaration of `__argv', and to 0 if you don't.
526 #undef HAVE_DECL___ARGV
528 /* Define to 1 if you have the <dirent.h> header file. */
531 /* Define to 1 if you have the `dirfd' function. */
534 /* Define to 1 if you have the <dlfcn.h> header file. */
537 /* Define if you have the declaration of environ. */
538 #undef HAVE_ENVIRON_DECL
540 /* Define to 1 if you have the `faccessat' function. */
541 #undef HAVE_FACCESSAT
543 /* Define to 1 if you have the `fchdir' function. */
546 /* Define to 1 if you have the `fchown' function. */
549 /* Define to 1 if you have the `fcntl' function. */
552 /* Define to 1 if you have the `fdopendir' function. */
553 #undef HAVE_FDOPENDIR
555 /* Define to 1 if you have the <features.h> header file. */
556 #undef HAVE_FEATURES_H
558 /* Define to 1 if you have the `flockfile' function. */
559 #undef HAVE_FLOCKFILE
561 /* Define to 1 if you have the `fnmatch' function. */
564 /* Define to 1 if you have the <fnmatch.h> header file. */
565 #undef HAVE_FNMATCH_H
567 /* Define if the frexp() function is available and works. */
570 /* Define if the frexpl() function is available. */
573 /* Define to 1 if you have the `fstatat' function. */
576 /* Define to 1 if you have the `funlockfile' function. */
577 #undef HAVE_FUNLOCKFILE
579 /* Define to 1 if you have the `getcwd' function. */
582 /* Define to 1 if getcwd works, but with shorter paths than is generally
583 tested with the replacement. */
584 #undef HAVE_GETCWD_SHORTER
586 /* Define to 1 if you have the `getdelim' function. */
589 /* Define to 1 if you have the `getdtablesize' function. */
590 #undef HAVE_GETDTABLESIZE
592 /* Define to 1 if you have the `getexecname' function. */
593 #undef HAVE_GETEXECNAME
595 /* Define to 1 if you have the `getlogin_r' function. */
596 #undef HAVE_GETLOGIN_R
598 /* Define to 1 if the system has the 'getpagesize' function. */
599 #undef HAVE_GETPAGESIZE
601 /* Define to 1 if you have the `getprogname' function. */
602 #undef HAVE_GETPROGNAME
604 /* Define to 1 if you have the `getpwnam_r' function. */
605 #undef HAVE_GETPWNAM_R
607 /* Define to 1 if you have the `getrandom' function. */
608 #undef HAVE_GETRANDOM
610 /* Define to 1 if you have the `gettimeofday' function. */
611 #undef HAVE_GETTIMEOFDAY
613 /* Define to 1 if you have the `glob' function. */
616 /* Define to 1 if you have the <glob.h> header file. */
619 /* Define to 1 if you have the `glob_pattern_p' function. */
620 #undef HAVE_GLOB_PATTERN_P
622 /* Define to 1 if you have the `inet_ntop' function. */
623 #undef HAVE_INET_NTOP
625 /* Define to 1 if you have the <inttypes.h> header file. */
626 #undef HAVE_INTTYPES_H
628 /* Define to 1 if <sys/socket.h> defines AF_INET. */
631 /* Define to 1 if <sys/socket.h> defines AF_INET6. */
634 /* Define to 1 if you have the `isblank' function. */
637 /* Define if the isnan(double) function is available in libc. */
638 #undef HAVE_ISNAND_IN_LIBC
640 /* Define if the isnan(long double) function is available in libc. */
641 #undef HAVE_ISNANL_IN_LIBC
643 /* Define to 1 if you have the `iswcntrl' function. */
646 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
647 #undef HAVE_LANGINFO_CODESET
649 /* Define to 1 if the bcrypt library is guaranteed to be present. */
650 #undef HAVE_LIB_BCRYPT
652 /* Define to 1 if you have the <limits.h> header file. */
655 /* Define to 1 if you have the `link' function. */
658 /* Define to 1 if you have the `localtime_r' function. */
659 #undef HAVE_LOCALTIME_R
661 /* Define to 1 if the system has the type 'long long int'. */
662 #undef HAVE_LONG_LONG_INT
664 /* Define to 1 if you have the `lstat' function. */
667 /* Define if the 'malloc' function is POSIX compliant. */
668 #undef HAVE_MALLOC_POSIX
670 /* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
671 config.h and <sys/mman.h>. */
672 #undef HAVE_MAP_ANONYMOUS
674 /* Define to 1 if you have the <math.h> header file. */
677 /* Define to 1 if you have the `mbrtowc' function. */
680 /* Define to 1 if you have the `mbsinit' function. */
683 /* Define to 1 if you have the `mbsrtowcs' function. */
684 #undef HAVE_MBSRTOWCS
686 /* Define to 1 if <wchar.h> declares mbstate_t. */
687 #undef HAVE_MBSTATE_T
689 /* Define to 1 if you have the `mbtowc' function. */
692 /* Define to 1 if you have the `memmem' function. */
695 /* Define to 1 if you have the <memory.h> header file. */
698 /* Define to 1 if you have the `mempcpy' function. */
701 /* Define to 1 if you have the `memrchr' function. */
704 /* Define to 1 if getcwd minimally works, that is, its result can be trusted
706 #undef HAVE_MINIMALLY_WORKING_GETCWD
708 /* Define to 1 if you have the <minix/config.h> header file. */
709 #undef HAVE_MINIX_CONFIG_H
711 /* Define to 1 if <limits.h> defines the MIN and MAX macros. */
712 #undef HAVE_MINMAX_IN_LIMITS_H
714 /* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
715 #undef HAVE_MINMAX_IN_SYS_PARAM_H
717 /* Define to 1 if you have the `mkdtemp' function. */
720 /* Define to 1 if you have the `mkostemp' function. */
723 /* Define to 1 if you have the `mprotect' function. */
726 /* Define to 1 on MSVC platforms that have the "invalid parameter handler"
728 #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
730 /* Define to 1 if you have the <netdb.h> header file. */
733 /* Define to 1 if you have the <netinet/in.h> header file. */
734 #undef HAVE_NETINET_IN_H
736 /* Define to 1 if you have the `openat' function. */
739 /* Define to 1 if you have the `opendir' function. */
742 /* Define to 1 if getcwd works, except it sometimes fails when it shouldn't,
743 setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */
744 #undef HAVE_PARTLY_WORKING_GETCWD
746 /* Define to 1 if you have the `pipe' function. */
749 /* Define if you have the <pthread.h> header and the POSIX threads API. */
750 #undef HAVE_PTHREAD_API
752 /* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
753 #undef HAVE_PTHREAD_MUTEX_RECURSIVE
755 /* Define if the POSIX multithreading library has read/write locks. */
756 #undef HAVE_PTHREAD_RWLOCK
758 /* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
760 #undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
762 /* Define to 1 if you have the `rawmemchr' function. */
763 #undef HAVE_RAWMEMCHR
765 /* Define to 1 if you have the `readdir' function. */
768 /* Define to 1 if you have the `readlink' function. */
771 /* Define if the 'realloc' function is POSIX compliant. */
772 #undef HAVE_REALLOC_POSIX
774 /* Define to 1 if you have the `realpath' function. */
777 /* Define to 1 if you have the `rewinddir' function. */
778 #undef HAVE_REWINDDIR
780 /* Define to 1 if 'long double' and 'double' have the same representation. */
781 #undef HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
783 /* Define to 1 if the system has the type `sa_family_t'. */
784 #undef HAVE_SA_FAMILY_T
786 /* Define to 1 if you have the <sdkddkver.h> header file. */
787 #undef HAVE_SDKDDKVER_H
789 /* Define to 1 if you have the <search.h> header file. */
792 /* Define to 1 if you have the `setdtablesize' function. */
793 #undef HAVE_SETDTABLESIZE
795 /* Define to 1 if you have the `setenv' function. */
798 /* Define to 1 if you have the `shutdown' function. */
801 /* Define to 1 if 'sig_atomic_t' is a signed integer type. */
802 #undef HAVE_SIGNED_SIG_ATOMIC_T
804 /* Define to 1 if 'wchar_t' is a signed integer type. */
805 #undef HAVE_SIGNED_WCHAR_T
807 /* Define to 1 if 'wint_t' is a signed integer type. */
808 #undef HAVE_SIGNED_WINT_T
810 /* Define to 1 if the system has the type `sigset_t'. */
813 /* Define to 1 if you have the `snprintf' function. */
816 /* Define to 1 if you have the <stdint.h> header file. */
819 /* Define to 1 if you have the <stdlib.h> header file. */
822 /* Define to 1 if you have the `strchrnul' function. */
823 #undef HAVE_STRCHRNUL
825 /* Define to 1 if you have the `strerror_r' function. */
826 #undef HAVE_STRERROR_R
828 /* Define to 1 if you have the <strings.h> header file. */
829 #undef HAVE_STRINGS_H
831 /* Define to 1 if you have the <string.h> header file. */
834 /* Define to 1 if you have the `strtok_r' function. */
837 /* Define if there is a member named d_type in the struct describing directory
839 #undef HAVE_STRUCT_DIRENT_D_TYPE
841 /* Define to 1 if the system has the type `struct sockaddr_storage'. */
842 #undef HAVE_STRUCT_SOCKADDR_STORAGE
844 /* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
845 #undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
847 /* Define to 1 if `st_atimensec' is a member of `struct stat'. */
848 #undef HAVE_STRUCT_STAT_ST_ATIMENSEC
850 /* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
851 #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
853 /* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
854 #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
856 /* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
857 #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
859 /* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */
860 #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC
862 /* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
863 #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC
865 /* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */
866 #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC
868 /* Define to 1 if you have the `symlink' function. */
871 /* Define to 1 if you have the <sys/bitypes.h> header file. */
872 #undef HAVE_SYS_BITYPES_H
874 /* Define to 1 if you have the <sys/inttypes.h> header file. */
875 #undef HAVE_SYS_INTTYPES_H
877 /* Define to 1 if you have the <sys/mman.h> header file. */
878 #undef HAVE_SYS_MMAN_H
880 /* Define to 1 if you have the <sys/param.h> header file. */
881 #undef HAVE_SYS_PARAM_H
883 /* Define to 1 if you have the <sys/random.h> header file. */
884 #undef HAVE_SYS_RANDOM_H
886 /* Define to 1 if you have the <sys/select.h> header file. */
887 #undef HAVE_SYS_SELECT_H
889 /* Define to 1 if you have the <sys/socket.h> header file. */
890 #undef HAVE_SYS_SOCKET_H
892 /* Define to 1 if you have the <sys/stat.h> header file. */
893 #undef HAVE_SYS_STAT_H
895 /* Define to 1 if you have the <sys/time.h> header file. */
896 #undef HAVE_SYS_TIME_H
898 /* Define to 1 if you have the <sys/types.h> header file. */
899 #undef HAVE_SYS_TYPES_H
901 /* Define to 1 if you have the <sys/uio.h> header file. */
902 #undef HAVE_SYS_UIO_H
904 /* Define to 1 if you have the `thrd_create' function. */
905 #undef HAVE_THRD_CREATE
907 /* Define to 1 if you have the <threads.h> header file. */
908 #undef HAVE_THREADS_H
910 /* Define to 1 if you have the `towlower' function. */
913 /* Define to 1 if you have the `tsearch' function. */
916 /* Define to 1 if you have the <unistd.h> header file. */
919 /* Define to 1 if you have the `unsetenv' function. */
922 /* Define to 1 if the system has the type 'unsigned long long int'. */
923 #undef HAVE_UNSIGNED_LONG_LONG_INT
925 /* Define if you have a global __progname variable */
926 #undef HAVE_VAR___PROGNAME
928 /* Define to 1 or 0, depending whether the compiler supports simple visibility
930 #undef HAVE_VISIBILITY
932 /* Define to 1 if you have the <wchar.h> header file. */
935 /* Define if you have the 'wchar_t' type. */
938 /* Define to 1 if you have the <wctype.h> header file. */
941 /* Define to 1 if the compiler and linker support weak declarations of
943 #undef HAVE_WEAK_SYMBOLS
945 /* Define to 1 if you have the <windows.h> header file. */
946 #undef HAVE_WINDOWS_H
948 /* Define to 1 if you have the <winsock2.h> header file. */
949 #undef HAVE_WINSOCK2_H
951 /* Define if you have the 'wint_t' type. */
954 /* Define to 1 if you have the `wmempcpy' function. */
957 /* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX
959 #undef HAVE_WORKING_FSTATAT_ZERO_FLAG
961 /* Define to 1 if O_NOATIME works. */
962 #undef HAVE_WORKING_O_NOATIME
964 /* Define to 1 if O_NOFOLLOW works. */
965 #undef HAVE_WORKING_O_NOFOLLOW
967 /* Define to 1 if you have the <ws2tcpip.h> header file. */
968 #undef HAVE_WS2TCPIP_H
970 /* Define to 1 if you have the <xlocale.h> header file. */
971 #undef HAVE_XLOCALE_H
973 /* Define to 1 if the system has the type `_Bool'. */
976 /* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
977 #undef HAVE__SET_INVALID_PARAMETER_HANDLER
979 /* Define to 1 if the compiler supports __builtin_expect,
980 and to 2 if <builtins.h> does. */
981 #undef HAVE___BUILTIN_EXPECT
982 #ifndef HAVE___BUILTIN_EXPECT
983 # define __builtin_expect(e, c) (e)
984 #elif HAVE___BUILTIN_EXPECT == 2
985 # include <builtins.h>
989 /* Define to 1 if the compiler supports the keyword '__inline'. */
992 /* Define to 1 if you have the `__xpg_strerror_r' function. */
993 #undef HAVE___XPG_STRERROR_R
995 /* Define as the bit index in the word where to find bit 0 of the exponent of
997 #undef LDBL_EXPBIT0_BIT
999 /* Define as the word index where to find the exponent of 'long double'. */
1000 #undef LDBL_EXPBIT0_WORD
1002 /* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
1004 #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
1006 /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
1007 #undef MALLOC_0_IS_NONNULL
1009 /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
1010 #undef MAP_ANONYMOUS
1012 /* Define if the mbrtowc function does not return (size_t) -2 for empty input.
1014 #undef MBRTOWC_EMPTY_INPUT_BUG
1016 /* Define if the mbrtowc function may signal encoding errors in the C locale.
1018 #undef MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ
1020 /* Define if the mbrtowc function has the NULL pwc argument bug. */
1021 #undef MBRTOWC_NULL_ARG1_BUG
1023 /* Define if the mbrtowc function has the NULL string argument bug. */
1024 #undef MBRTOWC_NULL_ARG2_BUG
1026 /* Define if the mbrtowc function does not return 0 for a NUL character. */
1027 #undef MBRTOWC_NUL_RETVAL_BUG
1029 /* Define if the mbrtowc function returns a wrong return value. */
1030 #undef MBRTOWC_RETVAL_BUG
1032 /* Define if the mbrtowc function stores a wide character when reporting
1033 incomplete input. */
1034 #undef MBRTOWC_STORES_INCOMPLETE_BUG
1036 /* Use GNU style printf and scanf. */
1037 #ifndef __USE_MINGW_ANSI_STDIO
1038 # undef __USE_MINGW_ANSI_STDIO
1042 /* Define to 1 if open() fails to recognize a trailing slash. */
1043 #undef OPEN_TRAILING_SLASH_BUG
1045 /* Define to the address where bug reports for this package should be sent. */
1046 #undef PACKAGE_BUGREPORT
1048 /* Define to the full name of this package. */
1051 /* Define to the full name and version of this package. */
1052 #undef PACKAGE_STRING
1054 /* Define to the one symbol short name of this package. */
1055 #undef PACKAGE_TARNAME
1057 /* Define to the home page for this package. */
1060 /* Define to the version of this package. */
1061 #undef PACKAGE_VERSION
1063 /* Define to the type that is the result of default argument promotions of
1065 #undef PROMOTED_MODE_T
1067 /* Define if the pthread_in_use() detection is hard. */
1068 #undef PTHREAD_IN_USE_DETECTION_HARD
1070 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1072 #undef PTRDIFF_T_SUFFIX
1074 /* Define to 1 if readlink fails to recognize a trailing slash. */
1075 #undef READLINK_TRAILING_SLASH_BUG
1077 /* Define to 1 if readlink sets errno instead of truncating a too-long link.
1079 #undef READLINK_TRUNCATE_BUG
1081 /* Define if rename does not work when the destination file exists, as on
1082 Cygwin 1.5 or Windows. */
1083 #undef RENAME_DEST_EXISTS_BUG
1085 /* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or
1087 #undef RENAME_HARD_LINK_BUG
1089 /* Define if rename does not correctly handle slashes on the destination
1090 argument, such as on Solaris 11 or NetBSD 1.6. */
1091 #undef RENAME_TRAILING_SLASH_DEST_BUG
1093 /* Define if rename does not correctly handle slashes on the source argument,
1094 such as on Solaris 9 or cygwin 1.5. */
1095 #undef RENAME_TRAILING_SLASH_SOURCE_BUG
1097 /* Define to 1 if gnulib's dirfd() replacement is used. */
1098 #undef REPLACE_DIRFD
1100 /* Define to 1 if gnulib's fchdir() replacement is used. */
1101 #undef REPLACE_FCHDIR
1103 /* Define to 1 if stat needs help when passed a file name with a trailing
1105 #undef REPLACE_FUNC_STAT_FILE
1107 /* Define to 1 if open() should work around the inability to open a directory.
1109 #undef REPLACE_OPEN_DIRECTORY
1111 /* Define to 1 if strerror(0) does not return a message implying success. */
1112 #undef REPLACE_STRERROR_0
1114 /* Define to 1 if setlocale (LC_ALL, NULL) is multithread-safe. */
1115 #undef SETLOCALE_NULL_ALL_MTSAFE
1117 /* Define to 1 if setlocale (category, NULL) is multithread-safe. */
1118 #undef SETLOCALE_NULL_ONE_MTSAFE
1120 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1122 #undef SIG_ATOMIC_T_SUFFIX
1124 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1126 #undef SIZE_T_SUFFIX
1128 /* If using the C implementation of alloca, define if you know the
1129 direction of stack growth for your system; otherwise it will be
1130 automatically deduced at runtime.
1131 STACK_DIRECTION > 0 => grows toward higher addresses
1132 STACK_DIRECTION < 0 => grows toward lower addresses
1133 STACK_DIRECTION = 0 => direction of growth unknown */
1134 #undef STACK_DIRECTION
1136 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
1137 #undef STAT_MACROS_BROKEN
1139 /* Define to 1 if you have the ANSI C header files. */
1142 /* Define to 1 if strerror_r returns char *. */
1143 #undef STRERROR_R_CHAR_P
1145 /* Define to 1 if the type of the st_atim member of a struct stat is struct
1147 #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
1149 /* Define if the combination of the ISO C and POSIX multithreading APIs can be
1151 #undef USE_ISOC_AND_POSIX_THREADS
1153 /* Define if the ISO C multithreading library can be used. */
1154 #undef USE_ISOC_THREADS
1156 /* Define if the POSIX multithreading library can be used. */
1157 #undef USE_POSIX_THREADS
1159 /* Define if references to the POSIX multithreading library should be made
1161 #undef USE_POSIX_THREADS_WEAK
1163 /* Enable extensions on AIX 3, Interix. */
1167 /* Enable general extensions on macOS. */
1168 #ifndef _DARWIN_C_SOURCE
1169 # undef _DARWIN_C_SOURCE
1171 /* Enable general extensions on Solaris. */
1172 #ifndef __EXTENSIONS__
1173 # undef __EXTENSIONS__
1175 /* Enable GNU extensions on systems that have them. */
1179 /* Enable X/Open compliant socket functions that do not require linking
1180 with -lxnet on HP-UX 11.11. */
1181 #ifndef _HPUX_ALT_XOPEN_SOCKET_API
1182 # undef _HPUX_ALT_XOPEN_SOCKET_API
1184 /* Identify the host operating system as Minix.
1185 This macro does not affect the system headers' behavior.
1186 A future release of Autoconf may stop defining this macro. */
1190 /* Enable general extensions on NetBSD.
1191 Enable NetBSD compatibility extensions on Minix. */
1192 #ifndef _NETBSD_SOURCE
1193 # undef _NETBSD_SOURCE
1195 /* Enable OpenBSD compatibility extensions on NetBSD.
1196 Oddly enough, this does nothing on OpenBSD. */
1197 #ifndef _OPENBSD_SOURCE
1198 # undef _OPENBSD_SOURCE
1200 /* Define to 1 if needed for POSIX-compatible behavior. */
1201 #ifndef _POSIX_SOURCE
1202 # undef _POSIX_SOURCE
1204 /* Define to 2 if needed for POSIX-compatible behavior. */
1205 #ifndef _POSIX_1_SOURCE
1206 # undef _POSIX_1_SOURCE
1208 /* Enable POSIX-compatible threading on Solaris. */
1209 #ifndef _POSIX_PTHREAD_SEMANTICS
1210 # undef _POSIX_PTHREAD_SEMANTICS
1212 /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
1213 #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
1214 # undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
1216 /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
1217 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
1218 # undef __STDC_WANT_IEC_60559_BFP_EXT__
1220 /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
1221 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
1222 # undef __STDC_WANT_IEC_60559_DFP_EXT__
1224 /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
1225 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
1226 # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
1228 /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
1229 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
1230 # undef __STDC_WANT_IEC_60559_TYPES_EXT__
1232 /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
1233 #ifndef __STDC_WANT_LIB_EXT2__
1234 # undef __STDC_WANT_LIB_EXT2__
1236 /* Enable extensions specified by ISO/IEC 24747:2009. */
1237 #ifndef __STDC_WANT_MATH_SPEC_FUNCS__
1238 # undef __STDC_WANT_MATH_SPEC_FUNCS__
1240 /* Enable extensions on HP NonStop. */
1241 #ifndef _TANDEM_SOURCE
1242 # undef _TANDEM_SOURCE
1244 /* Enable X/Open extensions. Define to 500 only if necessary
1245 to make mbstate_t available. */
1246 #ifndef _XOPEN_SOURCE
1247 # undef _XOPEN_SOURCE
1251 /* Define if the native Windows multithreading API can be used. */
1252 #undef USE_WINDOWS_THREADS
1254 /* Define to 1 if unsetenv returns void instead of int. */
1255 #undef VOID_UNSETENV
1257 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1259 #undef WCHAR_T_SUFFIX
1261 /* Define if WSAStartup is needed. */
1262 #undef WINDOWS_SOCKETS
1264 /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1266 #undef WINT_T_SUFFIX
1268 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1269 significant byte first (like Motorola and SPARC, unlike Intel). */
1270 #if defined AC_APPLE_UNIVERSAL_BUILD
1271 # if defined __BIG_ENDIAN__
1272 # define WORDS_BIGENDIAN 1
1275 # ifndef WORDS_BIGENDIAN
1276 # undef WORDS_BIGENDIAN
1280 /* Number of bits in a file offset, on hosts where this is settable. */
1281 #undef _FILE_OFFSET_BITS
1283 /* True if the compiler says it groks GNU C version MAJOR.MINOR. */
1284 #if defined __GNUC__ && defined __GNUC_MINOR__
1285 # define _GL_GNUC_PREREQ(major, minor) \
1286 ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
1288 # define _GL_GNUC_PREREQ(major, minor) 0
1292 /* Define to enable the declarations of ISO C 11 types and functions. */
1293 #undef _ISOC11_SOURCE
1295 /* Define for large files, on AIX-style hosts. */
1298 /* Define to 1 on Solaris. */
1301 /* The _Noreturn keyword of C11. */
1303 # if (defined __cplusplus \
1304 && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
1305 || (defined _MSC_VER && 1900 <= _MSC_VER)) \
1307 /* [[noreturn]] is not practically usable, because with it the syntax
1308 extern _Noreturn void func (...);
1309 would not be valid; such a declaration would only be valid with 'extern'
1310 and '_Noreturn' swapped, or without the 'extern' keyword. However, some
1311 AIX system header files and several gnulib header files use precisely
1312 this syntax with 'extern'. */
1313 # define _Noreturn [[noreturn]]
1314 # elif ((!defined __cplusplus || defined __clang__) \
1315 && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
1316 || _GL_GNUC_PREREQ (4, 7) \
1317 || (defined __apple_build_version__ \
1318 ? 6000000 <= __apple_build_version__ \
1319 : 3 < __clang_major__ + (5 <= __clang_minor__))))
1320 /* _Noreturn works as-is. */
1321 # elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
1322 # define _Noreturn __attribute__ ((__noreturn__))
1323 # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
1324 # define _Noreturn __declspec (noreturn)
1331 /* Define to 1 in order to get the POSIX compatible declarations of socket
1333 #undef _POSIX_PII_SOCKET
1335 /* For standard stat data types on VMS. */
1336 #undef _USE_STD_STAT
1338 /* Define to 1 if the system <stdint.h> predates C++11. */
1339 #undef __STDC_CONSTANT_MACROS
1341 /* Define to 1 if the system <stdint.h> predates C++11. */
1342 #undef __STDC_LIMIT_MACROS
1344 /* The _GL_ASYNC_SAFE marker should be attached to functions that are
1345 signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
1346 invoked from such signal handlers. Such functions have some restrictions:
1347 * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
1348 or should be listed as async-signal-safe in POSIX
1349 <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
1350 section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in
1351 particular, are NOT async-signal-safe.
1352 * All memory locations (variables and struct fields) that these functions
1353 access must be marked 'volatile'. This holds for both read and write
1354 accesses. Otherwise the compiler might optimize away stores to and
1355 reads from such locations that occur in the program, depending on its
1356 data flow analysis. For example, when the program contains a loop
1357 that is intended to inspect a variable set from within a signal handler
1358 while (!signal_occurred)
1360 the compiler is allowed to transform this into an endless loop if the
1361 variable 'signal_occurred' is not declared 'volatile'.
1362 Additionally, recall that:
1363 * A signal handler should not modify errno (except if it is a handler
1364 for a fatal signal and ends by raising the same signal again, thus
1365 provoking the termination of the process). If it invokes a function
1366 that may clobber errno, it needs to save and restore the value of
1368 #define _GL_ASYNC_SAFE
1372 #ifdef __has_attribute
1373 # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
1375 # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
1376 # define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
1377 # define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
1378 # define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
1379 # define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
1380 # define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
1381 # define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
1382 # define _GL_ATTR_diagnose_if 0
1383 # define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
1384 # define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
1385 # define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
1386 # define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
1387 # define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
1389 # define _GL_ATTR_may_alias 0
1391 # define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
1393 # define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
1394 # define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
1395 # define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
1396 # define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
1397 # define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
1398 # define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
1399 # define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
1400 # define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
1401 # define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
1402 # define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
1403 # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
1407 #if _GL_HAS_ATTRIBUTE (alloc_size)
1408 # define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
1410 # define _GL_ATTRIBUTE_ALLOC_SIZE(args)
1413 #if _GL_HAS_ATTRIBUTE (always_inline)
1414 # define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
1416 # define _GL_ATTRIBUTE_ALWAYS_INLINE
1419 #if _GL_HAS_ATTRIBUTE (artificial)
1420 # define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
1422 # define _GL_ATTRIBUTE_ARTIFICIAL
1425 /* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
1426 <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
1427 Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */
1428 #if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
1430 # define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
1432 # define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
1435 # define _GL_ATTRIBUTE_COLD
1438 #if _GL_HAS_ATTRIBUTE (const)
1439 # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
1441 # define _GL_ATTRIBUTE_CONST
1444 #if 201710L < __STDC_VERSION__
1445 # define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
1446 #elif _GL_HAS_ATTRIBUTE (deprecated)
1447 # define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
1449 # define _GL_ATTRIBUTE_DEPRECATED
1452 #if _GL_HAS_ATTRIBUTE (error)
1453 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
1454 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
1455 #elif _GL_HAS_ATTRIBUTE (diagnose_if)
1456 # define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
1457 # define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
1459 # define _GL_ATTRIBUTE_ERROR(msg)
1460 # define _GL_ATTRIBUTE_WARNING(msg)
1463 #if _GL_HAS_ATTRIBUTE (externally_visible)
1464 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
1466 # define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
1469 /* FALLTHROUGH is special, because it always expands to something. */
1470 #if 201710L < __STDC_VERSION__
1471 # define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
1472 #elif _GL_HAS_ATTRIBUTE (fallthrough)
1473 # define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
1475 # define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
1478 #if _GL_HAS_ATTRIBUTE (format)
1479 # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
1481 # define _GL_ATTRIBUTE_FORMAT(spec)
1484 #if _GL_HAS_ATTRIBUTE (leaf)
1485 # define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
1487 # define _GL_ATTRIBUTE_LEAF
1490 /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */
1491 #if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
1492 # define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
1494 # define _GL_ATTRIBUTE_MAY_ALIAS
1497 #if 201710L < __STDC_VERSION__
1498 # define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
1499 #elif _GL_HAS_ATTRIBUTE (unused)
1500 # define _GL_ATTRIBUTE_MAYBE_UNUSED __attribute__ ((__unused__))
1502 # define _GL_ATTRIBUTE_MAYBE_UNUSED
1504 /* Earlier spellings of this macro. */
1505 #define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
1506 #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
1508 #if _GL_HAS_ATTRIBUTE (malloc)
1509 # define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
1511 # define _GL_ATTRIBUTE_MALLOC
1514 #if 201710L < __STDC_VERSION__
1515 # define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
1516 #elif _GL_HAS_ATTRIBUTE (warn_unused_result)
1517 # define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
1519 # define _GL_ATTRIBUTE_NODISCARD
1522 #if _GL_HAS_ATTRIBUTE (noinline)
1523 # define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
1525 # define _GL_ATTRIBUTE_NOINLINE
1528 #if _GL_HAS_ATTRIBUTE (nonnull)
1529 # define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
1531 # define _GL_ATTRIBUTE_NONNULL(args)
1534 #if _GL_HAS_ATTRIBUTE (nonstring)
1535 # define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
1537 # define _GL_ATTRIBUTE_NONSTRING
1540 /* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */
1542 #if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
1543 # define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
1545 # define _GL_ATTRIBUTE_NOTHROW
1548 #if _GL_HAS_ATTRIBUTE (packed)
1549 # define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
1551 # define _GL_ATTRIBUTE_PACKED
1554 #if _GL_HAS_ATTRIBUTE (pure)
1555 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
1557 # define _GL_ATTRIBUTE_PURE
1560 #if _GL_HAS_ATTRIBUTE (returns_nonnull)
1561 # define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
1563 # define _GL_ATTRIBUTE_RETURNS_NONNULL
1566 #if _GL_HAS_ATTRIBUTE (sentinel)
1567 # define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
1569 # define _GL_ATTRIBUTE_SENTINEL(pos)
1573 /* To support C++ as well as C, use _GL_UNUSED_LABEL with trailing ';'. */
1574 #if !defined __cplusplus || _GL_GNUC_PREREQ (4, 5)
1575 # define _GL_UNUSED_LABEL _GL_ATTRIBUTE_MAYBE_UNUSED
1577 # define _GL_UNUSED_LABEL
1581 /* Please see the Gnulib manual for how to use these macros.
1583 Suppress extern inline with HP-UX cc, as it appears to be broken; see
1584 <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
1586 Suppress extern inline with Sun C in standards-conformance mode, as it
1587 mishandles inline functions that call each other. E.g., for 'inline void f
1588 (void) { } inline void g (void) { f (); }', c99 incorrectly complains
1589 'reference to static identifier "f" in extern inline function'.
1590 This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
1592 Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
1593 on configurations that mistakenly use 'static inline' to implement
1594 functions or macros in standard C headers like <ctype.h>. For example,
1595 if isdigit is mistakenly implemented via a static inline function,
1596 a program containing an extern inline function that calls isdigit
1597 may not work since the C standard prohibits extern inline functions
1598 from calling static functions (ISO C 99 section 6.7.4.(3).
1599 This bug is known to occur on:
1601 OS X 10.8 and earlier; see:
1602 https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
1605 http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
1608 https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
1610 OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
1611 for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
1612 Assume DragonFly and FreeBSD will be similar.
1614 GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
1615 inline semantics, unless -fgnu89-inline is used. It defines a macro
1616 __GNUC_STDC_INLINE__ to indicate this situation or a macro
1617 __GNUC_GNU_INLINE__ to indicate the opposite situation.
1618 GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
1619 semantics but warns, unless -fgnu89-inline is used:
1620 warning: C99 inline functions are not supported; using GNU89
1621 warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
1622 It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
1624 #if (((defined __APPLE__ && defined __MACH__) \
1625 || defined __DragonFly__ || defined __FreeBSD__) \
1626 && (defined __header_inline \
1627 ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
1628 && ! defined __clang__) \
1629 : ((! defined _DONT_USE_CTYPE_INLINE_ \
1630 && (defined __GNUC__ || defined __cplusplus)) \
1631 || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
1632 && defined __GNUC__ && ! defined __cplusplus))))
1633 # define _GL_EXTERN_INLINE_STDHEADER_BUG
1636 ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
1637 : (199901L <= __STDC_VERSION__ \
1638 && !defined __HP_cc \
1640 && !(defined __SUNPRO_C && __STDC__))) \
1641 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
1642 # define _GL_INLINE inline
1643 # define _GL_EXTERN_INLINE extern inline
1644 # define _GL_EXTERN_INLINE_IN_USE
1645 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
1646 && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
1647 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
1648 /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
1649 # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
1651 # define _GL_INLINE extern inline
1653 # define _GL_EXTERN_INLINE extern
1654 # define _GL_EXTERN_INLINE_IN_USE
1656 # define _GL_INLINE static _GL_UNUSED
1657 # define _GL_EXTERN_INLINE static _GL_UNUSED
1660 /* In GCC 4.6 (inclusive) to 5.1 (exclusive),
1661 suppress bogus "no previous prototype for 'FOO'"
1662 and "no previous declaration for 'FOO'" diagnostics,
1663 when FOO is an inline function in the header; see
1664 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
1665 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>. */
1666 #if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
1667 # if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
1668 # define _GL_INLINE_HEADER_CONST_PRAGMA
1670 # define _GL_INLINE_HEADER_CONST_PRAGMA \
1671 _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
1673 # define _GL_INLINE_HEADER_BEGIN \
1674 _Pragma ("GCC diagnostic push") \
1675 _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
1676 _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
1677 _GL_INLINE_HEADER_CONST_PRAGMA
1678 # define _GL_INLINE_HEADER_END \
1679 _Pragma ("GCC diagnostic pop")
1681 # define _GL_INLINE_HEADER_BEGIN
1682 # define _GL_INLINE_HEADER_END
1685 /* Define to `int' if <sys/types.h> doesn't define. */
1688 /* Define to `__inline__' or `__inline' if that's what the C compiler
1689 calls it, or to nothing if 'inline' is not supported under any name. */
1694 /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
1695 the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
1696 earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
1697 __APPLE__ && __MACH__ test for Mac OS X.
1698 __APPLE_CC__ tests for the Apple compiler and its version.
1699 __STDC_VERSION__ tests for the C99 mode. */
1700 #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
1701 # define __GNUC_STDC_INLINE__ 1
1704 /* Define to a type if <wchar.h> does not define. */
1707 /* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
1708 n1 and n2 are expressions without side effects, that evaluate to real
1709 numbers (excluding NaN).
1714 The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional
1715 jump with nearly all GCC versions up to GCC 10.
1716 This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many
1717 GCC versions up to GCC 9.
1718 The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9
1719 avoids conditional jumps in all GCC versions >= 3.4. */
1720 #define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
1723 /* Define to `int' if <sys/types.h> does not define. */
1726 /* Define to the type of st_nlink in struct stat, or a supertype. */
1729 /* Define as a signed integer type capable of holding a process identifier. */
1732 /* Define to the equivalent of the C99 'restrict' keyword, or to
1733 nothing if this is not supported. Do not define if restrict is
1734 supported only directly. */
1736 /* Work around a bug in older versions of Sun C++, which did not
1737 #define __restrict__ or support _Restrict or __restrict__
1738 even though the corresponding Sun C compiler ended up with
1739 "#define restrict _Restrict" or "#define restrict __restrict__"
1740 in the previous line. This workaround can be removed once
1741 we assume Oracle Developer Studio 12.5 (2016) or later. */
1742 #if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
1744 # define __restrict__
1747 /* Define to `unsigned int' if <sys/types.h> does not define. */
1750 /* type to use in place of socklen_t if not defined */
1753 /* Define as a signed type of the same size as size_t. */
1756 /* Define to `int' if <sys/types.h> doesn't define. */