This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
win32: remove support for disabling USE_LARGE_FILES
[perl5.git] / win32 / config_H.gc
CommitLineData
840565a7 1/* This file was produced by running the config_h.SH script, which
3789aae2 2 * gets its values from undef, which is generally produced by
a835ef8a
NIS
3 * running Configure.
4 *
5 * Feel free to modify any of this as the need arises. Note, however,
6 * that running config_h.SH again will wipe out any changes you've made.
3789aae2 7 * For a more permanent change edit undef and rerun config_h.SH.
a835ef8a
NIS
8 */
9
840565a7 10/* Package name : perl5
07ba5892 11 * Source directory :
f65cb320 12 * Configuration time: Tue Oct 17 08:44:03 2017
ec2a15bb 13 * Configured by : shay
924b3ec4 14 * Target system :
a835ef8a
NIS
15 */
16
17#ifndef _config_h_
18#define _config_h_
19
924b3ec4
GS
20/* LOC_SED:
21 * This symbol holds the complete pathname to the sed program.
a835ef8a 22 */
924b3ec4 23#define LOC_SED "" /**/
a835ef8a 24
a835ef8a
NIS
25/* HAS_ALARM:
26 * This symbol, if defined, indicates that the alarm routine is
27 * available.
28 */
1018e26f 29#define HAS_ALARM /**/
a835ef8a 30
f65cb320
SH
31/* HAS_CBRT:
32 * This symbol, if defined, indicates that the cbrt() (cube root)
33 * function is available.
34 */
e743028e 35#define HAS_CBRT /**/
f65cb320 36
a835ef8a
NIS
37/* HAS_CHOWN:
38 * This symbol, if defined, indicates that the chown routine is
39 * available.
40 */
f3b9bb7d 41/*#define HAS_CHOWN / **/
a835ef8a
NIS
42
43/* HAS_CHROOT:
44 * This symbol, if defined, indicates that the chroot routine is
45 * available.
46 */
f3b9bb7d 47/*#define HAS_CHROOT / **/
a835ef8a
NIS
48
49/* HAS_CHSIZE:
50 * This symbol, if defined, indicates that the chsize routine is available
51 * to truncate files. You might need a -lx to get this routine.
52 */
53#define HAS_CHSIZE /**/
54
4b7e285e
JD
55/* HAS_CRYPT:
56 * This symbol, if defined, indicates that the crypt routine is available
57 * to encrypt passwords and the like.
58 */
840565a7 59#define HAS_CRYPT /**/
4b7e285e 60
040f0b05
SH
61/* HAS_CTERMID:
62 * This symbol, if defined, indicates that the ctermid routine is
63 * available to generate filename for terminal.
64 */
f3b9bb7d 65/*#define HAS_CTERMID / **/
040f0b05 66
a835ef8a
NIS
67/* HAS_CUSERID:
68 * This symbol, if defined, indicates that the cuserid routine is
69 * available to get character login names.
70 */
f3b9bb7d 71/*#define HAS_CUSERID / **/
a835ef8a 72
a835ef8a
NIS
73/* HAS_DIFFTIME:
74 * This symbol, if defined, indicates that the difftime routine is
75 * available.
76 */
77#define HAS_DIFFTIME /**/
78
79/* HAS_DLERROR:
80 * This symbol, if defined, indicates that the dlerror routine is
81 * available to return a string describing the last error that
82 * occurred from a call to dlopen(), dlclose() or dlsym().
83 */
84#define HAS_DLERROR /**/
85
86/* HAS_DUP2:
87 * This symbol, if defined, indicates that the dup2 routine is
88 * available to duplicate file descriptors.
89 */
90#define HAS_DUP2 /**/
91
92/* HAS_FCHMOD:
93 * This symbol, if defined, indicates that the fchmod routine is available
94 * to change mode of opened files. If unavailable, use chmod().
95 */
f3b9bb7d 96/*#define HAS_FCHMOD / **/
a835ef8a
NIS
97
98/* HAS_FCHOWN:
99 * This symbol, if defined, indicates that the fchown routine is available
100 * to change ownership of opened files. If unavailable, use chown().
101 */
f3b9bb7d 102/*#define HAS_FCHOWN / **/
a835ef8a
NIS
103
104/* HAS_FCNTL:
105 * This symbol, if defined, indicates to the C program that
106 * the fcntl() function exists.
107 */
f3b9bb7d 108/*#define HAS_FCNTL / **/
a835ef8a
NIS
109
110/* HAS_FGETPOS:
111 * This symbol, if defined, indicates that the fgetpos routine is
112 * available to get the file position indicator, similar to ftell().
113 */
114#define HAS_FGETPOS /**/
115
a835ef8a
NIS
116/* HAS_FLOCK:
117 * This symbol, if defined, indicates that the flock routine is
118 * available to do file locking.
119 */
120#define HAS_FLOCK /**/
121
122/* HAS_FORK:
123 * This symbol, if defined, indicates that the fork routine is
124 * available.
125 */
f3b9bb7d 126/*#define HAS_FORK / **/
a835ef8a
NIS
127
128/* HAS_FSETPOS:
129 * This symbol, if defined, indicates that the fsetpos routine is
130 * available to set the file position indicator, similar to fseek().
131 */
132#define HAS_FSETPOS /**/
133
134/* HAS_GETTIMEOFDAY:
135 * This symbol, if defined, indicates that the gettimeofday() system
136 * call is available for a sub-second accuracy clock. Usually, the file
137 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
138 * The type "Timeval" should be used to refer to "struct timeval".
139 */
57ab3dfe 140#define HAS_GETTIMEOFDAY /**/
a835ef8a
NIS
141#ifdef HAS_GETTIMEOFDAY
142#define Timeval struct timeval /* Structure used by gettimeofday() */
143#endif
144
145/* HAS_GETGROUPS:
146 * This symbol, if defined, indicates that the getgroups() routine is
147 * available to get the list of process groups. If unavailable, multiple
148 * groups are probably not supported.
149 */
f3b9bb7d 150/*#define HAS_GETGROUPS / **/
a835ef8a 151
a835ef8a
NIS
152/* HAS_GETLOGIN:
153 * This symbol, if defined, indicates that the getlogin routine is
154 * available to get the login name.
155 */
e34ffe5a 156#define HAS_GETLOGIN /**/
a835ef8a 157
924b3ec4 158/* HAS_GETPGID:
f65cb320 159 * This symbol, if defined, indicates to the C program that
924b3ec4
GS
160 * the getpgid(pid) function is available to get the
161 * process group id.
162 */
f3b9bb7d 163/*#define HAS_GETPGID / **/
924b3ec4 164
a835ef8a
NIS
165/* HAS_GETPGRP2:
166 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
167 * routine is available to get the current process group.
168 */
f3b9bb7d 169/*#define HAS_GETPGRP2 / **/
a835ef8a
NIS
170
171/* HAS_GETPPID:
172 * This symbol, if defined, indicates that the getppid routine is
173 * available to get the parent process ID.
174 */
f3b9bb7d 175/*#define HAS_GETPPID / **/
a835ef8a
NIS
176
177/* HAS_GETPRIORITY:
178 * This symbol, if defined, indicates that the getpriority routine is
179 * available to get a process's priority.
180 */
f3b9bb7d 181/*#define HAS_GETPRIORITY / **/
a835ef8a 182
924b3ec4
GS
183/* HAS_INET_ATON:
184 * This symbol, if defined, indicates to the C program that the
185 * inet_aton() function is available to parse IP address "dotted-quad"
186 * strings.
a835ef8a 187 */
f3b9bb7d 188/*#define HAS_INET_ATON / **/
a835ef8a
NIS
189
190/* HAS_KILLPG:
191 * This symbol, if defined, indicates that the killpg routine is available
192 * to kill process groups. If unavailable, you probably should use kill
193 * with a negative process number.
194 */
542cb85f 195#define HAS_KILLPG /**/
a835ef8a
NIS
196
197/* HAS_LINK:
198 * This symbol, if defined, indicates that the link routine is
199 * available to create hard links.
200 */
6b980173 201#define HAS_LINK /**/
a835ef8a
NIS
202
203/* HAS_LOCALECONV:
204 * This symbol, if defined, indicates that the localeconv routine is
205 * available for numeric and monetary formatting conventions.
206 */
207#define HAS_LOCALECONV /**/
208
209/* HAS_LOCKF:
210 * This symbol, if defined, indicates that the lockf routine is
211 * available to do file locking.
212 */
f3b9bb7d 213/*#define HAS_LOCKF / **/
a835ef8a
NIS
214
215/* HAS_LSTAT:
216 * This symbol, if defined, indicates that the lstat routine is
217 * available to do file stats on symbolic links.
218 */
f3b9bb7d 219/*#define HAS_LSTAT / **/
a835ef8a
NIS
220
221/* HAS_MBLEN:
222 * This symbol, if defined, indicates that the mblen routine is available
f1460a66 223 * to find the number of bytes in a multibyte character.
a835ef8a
NIS
224 */
225#define HAS_MBLEN /**/
226
227/* HAS_MBSTOWCS:
228 * This symbol, if defined, indicates that the mbstowcs routine is
93c08870 229 * available to convert a multibyte string into a wide character string.
a835ef8a
NIS
230 */
231#define HAS_MBSTOWCS /**/
232
233/* HAS_MBTOWC:
234 * This symbol, if defined, indicates that the mbtowc routine is available
93c08870 235 * to convert a multibyte to a wide character.
a835ef8a
NIS
236 */
237#define HAS_MBTOWC /**/
238
a835ef8a
NIS
239/* HAS_MKDIR:
240 * This symbol, if defined, indicates that the mkdir routine is available
241 * to create directories. Otherwise you should fork off a new process to
242 * exec /bin/mkdir.
243 */
244#define HAS_MKDIR /**/
245
246/* HAS_MKFIFO:
247 * This symbol, if defined, indicates that the mkfifo routine is
248 * available to create FIFOs. Otherwise, mknod should be able to
249 * do it for you. However, if mkfifo is there, mknod might require
250 * super-user privileges which mkfifo will not.
251 */
f3b9bb7d 252/*#define HAS_MKFIFO / **/
a835ef8a
NIS
253
254/* HAS_MKTIME:
255 * This symbol, if defined, indicates that the mktime routine is
256 * available.
257 */
258#define HAS_MKTIME /**/
259
ac135a7c
GS
260/* HAS_MSYNC:
261 * This symbol, if defined, indicates that the msync system call is
262 * available to synchronize a mapped file.
263 */
f3b9bb7d 264/*#define HAS_MSYNC / **/
ac135a7c
GS
265
266/* HAS_MUNMAP:
267 * This symbol, if defined, indicates that the munmap system call is
268 * available to unmap a region, usually mapped by mmap().
269 */
f3b9bb7d 270/*#define HAS_MUNMAP / **/
ac135a7c 271
a835ef8a
NIS
272/* HAS_NICE:
273 * This symbol, if defined, indicates that the nice routine is
274 * available.
275 */
f3b9bb7d 276/*#define HAS_NICE / **/
a835ef8a 277
a835ef8a
NIS
278/* HAS_PATHCONF:
279 * This symbol, if defined, indicates that pathconf() is available
280 * to determine file-system related limits and options associated
281 * with a given filename.
282 */
283/* HAS_FPATHCONF:
284 * This symbol, if defined, indicates that pathconf() is available
285 * to determine file-system related limits and options associated
286 * with a given open file descriptor.
287 */
f3b9bb7d 288/*#define HAS_PATHCONF / **/
289/*#define HAS_FPATHCONF / **/
a835ef8a
NIS
290
291/* HAS_PAUSE:
292 * This symbol, if defined, indicates that the pause routine is
293 * available to suspend a process until a signal is received.
294 */
295#define HAS_PAUSE /**/
296
297/* HAS_PIPE:
298 * This symbol, if defined, indicates that the pipe routine is
299 * available to create an inter-process channel.
300 */
301#define HAS_PIPE /**/
302
4b7e285e
JD
303/* HAS_POLL:
304 * This symbol, if defined, indicates that the poll routine is
305 * available to poll active file descriptors. Please check I_POLL and
306 * I_SYS_POLL to know which header should be included as well.
307 */
f3b9bb7d 308/*#define HAS_POLL / **/
4b7e285e 309
a835ef8a
NIS
310/* HAS_READDIR:
311 * This symbol, if defined, indicates that the readdir routine is
312 * available to read directory entries. You may have to include
313 * <dirent.h>. See I_DIRENT.
314 */
315#define HAS_READDIR /**/
316
317/* HAS_SEEKDIR:
318 * This symbol, if defined, indicates that the seekdir routine is
319 * available. You may have to include <dirent.h>. See I_DIRENT.
320 */
321#define HAS_SEEKDIR /**/
322
323/* HAS_TELLDIR:
324 * This symbol, if defined, indicates that the telldir routine is
325 * available. You may have to include <dirent.h>. See I_DIRENT.
326 */
327#define HAS_TELLDIR /**/
328
329/* HAS_REWINDDIR:
330 * This symbol, if defined, indicates that the rewinddir routine is
331 * available. You may have to include <dirent.h>. See I_DIRENT.
332 */
333#define HAS_REWINDDIR /**/
334
335/* HAS_READLINK:
336 * This symbol, if defined, indicates that the readlink routine is
337 * available to read the value of a symbolic link.
338 */
f3b9bb7d 339/*#define HAS_READLINK / **/
a835ef8a 340
f65cb320
SH
341/* HAS_REGCOMP:
342 * This symbol, if defined, indicates that the regcomp() routine is
4357af6c 343 * available to do some regular pattern matching (usually on POSIX.2
f65cb320
SH
344 * conforming systems).
345 */
346/*#define HAS_REGCOMP / * POSIX.2 */
347
a835ef8a
NIS
348/* HAS_RENAME:
349 * This symbol, if defined, indicates that the rename routine is available
350 * to rename files. Otherwise you should do the unlink(), link(), unlink()
351 * trick.
352 */
353#define HAS_RENAME /**/
354
355/* HAS_RMDIR:
356 * This symbol, if defined, indicates that the rmdir routine is
357 * available to remove directories. Otherwise you should fork off a
358 * new process to exec /bin/rmdir.
359 */
360#define HAS_RMDIR /**/
361
a835ef8a
NIS
362/* HAS_SELECT:
363 * This symbol, if defined, indicates that the select routine is
364 * available to select active file descriptors. If the timeout field
365 * is used, <sys/time.h> may need to be included.
366 */
367#define HAS_SELECT /**/
368
a835ef8a
NIS
369/* HAS_SETEGID:
370 * This symbol, if defined, indicates that the setegid routine is available
371 * to change the effective gid of the current program.
372 */
f3b9bb7d 373/*#define HAS_SETEGID / **/
a835ef8a
NIS
374
375/* HAS_SETEUID:
376 * This symbol, if defined, indicates that the seteuid routine is available
377 * to change the effective uid of the current program.
378 */
f3b9bb7d 379/*#define HAS_SETEUID / **/
a835ef8a 380
4b7e285e
JD
381/* HAS_SETGROUPS:
382 * This symbol, if defined, indicates that the setgroups() routine is
383 * available to set the list of process groups. If unavailable, multiple
384 * groups are probably not supported.
385 */
f3b9bb7d 386/*#define HAS_SETGROUPS / **/
4b7e285e 387
a835ef8a
NIS
388/* HAS_SETLINEBUF:
389 * This symbol, if defined, indicates that the setlinebuf routine is
390 * available to change stderr or stdout from block-buffered or unbuffered
391 * to a line-buffered mode.
392 */
f3b9bb7d 393/*#define HAS_SETLINEBUF / **/
a835ef8a
NIS
394
395/* HAS_SETLOCALE:
396 * This symbol, if defined, indicates that the setlocale routine is
397 * available to handle locale-specific ctype implementations.
398 */
399#define HAS_SETLOCALE /**/
400
924b3ec4
GS
401/* HAS_SETPGID:
402 * This symbol, if defined, indicates that the setpgid(pid, gpid)
403 * routine is available to set process group ID.
404 */
f3b9bb7d 405/*#define HAS_SETPGID / **/
924b3ec4 406
a835ef8a
NIS
407/* HAS_SETPGRP2:
408 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
409 * routine is available to set the current process group.
410 */
f3b9bb7d 411/*#define HAS_SETPGRP2 / **/
a835ef8a
NIS
412
413/* HAS_SETPRIORITY:
414 * This symbol, if defined, indicates that the setpriority routine is
415 * available to set a process's priority.
416 */
f3b9bb7d 417/*#define HAS_SETPRIORITY / **/
a835ef8a
NIS
418
419/* HAS_SETREGID:
420 * This symbol, if defined, indicates that the setregid routine is
421 * available to change the real and effective gid of the current
422 * process.
423 */
424/* HAS_SETRESGID:
425 * This symbol, if defined, indicates that the setresgid routine is
426 * available to change the real, effective and saved gid of the current
427 * process.
428 */
f3b9bb7d 429/*#define HAS_SETREGID / **/
430/*#define HAS_SETRESGID / **/
a835ef8a
NIS
431
432/* HAS_SETREUID:
433 * This symbol, if defined, indicates that the setreuid routine is
434 * available to change the real and effective uid of the current
435 * process.
436 */
437/* HAS_SETRESUID:
438 * This symbol, if defined, indicates that the setresuid routine is
439 * available to change the real, effective and saved uid of the current
440 * process.
441 */
f3b9bb7d 442/*#define HAS_SETREUID / **/
443/*#define HAS_SETRESUID / **/
a835ef8a
NIS
444
445/* HAS_SETRGID:
446 * This symbol, if defined, indicates that the setrgid routine is available
447 * to change the real gid of the current program.
448 */
f3b9bb7d 449/*#define HAS_SETRGID / **/
a835ef8a
NIS
450
451/* HAS_SETRUID:
452 * This symbol, if defined, indicates that the setruid routine is available
453 * to change the real uid of the current program.
454 */
f3b9bb7d 455/*#define HAS_SETRUID / **/
a835ef8a
NIS
456
457/* HAS_SETSID:
458 * This symbol, if defined, indicates that the setsid routine is
459 * available to set the process group ID.
460 */
f3b9bb7d 461/*#define HAS_SETSID / **/
a835ef8a 462
f65cb320
SH
463/* HAS_STAT:
464 * This symbol, if defined, indicates that the stat routine is
465 * available to get file status.
466 */
467#define HAS_STAT /**/
468
924b3ec4
GS
469/* HAS_STRCOLL:
470 * This symbol, if defined, indicates that the strcoll routine is
471 * available to compare strings using collating information.
a835ef8a 472 */
924b3ec4
GS
473#define HAS_STRCOLL /**/
474
a835ef8a
NIS
475/* HAS_STRTOD:
476 * This symbol, if defined, indicates that the strtod routine is
477 * available to provide better numeric string conversion than atof().
478 */
479#define HAS_STRTOD /**/
480
481/* HAS_STRTOL:
482 * This symbol, if defined, indicates that the strtol routine is available
483 * to provide better numeric string conversion than atoi() and friends.
484 */
485#define HAS_STRTOL /**/
486
a835ef8a
NIS
487/* HAS_STRXFRM:
488 * This symbol, if defined, indicates that the strxfrm() routine is
489 * available to transform strings.
490 */
491#define HAS_STRXFRM /**/
492
493/* HAS_SYMLINK:
494 * This symbol, if defined, indicates that the symlink routine is available
495 * to create symbolic links.
496 */
f3b9bb7d 497/*#define HAS_SYMLINK / **/
a835ef8a
NIS
498
499/* HAS_SYSCALL:
500 * This symbol, if defined, indicates that the syscall routine is
501 * available to call arbitrary system calls. If undefined, that's tough.
502 */
f3b9bb7d 503/*#define HAS_SYSCALL / **/
a835ef8a
NIS
504
505/* HAS_SYSCONF:
506 * This symbol, if defined, indicates that sysconf() is available
507 * to determine system related limits and options.
508 */
f3b9bb7d 509/*#define HAS_SYSCONF / **/
a835ef8a
NIS
510
511/* HAS_SYSTEM:
512 * This symbol, if defined, indicates that the system routine is
513 * available to issue a shell command.
514 */
515#define HAS_SYSTEM /**/
516
517/* HAS_TCGETPGRP:
518 * This symbol, if defined, indicates that the tcgetpgrp routine is
519 * available to get foreground process group ID.
520 */
f3b9bb7d 521/*#define HAS_TCGETPGRP / **/
a835ef8a
NIS
522
523/* HAS_TCSETPGRP:
524 * This symbol, if defined, indicates that the tcsetpgrp routine is
525 * available to set foreground process group ID.
526 */
f3b9bb7d 527/*#define HAS_TCSETPGRP / **/
a835ef8a 528
a835ef8a
NIS
529/* HAS_TRUNCATE:
530 * This symbol, if defined, indicates that the truncate routine is
531 * available to truncate files.
532 */
f3b9bb7d 533/*#define HAS_TRUNCATE / **/
a835ef8a
NIS
534
535/* HAS_TZNAME:
536 * This symbol, if defined, indicates that the tzname[] array is
537 * available to access timezone names.
538 */
bbda9c9d 539#define HAS_TZNAME /**/
a835ef8a
NIS
540
541/* HAS_UMASK:
542 * This symbol, if defined, indicates that the umask routine is
543 * available to set and get the value of the file creation mask.
544 */
545#define HAS_UMASK /**/
546
b8a524e9
NIS
547/* HAS_USLEEP:
548 * This symbol, if defined, indicates that the usleep routine is
549 * available to let the process sleep on a sub-second accuracy.
550 */
f3b9bb7d 551/*#define HAS_USLEEP / **/
b8a524e9 552
a835ef8a
NIS
553/* HAS_WAIT4:
554 * This symbol, if defined, indicates that wait4() exists.
555 */
f3b9bb7d 556/*#define HAS_WAIT4 / **/
a835ef8a
NIS
557
558/* HAS_WAITPID:
559 * This symbol, if defined, indicates that the waitpid routine is
560 * available to wait for child process.
561 */
f55ee38a 562#define HAS_WAITPID /**/
a835ef8a
NIS
563
564/* HAS_WCSTOMBS:
565 * This symbol, if defined, indicates that the wcstombs routine is
566 * available to convert wide character strings to multibyte strings.
567 */
568#define HAS_WCSTOMBS /**/
569
570/* HAS_WCTOMB:
571 * This symbol, if defined, indicates that the wctomb routine is available
93c08870 572 * to convert a wide character to a multibyte.
a835ef8a
NIS
573 */
574#define HAS_WCTOMB /**/
575
4b7e285e
JD
576/* Groups_t:
577 * This symbol holds the type used for the second argument to
578 * getgroups() and setgroups(). Usually, this is the same as
579 * gidtype (gid_t) , but sometimes it isn't.
f65cb320
SH
580 * It can be int, ushort, gid_t, etc...
581 * It may be necessary to include <sys/types.h> to get any
4b7e285e
JD
582 * typedef'ed information. This is only required if you have
583 * getgroups() or setgroups()..
584 */
585#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
586#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
587#endif
588
28e8609d 589/* I_ARPA_INET:
327c3667
GS
590 * This symbol, if defined, indicates to the C program that it should
591 * include <arpa/inet.h> to get inet_addr and friends declarations.
28e8609d 592 */
327c3667 593#define I_ARPA_INET /**/
28e8609d 594
924b3ec4
GS
595/* I_DBM:
596 * This symbol, if defined, indicates that <dbm.h> exists and should
597 * be included.
a835ef8a 598 */
924b3ec4
GS
599/* I_RPCSVC_DBM:
600 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
601 * should be included.
a835ef8a 602 */
f3b9bb7d 603/*#define I_DBM / **/
30f6094b 604/*#define I_RPCSVC_DBM / **/
a835ef8a 605
a835ef8a
NIS
606/* I_DLFCN:
607 * This symbol, if defined, indicates that <dlfcn.h> exists and should
608 * be included.
609 */
610#define I_DLFCN /**/
611
612/* I_FCNTL:
613 * This manifest constant tells the C program to include <fcntl.h>.
614 */
615#define I_FCNTL /**/
616
ec6c7eee
SH
617/* I_GDBM:
618 * This symbol, if defined, indicates that <gdbm.h> exists and should
619 * be included.
620 */
f3b9bb7d 621/*#define I_GDBM / **/
ec6c7eee 622
924b3ec4
GS
623/* I_LOCALE:
624 * This symbol, if defined, indicates to the C program that it should
625 * include <locale.h>.
626 */
627#define I_LOCALE /**/
628
a835ef8a
NIS
629/* I_NETINET_IN:
630 * This symbol, if defined, indicates to the C program that it should
631 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
632 */
f3b9bb7d 633/*#define I_NETINET_IN / **/
a835ef8a 634
a835ef8a
NIS
635/* I_SYS_DIR:
636 * This symbol, if defined, indicates to the C program that it should
637 * include <sys/dir.h>.
638 */
f3b9bb7d 639/*#define I_SYS_DIR / **/
a835ef8a
NIS
640
641/* I_SYS_FILE:
642 * This symbol, if defined, indicates to the C program that it should
643 * include <sys/file.h> to get definition of R_OK and friends.
644 */
f3b9bb7d 645/*#define I_SYS_FILE / **/
a835ef8a
NIS
646
647/* I_SYS_IOCTL:
648 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
649 * be included. Otherwise, include <sgtty.h> or <termio.h>.
650 */
b8a524e9
NIS
651/* I_SYS_SOCKIO:
652 * This symbol, if defined, indicates the <sys/sockio.h> should be included
653 * to get socket ioctl options, like SIOCATMARK.
654 */
f3b9bb7d 655/*#define I_SYS_IOCTL / **/
656/*#define I_SYS_SOCKIO / **/
a835ef8a
NIS
657
658/* I_SYS_NDIR:
659 * This symbol, if defined, indicates to the C program that it should
660 * include <sys/ndir.h>.
661 */
f3b9bb7d 662/*#define I_SYS_NDIR / **/
a835ef8a
NIS
663
664/* I_SYS_PARAM:
665 * This symbol, if defined, indicates to the C program that it should
666 * include <sys/param.h>.
667 */
f3b9bb7d 668/*#define I_SYS_PARAM / **/
a835ef8a 669
4b7e285e
JD
670/* I_SYS_POLL:
671 * This symbol, if defined, indicates that the program may include
672 * <sys/poll.h>. When I_POLL is also defined, it's probably safest
673 * to only include <poll.h>.
674 */
f3b9bb7d 675/*#define I_SYS_POLL / **/
4b7e285e 676
a835ef8a
NIS
677/* I_SYS_RESOURCE:
678 * This symbol, if defined, indicates to the C program that it should
679 * include <sys/resource.h>.
680 */
f3b9bb7d 681/*#define I_SYS_RESOURCE / **/
a835ef8a
NIS
682
683/* I_SYS_SELECT:
684 * This symbol, if defined, indicates to the C program that it should
685 * include <sys/select.h> in order to get definition of struct timeval.
686 */
f3b9bb7d 687/*#define I_SYS_SELECT / **/
a835ef8a 688
924b3ec4
GS
689/* I_SYS_STAT:
690 * This symbol, if defined, indicates to the C program that it should
691 * include <sys/stat.h>.
692 */
693#define I_SYS_STAT /**/
694
a835ef8a
NIS
695/* I_SYS_TIMES:
696 * This symbol, if defined, indicates to the C program that it should
697 * include <sys/times.h>.
698 */
f3b9bb7d 699/*#define I_SYS_TIMES / **/
a835ef8a 700
be44fb0e
GS
701/* I_SYS_TYPES:
702 * This symbol, if defined, indicates to the C program that it should
703 * include <sys/types.h>.
704 */
705#define I_SYS_TYPES /**/
706
a835ef8a
NIS
707/* I_SYS_UN:
708 * This symbol, if defined, indicates to the C program that it should
709 * include <sys/un.h> to get UNIX domain socket definitions.
710 */
f3b9bb7d 711/*#define I_SYS_UN / **/
a835ef8a
NIS
712
713/* I_SYS_WAIT:
714 * This symbol, if defined, indicates to the C program that it should
715 * include <sys/wait.h>.
716 */
f3b9bb7d 717/*#define I_SYS_WAIT / **/
a835ef8a 718
a835ef8a
NIS
719/* I_UNISTD:
720 * This symbol, if defined, indicates to the C program that it should
721 * include <unistd.h>.
722 */
f3b9bb7d 723/*#define I_UNISTD / **/
a835ef8a
NIS
724
725/* I_UTIME:
726 * This symbol, if defined, indicates to the C program that it should
727 * include <utime.h>.
728 */
729#define I_UTIME /**/
730
a835ef8a
NIS
731/* I_VFORK:
732 * This symbol, if defined, indicates to the C program that it should
733 * include vfork.h.
734 */
f3b9bb7d 735/*#define I_VFORK / **/
736
f65cb320
SH
737/* STDCHAR:
738 * This symbol is defined to be the type of char used in stdio.h.
739 * It has the values "unsigned char" or "char".
740 */
741#define STDCHAR char /**/
742
f65cb320
SH
743/* INTSIZE:
744 * This symbol contains the value of sizeof(int) so that the C
745 * preprocessor can make decisions based on it.
bbda9c9d 746 */
f65cb320
SH
747/* LONGSIZE:
748 * This symbol contains the value of sizeof(long) so that the C
749 * preprocessor can make decisions based on it.
3bf969c5 750 */
f65cb320
SH
751/* SHORTSIZE:
752 * This symbol contains the value of sizeof(short) so that the C
753 * preprocessor can make decisions based on it.
754 */
755#define INTSIZE 4 /**/
756#define LONGSIZE 4 /**/
757#define SHORTSIZE 2 /**/
3bf969c5 758
449287ba
SH
759/* MULTIARCH:
760 * This symbol, if defined, signifies that the build
761 * process will produce some binary files that are going to be
762 * used in a cross-platform environment. This is the case for
763 * example with the NeXT "fat" binaries that contain executables
764 * for several CPUs.
765 */
766/*#define MULTIARCH / **/
767
f65cb320
SH
768/* HAS_QUAD:
769 * This symbol, if defined, tells that there's a 64-bit integer type,
770 * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
771 * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
772 * or QUAD_IS___INT64.
840565a7 773 */
f65cb320
SH
774#define HAS_QUAD /**/
775#ifdef HAS_QUAD
776# define Quad_t long long /**/
777# define Uquad_t unsigned long long /**/
778# define QUADKIND 3 /**/
779# define QUAD_IS_INT 1
780# define QUAD_IS_LONG 2
781# define QUAD_IS_LONG_LONG 3
782# define QUAD_IS_INT64_T 4
783# define QUAD_IS___INT64 5
784#endif
a835ef8a 785
f65cb320
SH
786/* HAS_ACCESSX:
787 * This symbol, if defined, indicates that the accessx routine is
788 * available to do extended access checks.
b40906a9 789 */
f65cb320 790/*#define HAS_ACCESSX / **/
b40906a9 791
f65cb320
SH
792/* HAS_EACCESS:
793 * This symbol, if defined, indicates that the eaccess routine is
794 * available to do extended access checks.
b40906a9 795 */
f65cb320 796/*#define HAS_EACCESS / **/
b40906a9 797
f65cb320
SH
798/* I_SYS_ACCESS:
799 * This symbol, if defined, indicates to the C program that it should
800 * include <sys/access.h>.
3bf969c5 801 */
f65cb320 802/*#define I_SYS_ACCESS / **/
a835ef8a 803
f65cb320
SH
804/* I_SYS_SECURITY:
805 * This symbol, if defined, indicates to the C program that it should
806 * include <sys/security.h>.
2bf3754c 807 */
f65cb320
SH
808/*#define I_SYS_SECURITY / **/
809
810/* MEM_ALIGNBYTES:
811 * This symbol contains the number of bytes required to align a
812 * double, or a long double when applicable. Usual values are 2,
813 * 4 and 8. The default is eight, for safety. For cross-compiling
814 * or multiarch support, Configure will set a minimum of 8.
2bf3754c 815 */
f65cb320 816#define MEM_ALIGNBYTES 8
2bf3754c 817
840565a7
SH
818/* BYTEORDER:
819 * This symbol holds the hexadecimal constant defined in byteorder,
820 * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
821 * If the compiler supports cross-compiling or multiple-architecture
93c08870 822 * binaries, use compiler-defined macros to
840565a7 823 * determine the byte order.
b40906a9 824 */
1b2243c7 825#if defined(MULTIARCH)
840565a7
SH
826# ifdef __LITTLE_ENDIAN__
827# if LONGSIZE == 4
828# define BYTEORDER 0x1234
829# else
830# if LONGSIZE == 8
831# define BYTEORDER 0x12345678
832# endif
833# endif
834# else
835# ifdef __BIG_ENDIAN__
836# if LONGSIZE == 4
837# define BYTEORDER 0x4321
838# else
839# if LONGSIZE == 8
840# define BYTEORDER 0x87654321
841# endif
842# endif
843# endif
844# endif
465b7da9 845#else
840565a7 846#define BYTEORDER 0x1234 /* large digits for MSB */
93c08870 847#endif
b40906a9 848
840565a7
SH
849/* CHARBITS:
850 * This symbol contains the size of a char, so that the C preprocessor
851 * can make decisions based on it.
b40906a9 852 */
840565a7 853#define CHARBITS 8 /**/
b40906a9 854
f65cb320
SH
855/* CASTI32:
856 * This symbol is defined if the C compiler can cast negative
857 * or large floating point numbers to 32-bit ints.
2bf3754c 858 */
f65cb320 859#define CASTI32 /**/
2bf3754c 860
f65cb320
SH
861/* CASTNEGFLOAT:
862 * This symbol is defined if the C compiler can cast negative
863 * numbers to unsigned longs, ints and shorts.
2bf3754c 864 */
f65cb320
SH
865/* CASTFLAGS:
866 * This symbol contains flags that say what difficulties the compiler
867 * has casting odd floating values to unsigned long:
868 * 0 = ok
869 * 1 = couldn't cast < 0
870 * 2 = couldn't cast >= 0x80000000
871 * 4 = couldn't cast in argument expression list
2bf3754c 872 */
f65cb320
SH
873#define CASTNEGFLOAT /**/
874#define CASTFLAGS 0 /**/
2bf3754c 875
f65cb320
SH
876/* VOID_CLOSEDIR:
877 * This symbol, if defined, indicates that the closedir() routine
878 * does not return a value.
2bf3754c 879 */
f65cb320 880/*#define VOID_CLOSEDIR / **/
2bf3754c 881
f65cb320
SH
882/* HAS_FD_SET:
883 * This symbol, when defined, indicates presence of the fd_set typedef
884 * in <sys/types.h>
3bf969c5 885 */
f65cb320 886#define HAS_FD_SET /**/
3bf969c5 887
f65cb320
SH
888/* Gconvert:
889 * This preprocessor macro is defined to convert a floating point
890 * number to a string without a trailing decimal point. This
891 * emulates the behavior of sprintf("%g"), but is sometimes much more
892 * efficient. If gconvert() is not available, but gcvt() drops the
893 * trailing decimal point, then gcvt() is used. If all else fails,
894 * a macro using sprintf("%g") is used. Arguments for the Gconvert
895 * macro are: value, number of digits, whether trailing zeros should
896 * be retained, and the output buffer.
897 * The usual values are:
898 * d_Gconvert='gconvert((x),(n),(t),(b))'
899 * d_Gconvert='gcvt((x),(n),(b))'
900 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
901 * The last two assume trailing zeros should not be kept.
b40906a9 902 */
f65cb320 903#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
b40906a9 904
f65cb320
SH
905/* HAS_GETPAGESIZE:
906 * This symbol, if defined, indicates that the getpagesize system call
907 * is available to get system page size, which is the granularity of
908 * many memory management calls.
6310baff 909 */
f65cb320
SH
910/*#define HAS_GETPAGESIZE / **/
911
912/* HAS_GNULIBC:
913 * This symbol, if defined, indicates to the C program that
914 * the GNU C library is being used. A better check is to use
915 * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
2bf3754c 916 */
f65cb320
SH
917/*#define HAS_GNULIBC / **/
918#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
919# define _GNU_SOURCE
920#endif
2bf3754c 921
f65cb320
SH
922/* HAS_ISASCII:
923 * This manifest constant lets the C program know that isascii
924 * is available.
93c08870 925 */
f65cb320 926#define HAS_ISASCII /**/
93c08870 927
f65cb320
SH
928/* HAS_LCHOWN:
929 * This symbol, if defined, indicates that the lchown routine is
930 * available to operate on a symbolic link (instead of following the
931 * link).
3bf969c5 932 */
f65cb320 933/*#define HAS_LCHOWN / **/
840565a7 934
f65cb320
SH
935/* HAS_OPEN3:
936 * This manifest constant lets the C program know that the three
937 * argument form of open(2) is available.
3bf969c5 938 */
f65cb320 939/*#define HAS_OPEN3 / **/
3bf969c5 940
f65cb320
SH
941/* HAS_SIGACTION:
942 * This symbol, if defined, indicates that Vr4's sigaction() routine
943 * is available.
3635cd84 944 */
f65cb320 945/*#define HAS_SIGACTION / **/
3635cd84 946
f65cb320
SH
947/* HAS_SIGINFO_SI_ERRNO:
948 * This symbol, if defined, indicates that siginfo_t has the
949 * si_errno member
2bf3754c 950 */
f65cb320
SH
951/* HAS_SIGINFO_SI_PID:
952 * This symbol, if defined, indicates that siginfo_t has the
953 * si_pid member
2bf3754c 954 */
f65cb320
SH
955/* HAS_SIGINFO_SI_UID:
956 * This symbol, if defined, indicates that siginfo_t has the
957 * si_uid member
3bf969c5 958 */
f65cb320
SH
959/* HAS_SIGINFO_SI_ADDR:
960 * This symbol, if defined, indicates that siginfo_t has the
961 * si_addr member
3bf969c5 962 */
f65cb320
SH
963/* HAS_SIGINFO_SI_STATUS:
964 * This symbol, if defined, indicates that siginfo_t has the
965 * si_status member
3635cd84 966 */
f65cb320
SH
967/* HAS_SIGINFO_SI_BAND:
968 * This symbol, if defined, indicates that siginfo_t has the
969 * si_band member
8839b9e4 970 */
f65cb320
SH
971/* HAS_SIGINFO_SI_VALUE:
972 * This symbol, if defined, indicates that siginfo_t has the
973 * si_value member
93c08870 974 */
f65cb320
SH
975/*#define HAS_SIGINFO_SI_ERRNO / **/
976/*#define HAS_SIGINFO_SI_PID / **/
977/*#define HAS_SIGINFO_SI_UID / **/
978/*#define HAS_SIGINFO_SI_ADDR / **/
979/*#define HAS_SIGINFO_SI_STATUS / **/
980/*#define HAS_SIGINFO_SI_BAND / **/
981/*#define HAS_SIGINFO_SI_VALUE / **/
93c08870 982
f65cb320
SH
983/* HAS_SIGSETJMP:
984 * This variable indicates to the C program that the sigsetjmp()
985 * routine is available to save the calling process's registers
986 * and stack environment for later use by siglongjmp(), and
987 * to optionally save the process's signal mask. See
988 * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
2bf3754c 989 */
f65cb320
SH
990/* Sigjmp_buf:
991 * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
2bf3754c 992 */
f65cb320
SH
993/* Sigsetjmp:
994 * This macro is used in the same way as sigsetjmp(), but will invoke
995 * traditional setjmp() if sigsetjmp isn't available.
996 * See HAS_SIGSETJMP.
a8a15001 997 */
f65cb320
SH
998/* Siglongjmp:
999 * This macro is used in the same way as siglongjmp(), but will invoke
1000 * traditional longjmp() if siglongjmp isn't available.
1001 * See HAS_SIGSETJMP.
a8a15001 1002 */
f65cb320
SH
1003/*#define HAS_SIGSETJMP / **/
1004#ifdef HAS_SIGSETJMP
1005#define Sigjmp_buf sigjmp_buf
1006#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
1007#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
1008#else
1009#define Sigjmp_buf jmp_buf
1010#define Sigsetjmp(buf,save_mask) setjmp((buf))
1011#define Siglongjmp(buf,retval) longjmp((buf),(retval))
1012#endif
a8a15001 1013
f65cb320
SH
1014/* HAS_STATIC_INLINE:
1015 * This symbol, if defined, indicates that the C compiler supports
1016 * C99-style static inline. That is, the function can't be called
1017 * from another translation unit.
2bf3754c 1018 */
f65cb320
SH
1019/* PERL_STATIC_INLINE:
1020 * This symbol gives the best-guess incantation to use for static
1021 * inline functions. If HAS_STATIC_INLINE is defined, this will
1022 * give C99-style inline. If HAS_STATIC_INLINE is not defined,
1023 * this will give a plain 'static'. It will always be defined
1024 * to something that gives static linkage.
1025 * Possibilities include
1026 * static inline (c99)
1027 * static __inline__ (gcc -ansi)
1028 * static __inline (MSVC)
1029 * static _inline (older MSVC)
1030 * static (c89 compilers)
ec6c7eee 1031 */
f65cb320
SH
1032#define HAS_STATIC_INLINE /**/
1033#define PERL_STATIC_INLINE static __inline__ /**/
ec6c7eee 1034
f65cb320
SH
1035/* USE_STDIO_PTR:
1036 * This symbol is defined if the _ptr and _cnt fields (or similar)
1037 * of the stdio FILE structure can be used to access the stdio buffer
1038 * for a file handle. If this is defined, then the FILE_ptr(fp)
1039 * and FILE_cnt(fp) macros will also be defined and should be used
1040 * to access these fields.
2bf3754c 1041 */
f65cb320
SH
1042/* FILE_ptr:
1043 * This macro is used to access the _ptr field (or equivalent) of the
1044 * FILE structure pointed to by its argument. This macro will always be
1045 * defined if USE_STDIO_PTR is defined.
a8a15001 1046 */
f65cb320
SH
1047/* STDIO_PTR_LVALUE:
1048 * This symbol is defined if the FILE_ptr macro can be used as an
1049 * lvalue.
a8a15001 1050 */
f65cb320
SH
1051/* FILE_cnt:
1052 * This macro is used to access the _cnt field (or equivalent) of the
1053 * FILE structure pointed to by its argument. This macro will always be
1054 * defined if USE_STDIO_PTR is defined.
2bf3754c 1055 */
f65cb320
SH
1056/* STDIO_CNT_LVALUE:
1057 * This symbol is defined if the FILE_cnt macro can be used as an
1058 * lvalue.
3bf969c5 1059 */
f65cb320
SH
1060/* STDIO_PTR_LVAL_SETS_CNT:
1061 * This symbol is defined if using the FILE_ptr macro as an lvalue
1062 * to increase the pointer by n has the side effect of decreasing the
1063 * value of File_cnt(fp) by n.
3bf969c5 1064 */
f65cb320
SH
1065/* STDIO_PTR_LVAL_NOCHANGE_CNT:
1066 * This symbol is defined if using the FILE_ptr macro as an lvalue
1067 * to increase the pointer by n leaves File_cnt(fp) unchanged.
2bf3754c 1068 */
f65cb320
SH
1069#define USE_STDIO_PTR /**/
1070#ifdef USE_STDIO_PTR
1071#define FILE_ptr(fp) ((fp)->_ptr)
1072#define STDIO_PTR_LVALUE /**/
1073#define FILE_cnt(fp) ((fp)->_cnt)
1074#define STDIO_CNT_LVALUE /**/
1075/*#define STDIO_PTR_LVAL_SETS_CNT / **/
1076#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
1077#endif
2bf3754c 1078
f65cb320
SH
1079/* USE_STDIO_BASE:
1080 * This symbol is defined if the _base field (or similar) of the
1081 * stdio FILE structure can be used to access the stdio buffer for
1082 * a file handle. If this is defined, then the FILE_base(fp) macro
1083 * will also be defined and should be used to access this field.
1084 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
1085 * to determine the number of bytes in the buffer. USE_STDIO_BASE
1086 * will never be defined unless USE_STDIO_PTR is.
3bf969c5 1087 */
f65cb320
SH
1088/* FILE_base:
1089 * This macro is used to access the _base field (or equivalent) of the
1090 * FILE structure pointed to by its argument. This macro will always be
1091 * defined if USE_STDIO_BASE is defined.
3bf969c5 1092 */
f65cb320
SH
1093/* FILE_bufsiz:
1094 * This macro is used to determine the number of bytes in the I/O
1095 * buffer pointed to by _base field (or equivalent) of the FILE
1096 * structure pointed to its argument. This macro will always be defined
1097 * if USE_STDIO_BASE is defined.
2bf3754c 1098 */
f65cb320
SH
1099#define USE_STDIO_BASE /**/
1100#ifdef USE_STDIO_BASE
1101#define FILE_base(fp) ((fp)->_base)
1102#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
1103#endif
2bf3754c 1104
f65cb320
SH
1105/* DOUBLESIZE:
1106 * This symbol contains the size of a double, so that the C preprocessor
1107 * can make decisions based on it.
2bf3754c 1108 */
f65cb320 1109#define DOUBLESIZE 8 /**/
2bf3754c 1110
f65cb320
SH
1111/* I_TIME:
1112 * This symbol, if defined, indicates to the C program that it should
1113 * include <time.h>.
a8a15001 1114 */
f65cb320
SH
1115/* I_SYS_TIME:
1116 * This symbol, if defined, indicates to the C program that it should
1117 * include <sys/time.h>.
a8a15001 1118 */
f65cb320
SH
1119/* I_SYS_TIME_KERNEL:
1120 * This symbol, if defined, indicates to the C program that it should
1121 * include <sys/time.h> with KERNEL defined.
2bf3754c 1122 */
f65cb320
SH
1123/* HAS_TM_TM_ZONE:
1124 * This symbol, if defined, indicates to the C program that
1125 * the struct tm has a tm_zone field.
3bf969c5 1126 */
f65cb320
SH
1127/* HAS_TM_TM_GMTOFF:
1128 * This symbol, if defined, indicates to the C program that
1129 * the struct tm has a tm_gmtoff field.
3bf969c5 1130 */
f65cb320
SH
1131#define I_TIME /**/
1132/*#define I_SYS_TIME / **/
1133/*#define I_SYS_TIME_KERNEL / **/
1134/*#define HAS_TM_TM_ZONE / **/
1135/*#define HAS_TM_TM_GMTOFF / **/
3bf969c5 1136
f65cb320
SH
1137/* VAL_O_NONBLOCK:
1138 * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
1139 * non-blocking I/O for the file descriptor. Note that there is no way
1140 * back, i.e. you cannot turn it blocking again this way. If you wish to
1141 * alternatively switch between blocking and non-blocking, use the
1142 * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
3bf969c5 1143 */
f65cb320
SH
1144/* VAL_EAGAIN:
1145 * This symbol holds the errno error code set by read() when no data was
1146 * present on the non-blocking file descriptor.
2bf3754c 1147 */
f65cb320
SH
1148/* RD_NODATA:
1149 * This symbol holds the return code from read() when no data is present
1150 * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
1151 * not defined, then you can't distinguish between no data and EOF by
1152 * issuing a read(). You'll have to find another way to tell for sure!
a8a15001 1153 */
f65cb320
SH
1154/* EOF_NONBLOCK:
1155 * This symbol, if defined, indicates to the C program that a read() on
1156 * a non-blocking file descriptor will return 0 on EOF, and not the value
1157 * held in RD_NODATA (-1 usually, in that case!).
2bf3754c 1158 */
f65cb320
SH
1159#define VAL_O_NONBLOCK O_NONBLOCK
1160#define VAL_EAGAIN EAGAIN
1161#define RD_NODATA -1
1162#define EOF_NONBLOCK
2bf3754c 1163
f65cb320
SH
1164/* PTRSIZE:
1165 * This symbol contains the size of a pointer, so that the C preprocessor
1166 * can make decisions based on it. It will be sizeof(void *) if
1167 * the compiler supports (void *); otherwise it will be
1168 * sizeof(char *).
a8a15001 1169 */
f65cb320 1170#define PTRSIZE 4 /**/
a8a15001 1171
f65cb320
SH
1172/* Drand01:
1173 * This macro is to be used to generate uniformly distributed
1174 * random numbers over the range [0., 1.[. You may have to supply
1175 * an 'extern double drand48();' in your program since SunOS 4.1.3
1176 * doesn't provide you with anything relevant in its headers.
1177 * See HAS_DRAND48_PROTO.
a8a15001 1178 */
f65cb320
SH
1179/* Rand_seed_t:
1180 * This symbol defines the type of the argument of the
1181 * random seed function.
a8a15001 1182 */
f65cb320
SH
1183/* seedDrand01:
1184 * This symbol defines the macro to be used in seeding the
1185 * random number generator (see Drand01).
a8a15001 1186 */
f65cb320
SH
1187/* RANDBITS:
1188 * This symbol indicates how many bits are produced by the
1189 * function used to generate normalized random numbers.
1190 * Values include 15, 16, 31, and 48.
3bf969c5 1191 */
f65cb320
SH
1192#define Drand01() Perl_drand48() /**/
1193#define Rand_seed_t U32 /**/
1194#define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/
1195#define RANDBITS 48 /**/
3bf969c5 1196
f65cb320
SH
1197/* SSize_t:
1198 * This symbol holds the type used by functions that return
1199 * a count of bytes or an error condition. It must be a signed type.
1200 * It is usually ssize_t, but may be long or int, etc.
1201 * It may be necessary to include <sys/types.h> or <unistd.h>
1202 * to get any typedef'ed information.
1203 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
2bf3754c 1204 */
f65cb320 1205#define SSize_t int /* signed count of bytes */
2bf3754c 1206
f65cb320
SH
1207/* EBCDIC:
1208 * This symbol, if defined, indicates that this system uses
1209 * EBCDIC encoding.
2bf3754c 1210 */
f65cb320 1211/*#define EBCDIC / **/
2bf3754c 1212
f65cb320
SH
1213/* ARCHLIB:
1214 * This variable, if defined, holds the name of the directory in
1215 * which the user wants to put architecture-dependent public
1216 * library files for perl5. It is most often a local directory
1217 * such as /usr/local/lib. Programs using this variable must be
1218 * prepared to deal with filename expansion. If ARCHLIB is the
1219 * same as PRIVLIB, it is not defined, since presumably the
1220 * program already searches PRIVLIB.
2bf3754c 1221 */
f65cb320
SH
1222/* ARCHLIB_EXP:
1223 * This symbol contains the ~name expanded version of ARCHLIB, to be used
1224 * in programs that are not prepared to deal with ~ expansion at run-time.
2bf3754c 1225 */
f65cb320
SH
1226#define ARCHLIB "c:\\perl\\lib" /**/
1227/*#define ARCHLIB_EXP "" / **/
1228
1229/* BIN:
1230 * This symbol holds the path of the bin directory where the package will
1231 * be installed. Program must be prepared to deal with ~name substitution.
2bf3754c 1232 */
f65cb320
SH
1233/* BIN_EXP:
1234 * This symbol is the filename expanded version of the BIN symbol, for
1235 * programs that do not want to deal with that at run-time.
2bf3754c 1236 */
f65cb320
SH
1237/* PERL_RELOCATABLE_INC:
1238 * This symbol, if defined, indicates that we'd like to relocate entries
1239 * in @INC at run time based on the location of the perl binary.
2bf3754c 1240 */
f65cb320
SH
1241#define BIN "c:\\perl\\bin" /**/
1242#define BIN_EXP "c:\\perl\\bin" /**/
1243#define PERL_RELOCATABLE_INC "undef" /**/
2bf3754c 1244
f65cb320
SH
1245/* PERL_INC_VERSION_LIST:
1246 * This variable specifies the list of subdirectories in over
1247 * which perl.c:incpush() and lib/lib.pm will automatically
1248 * search when adding directories to @INC, in a format suitable
1249 * for a C initialization string. See the inc_version_list entry
1250 * in Porting/Glossary for more details.
3bf969c5 1251 */
f65cb320 1252/*#define PERL_INC_VERSION_LIST 0 / **/
3bf969c5 1253
f65cb320
SH
1254/* INSTALL_USR_BIN_PERL:
1255 * This symbol, if defined, indicates that Perl is to be installed
1256 * also as /usr/bin/perl.
3bf969c5 1257 */
f65cb320
SH
1258/*#define INSTALL_USR_BIN_PERL / **/
1259
1260/* PERL_OTHERLIBDIRS:
1261 * This variable contains a colon-separated set of paths for the perl
1262 * binary to search for additional library files or modules.
1263 * These directories will be tacked to the end of @INC.
1264 * Perl will automatically search below each path for version-
1265 * and architecture-specific directories. See PERL_INC_VERSION_LIST
1266 * for more details.
3bf969c5 1267 */
f65cb320 1268/*#define PERL_OTHERLIBDIRS "" / **/
3bf969c5 1269
f65cb320
SH
1270/* PRIVLIB:
1271 * This symbol contains the name of the private library for this package.
1272 * The library is private in the sense that it needn't be in anyone's
1273 * execution path, but it should be accessible by the world. The program
1274 * should be prepared to do ~ expansion.
3bf969c5 1275 */
f65cb320
SH
1276/* PRIVLIB_EXP:
1277 * This symbol contains the ~name expanded version of PRIVLIB, to be used
1278 * in programs that are not prepared to deal with ~ expansion at run-time.
3bf969c5 1279 */
f65cb320
SH
1280#define PRIVLIB "c:\\perl\\lib" /**/
1281#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL)) /**/
3bf969c5 1282
f65cb320
SH
1283/* SITEARCH:
1284 * This symbol contains the name of the private library for this package.
1285 * The library is private in the sense that it needn't be in anyone's
1286 * execution path, but it should be accessible by the world. The program
1287 * should be prepared to do ~ expansion.
1288 * The standard distribution will put nothing in this directory.
1289 * After perl has been installed, users may install their own local
1290 * architecture-dependent modules in this directory with
1291 * MakeMaker Makefile.PL
1292 * or equivalent. See INSTALL for details.
2bf3754c 1293 */
f65cb320
SH
1294/* SITEARCH_EXP:
1295 * This symbol contains the ~name expanded version of SITEARCH, to be used
1296 * in programs that are not prepared to deal with ~ expansion at run-time.
1297 */
1298#define SITEARCH "c:\\perl\\site\\lib" /**/
1299/*#define SITEARCH_EXP "" / **/
2bf3754c 1300
f65cb320
SH
1301/* SITELIB:
1302 * This symbol contains the name of the private library for this package.
1303 * The library is private in the sense that it needn't be in anyone's
1304 * execution path, but it should be accessible by the world. The program
1305 * should be prepared to do ~ expansion.
1306 * The standard distribution will put nothing in this directory.
1307 * After perl has been installed, users may install their own local
1308 * architecture-independent modules in this directory with
1309 * MakeMaker Makefile.PL
1310 * or equivalent. See INSTALL for details.
a8a15001 1311 */
f65cb320
SH
1312/* SITELIB_EXP:
1313 * This symbol contains the ~name expanded version of SITELIB, to be used
1314 * in programs that are not prepared to deal with ~ expansion at run-time.
b40906a9 1315 */
f65cb320
SH
1316/* SITELIB_STEM:
1317 * This define is SITELIB_EXP with any trailing version-specific component
1318 * removed. The elements in inc_version_list (inc_version_list.U) can
1319 * be tacked onto this variable to generate a list of directories to search.
2bf3754c 1320 */
f65cb320
SH
1321#define SITELIB "c:\\perl\\site\\lib" /**/
1322#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL)) /**/
1323#define SITELIB_STEM "" /**/
2bf3754c 1324
f65cb320
SH
1325/* PERL_VENDORARCH:
1326 * If defined, this symbol contains the name of a private library.
1327 * The library is private in the sense that it needn't be in anyone's
1328 * execution path, but it should be accessible by the world.
1329 * It may have a ~ on the front.
1330 * The standard distribution will put nothing in this directory.
1331 * Vendors who distribute perl may wish to place their own
1332 * architecture-dependent modules and extensions in this directory with
1333 * MakeMaker Makefile.PL INSTALLDIRS=vendor
1334 * or equivalent. See INSTALL for details.
2bf3754c 1335 */
f65cb320
SH
1336/* PERL_VENDORARCH_EXP:
1337 * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
1338 * in programs that are not prepared to deal with ~ expansion at run-time.
2bf3754c 1339 */
f65cb320
SH
1340/*#define PERL_VENDORARCH "" / **/
1341/*#define PERL_VENDORARCH_EXP "" / **/
2bf3754c 1342
f65cb320
SH
1343/* PERL_VENDORLIB_EXP:
1344 * This symbol contains the ~name expanded version of VENDORLIB, to be used
1345 * in programs that are not prepared to deal with ~ expansion at run-time.
3bf969c5 1346 */
f65cb320
SH
1347/* PERL_VENDORLIB_STEM:
1348 * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
1349 * removed. The elements in inc_version_list (inc_version_list.U) can
1350 * be tacked onto this variable to generate a list of directories to search.
3bf969c5 1351 */
f65cb320
SH
1352/*#define PERL_VENDORLIB_EXP "" / **/
1353/*#define PERL_VENDORLIB_STEM "" / **/
3bf969c5 1354
f65cb320
SH
1355/* OSNAME:
1356 * This symbol contains the name of the operating system, as determined
1357 * by Configure. You shouldn't rely on it too much; the specific
1358 * feature tests from Configure are generally more reliable.
3bf969c5 1359 */
f65cb320
SH
1360/* OSVERS:
1361 * This symbol contains the version of the operating system, as determined
1362 * by Configure. You shouldn't rely on it too much; the specific
1363 * feature tests from Configure are generally more reliable.
3bf969c5 1364 */
f65cb320
SH
1365#define OSNAME "MSWin32" /**/
1366#define OSVERS "6.1" /**/
3bf969c5 1367
f65cb320
SH
1368/* CAT2:
1369 * This macro concatenates 2 tokens together.
3bf969c5 1370 */
f65cb320
SH
1371/* STRINGIFY:
1372 * This macro surrounds its token with double quotes.
2bf3754c 1373 */
f65cb320
SH
1374#if 42 == 1
1375#define CAT2(a,b) a/**/b
1376#undef STRINGIFY
1377#define STRINGIFY(a) "a"
1378#endif
1379#if 42 == 42
1380#define PeRl_CaTiFy(a, b) a ## b
1381#define PeRl_StGiFy(a) #a
1382#define CAT2(a,b) PeRl_CaTiFy(a,b)
1383#define StGiFy(a) PeRl_StGiFy(a)
1384#undef STRINGIFY
1385#define STRINGIFY(a) PeRl_StGiFy(a)
1386#endif
1387#if 42 != 1 && 42 != 42
1388#include "Bletch: How does this C preprocessor concatenate tokens?"
1389#endif
2bf3754c 1390
f65cb320
SH
1391/* CPPSTDIN:
1392 * This symbol contains the first part of the string which will invoke
1393 * the C preprocessor on the standard input and produce to standard
1394 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
1395 * call a wrapper. See CPPRUN.
69c7879f 1396 */
f65cb320
SH
1397/* CPPMINUS:
1398 * This symbol contains the second part of the string which will invoke
1399 * the C preprocessor on the standard input and produce to standard
1400 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
1401 * to specify standard input, otherwise the value is "".
2bf3754c 1402 */
f65cb320
SH
1403/* CPPRUN:
1404 * This symbol contains the string which will invoke a C preprocessor on
1405 * the standard input and produce to standard output. It needs to end
1406 * with CPPLAST, after all other preprocessor flags have been specified.
1407 * The main difference with CPPSTDIN is that this program will never be a
1408 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1409 * available directly to the user. Note that it may well be different from
1410 * the preprocessor used to compile the C program.
2bf3754c 1411 */
f65cb320
SH
1412/* CPPLAST:
1413 * This symbol is intended to be used along with CPPRUN in the same manner
1414 * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
2bf3754c 1415 */
f65cb320
SH
1416#define CPPSTDIN "gcc -E"
1417#define CPPMINUS "-"
1418#define CPPRUN "gcc -E"
1419#define CPPLAST ""
2bf3754c 1420
f65cb320
SH
1421/* HAS_ACCESS:
1422 * This manifest constant lets the C program know that the access()
1423 * system call is available to check for accessibility using real UID/GID.
1424 * (always present on UNIX.)
2bf3754c 1425 */
f65cb320 1426#define HAS_ACCESS /**/
2bf3754c 1427
f65cb320
SH
1428
1429/* The HASATTRIBUTE_* defines are left undefined here because they vary from
1430 * one version of GCC to another. Instead, they are defined on the basis of
1431 * the compiler version in <perl.h>.
3bf969c5 1432 */
f65cb320
SH
1433/* HASATTRIBUTE_FORMAT:
1434 * Can we handle GCC attribute for checking printf-style formats
3bf969c5 1435 */
f65cb320
SH
1436/* PRINTF_FORMAT_NULL_OK:
1437 * Allows __printf__ format to be null when checking printf-style
3bf969c5 1438 */
f65cb320
SH
1439/* HASATTRIBUTE_MALLOC:
1440 * Can we handle GCC attribute for malloc-style functions.
3bf969c5 1441 */
f65cb320
SH
1442/* HASATTRIBUTE_NONNULL:
1443 * Can we handle GCC attribute for nonnull function parms.
3bf969c5 1444 */
f65cb320
SH
1445/* HASATTRIBUTE_NORETURN:
1446 * Can we handle GCC attribute for functions that do not return
3bf969c5 1447 */
f65cb320
SH
1448/* HASATTRIBUTE_PURE:
1449 * Can we handle GCC attribute for pure functions
2bf3754c 1450 */
f65cb320
SH
1451/* HASATTRIBUTE_UNUSED:
1452 * Can we handle GCC attribute for unused variables and arguments
2bf3754c 1453 */
f65cb320
SH
1454/* HASATTRIBUTE_DEPRECATED:
1455 * Can we handle GCC attribute for marking deprecated APIs
69c7879f 1456 */
f65cb320
SH
1457/* HASATTRIBUTE_WARN_UNUSED_RESULT:
1458 * Can we handle GCC attribute for warning on unused results
a8a15001 1459 */
f65cb320
SH
1460/*#define HASATTRIBUTE_DEPRECATED / **/
1461/*#define HASATTRIBUTE_FORMAT / **/
1462/*#define PRINTF_FORMAT_NULL_OK / **/
1463/*#define HASATTRIBUTE_NORETURN / **/
1464/*#define HASATTRIBUTE_MALLOC / **/
1465/*#define HASATTRIBUTE_NONNULL / **/
1466/*#define HASATTRIBUTE_PURE / **/
1467/*#define HASATTRIBUTE_UNUSED / **/
1468/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
a8a15001 1469
f65cb320
SH
1470/* HAS_BACKTRACE:
1471 * This symbol, if defined, indicates that the backtrace() routine is
1472 * available to get a stack trace. The <execinfo.h> header must be
1473 * included to use this routine.
a8a15001 1474 */
f65cb320
SH
1475/*#define HAS_BACKTRACE / **/
1476
f65cb320
SH
1477/* HAS_CSH:
1478 * This symbol, if defined, indicates that the C-shell exists.
a8a15001 1479 */
f65cb320
SH
1480/* CSH:
1481 * This symbol, if defined, contains the full pathname of csh.
a8a15001 1482 */
f65cb320
SH
1483/*#define HAS_CSH / **/
1484#ifdef HAS_CSH
1485#define CSH "" /**/
1486#endif
a8a15001 1487
f65cb320
SH
1488/* HAS_DLADDR:
1489 * This symbol, if defined, indicates that the dladdr() routine is
1490 * available to query dynamic linker information for an address.
1491 * The <dlfcn.h> header must be included to use this routine.
2bf3754c 1492 */
f65cb320 1493/*#define HAS_DLADDR / **/
2bf3754c 1494
f65cb320
SH
1495/* SETUID_SCRIPTS_ARE_SECURE_NOW:
1496 * This symbol, if defined, indicates that the bug that prevents
1497 * setuid scripts from being secure is not present in this kernel.
3bf969c5 1498 */
f65cb320
SH
1499/* DOSUID:
1500 * This symbol, if defined, indicates that the C program should
1501 * check the script that it is executing for setuid/setgid bits, and
1502 * attempt to emulate setuid/setgid on systems that have disabled
1503 * setuid #! scripts because the kernel can't do it securely.
1504 * It is up to the package designer to make sure that this emulation
1505 * is done securely. Among other things, it should do an fstat on
1506 * the script it just opened to make sure it really is a setuid/setgid
1507 * script, it should make sure the arguments passed correspond exactly
1508 * to the argument on the #! line, and it should not trust any
1509 * subprocesses to which it must pass the filename rather than the
1510 * file descriptor of the script to be executed.
3bf969c5 1511 */
f65cb320
SH
1512/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
1513/*#define DOSUID / **/
3bf969c5 1514
f65cb320
SH
1515/* HAS_ENDGRENT:
1516 * This symbol, if defined, indicates that the getgrent routine is
1517 * available for finalizing sequential access of the group database.
3bf969c5 1518 */
f65cb320
SH
1519/*#define HAS_ENDGRENT / **/
1520
1521/* HAS_ENDHOSTENT:
1522 * This symbol, if defined, indicates that the endhostent() routine is
1523 * available to close whatever was being used for host queries.
3bf969c5 1524 */
f65cb320 1525/*#define HAS_ENDHOSTENT / **/
3bf969c5 1526
f65cb320
SH
1527/* HAS_ENDNETENT:
1528 * This symbol, if defined, indicates that the endnetent() routine is
1529 * available to close whatever was being used for network queries.
3bf969c5 1530 */
f65cb320
SH
1531/*#define HAS_ENDNETENT / **/
1532
1533/* HAS_ENDPROTOENT:
1534 * This symbol, if defined, indicates that the endprotoent() routine is
1535 * available to close whatever was being used for protocol queries.
3bf969c5 1536 */
f65cb320 1537/*#define HAS_ENDPROTOENT / **/
3bf969c5 1538
f65cb320
SH
1539/* HAS_ENDPWENT:
1540 * This symbol, if defined, indicates that the getgrent routine is
1541 * available for finalizing sequential access of the passwd database.
2bf3754c 1542 */
f65cb320 1543/*#define HAS_ENDPWENT / **/
2bf3754c 1544
f65cb320
SH
1545/* HAS_ENDSERVENT:
1546 * This symbol, if defined, indicates that the endservent() routine is
1547 * available to close whatever was being used for service queries.
a8a15001 1548 */
f65cb320
SH
1549/*#define HAS_ENDSERVENT / **/
1550
1551/* FLEXFILENAMES:
1552 * This symbol, if defined, indicates that the system supports filenames
1553 * longer than 14 characters.
a8a15001 1554 */
f65cb320
SH
1555#define FLEXFILENAMES /**/
1556
1557/* HAS_GETGRENT:
1558 * This symbol, if defined, indicates that the getgrent routine is
1559 * available for sequential access of the group database.
1560 */
1561/*#define HAS_GETGRENT / **/
1562
1563/* HAS_GETHOSTBYADDR:
1564 * This symbol, if defined, indicates that the gethostbyaddr() routine is
1565 * available to look up hosts by their IP addresses.
1566 */
1567#define HAS_GETHOSTBYADDR /**/
1568
1569/* HAS_GETHOSTBYNAME:
1570 * This symbol, if defined, indicates that the gethostbyname() routine is
1571 * available to look up host names in some data base or other.
1572 */
1573#define HAS_GETHOSTBYNAME /**/
1574
1575/* HAS_GETHOSTENT:
1576 * This symbol, if defined, indicates that the gethostent() routine is
1577 * available to look up host names in some data base or another.
1578 */
1579/*#define HAS_GETHOSTENT / **/
1580
1581/* HAS_GETHOSTNAME:
1582 * This symbol, if defined, indicates that the C program may use the
1583 * gethostname() routine to derive the host name. See also HAS_UNAME
1584 * and PHOSTNAME.
1585 */
1586/* HAS_UNAME:
1587 * This symbol, if defined, indicates that the C program may use the
1588 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
1589 * and PHOSTNAME.
1590 */
1591/* PHOSTNAME:
1592 * This symbol, if defined, indicates the command to feed to the
1593 * popen() routine to derive the host name. See also HAS_GETHOSTNAME
1594 * and HAS_UNAME. Note that the command uses a fully qualified path,
1595 * so that it is safe even if used by a process with super-user
1596 * privileges.
1597 */
1598/* HAS_PHOSTNAME:
1599 * This symbol, if defined, indicates that the C program may use the
1600 * contents of PHOSTNAME as a command to feed to the popen() routine
1601 * to derive the host name.
1602 */
1603#define HAS_GETHOSTNAME /**/
1604#define HAS_UNAME /**/
1605/*#define HAS_PHOSTNAME / **/
1606#ifdef HAS_PHOSTNAME
1607#define PHOSTNAME "" /* How to get the host name */
1608#endif
1609
1610/* HAS_GETNETBYADDR:
1611 * This symbol, if defined, indicates that the getnetbyaddr() routine is
1612 * available to look up networks by their IP addresses.
1613 */
1614/*#define HAS_GETNETBYADDR / **/
1615
1616/* HAS_GETNETBYNAME:
1617 * This symbol, if defined, indicates that the getnetbyname() routine is
1618 * available to look up networks by their names.
1619 */
1620/*#define HAS_GETNETBYNAME / **/
1621
1622/* HAS_GETNETENT:
1623 * This symbol, if defined, indicates that the getnetent() routine is
1624 * available to look up network names in some data base or another.
1625 */
1626/*#define HAS_GETNETENT / **/
1627
1628/* HAS_GETPROTOENT:
1629 * This symbol, if defined, indicates that the getprotoent() routine is
1630 * available to look up protocols in some data base or another.
1631 */
1632/*#define HAS_GETPROTOENT / **/
1633
1634/* HAS_GETPGRP:
1635 * This symbol, if defined, indicates that the getpgrp routine is
1636 * available to get the current process group.
1637 */
1638/* USE_BSD_GETPGRP:
1639 * This symbol, if defined, indicates that getpgrp needs one
1640 * arguments whereas USG one needs none.
1641 */
1642/*#define HAS_GETPGRP / **/
1643/*#define USE_BSD_GETPGRP / **/
1644
1645/* HAS_GETPROTOBYNAME:
1646 * This symbol, if defined, indicates that the getprotobyname()
1647 * routine is available to look up protocols by their name.
1648 */
1649/* HAS_GETPROTOBYNUMBER:
1650 * This symbol, if defined, indicates that the getprotobynumber()
1651 * routine is available to look up protocols by their number.
1652 */
1653#define HAS_GETPROTOBYNAME /**/
1654#define HAS_GETPROTOBYNUMBER /**/
1655
1656/* HAS_GETPWENT:
1657 * This symbol, if defined, indicates that the getpwent routine is
1658 * available for sequential access of the passwd database.
1659 * If this is not available, the older getpw() function may be available.
1660 */
1661/*#define HAS_GETPWENT / **/
1662
1663/* HAS_GETSERVENT:
1664 * This symbol, if defined, indicates that the getservent() routine is
1665 * available to look up network services in some data base or another.
1666 */
1667/*#define HAS_GETSERVENT / **/
a8a15001 1668
2bf3754c
SH
1669/* HAS_GETSERVBYNAME:
1670 * This symbol, if defined, indicates that the getservbyname()
1671 * routine is available to look up services by their name.
1672 */
1673/* HAS_GETSERVBYPORT:
1674 * This symbol, if defined, indicates that the getservbyport()
1675 * routine is available to look up services by their port.
1676 */
1677#define HAS_GETSERVBYNAME /**/
1678#define HAS_GETSERVBYPORT /**/
1679
2bf3754c
SH
1680/* HAS_HTONL:
1681 * This symbol, if defined, indicates that the htonl() routine (and
1682 * friends htons() ntohl() ntohs()) are available to do network
1683 * order byte swapping.
1684 */
1685/* HAS_HTONS:
1686 * This symbol, if defined, indicates that the htons() routine (and
1687 * friends htonl() ntohl() ntohs()) are available to do network
1688 * order byte swapping.
1689 */
1690/* HAS_NTOHL:
1691 * This symbol, if defined, indicates that the ntohl() routine (and
1692 * friends htonl() htons() ntohs()) are available to do network
1693 * order byte swapping.
1694 */
1695/* HAS_NTOHS:
1696 * This symbol, if defined, indicates that the ntohs() routine (and
1697 * friends htonl() htons() ntohl()) are available to do network
1698 * order byte swapping.
1699 */
1700#define HAS_HTONL /**/
1701#define HAS_HTONS /**/
1702#define HAS_NTOHL /**/
1703#define HAS_NTOHS /**/
1704
f65cb320
SH
1705/* HAS_LONG_DOUBLE:
1706 * This symbol will be defined if the C compiler supports long
1707 * doubles.
a8a15001 1708 */
f65cb320
SH
1709/* LONG_DOUBLESIZE:
1710 * This symbol contains the size of a long double, so that the
1711 * C preprocessor can make decisions based on it. It is only
1712 * defined if the system supports long doubles. Note that this
1713 * is sizeof(long double), which may include unused bytes.
a8a15001 1714 */
f65cb320
SH
1715/* HAS_LDEXPL:
1716 * This symbol, if defined, indicates that the ldexpl routine is
1717 * available to shift a long double floating-point number
1718 * by an integral power of 2.
93c08870
SH
1719 */
1720/* LONG_DOUBLEKIND:
1721 * LONG_DOUBLEKIND will be one of
1722 * LONG_DOUBLE_IS_DOUBLE
1723 * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
1724 * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
1725 * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
1726 * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
3118d7d6
JH
1727 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
1728 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
1729 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
1730 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
f65cb320 1731 * LONG_DOUBLE_IS_VAX_H_FLOAT
93c08870
SH
1732 * LONG_DOUBLE_IS_UNKNOWN_FORMAT
1733 * It is only defined if the system supports long doubles.
1734 */
f65cb320
SH
1735/* LONG_DOUBLE_STYLE_IEEE:
1736 * This symbol, if defined, indicates that the long double
1737 * is any of the IEEE 754 style long doubles:
1738 * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
1739 * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
1740 */
1741/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
1742 * This symbol, if defined, indicates that the long double is
1743 * the 128-bit double-double.
1744 */
1745/* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
1746 * This symbol, if defined, indicates that the long double is
1747 * the 80-bit IEEE 754. Note that despite the 'extended' this
1748 * is less than the 'std', since this is an extension of
1749 * the double precision.
1750 */
1751/* LONG_DOUBLE_STYLE_IEEE_STD:
1752 * This symbol, if defined, indicates that the long double is
1753 * the 128-bit IEEE 754.
1754 */
1755/* LONG_DOUBLE_STYLE_VAX:
1756 * This symbol, if defined, indicates that the long double is
1757 * the 128-bit VAX format H.
1758 */
a9dc8643 1759#define HAS_LDEXPL /**/
2bf3754c
SH
1760#define HAS_LONG_DOUBLE /**/
1761#ifdef HAS_LONG_DOUBLE
1762#define LONG_DOUBLESIZE 12 /**/
93c08870
SH
1763#define LONG_DOUBLEKIND 3 /**/
1764#define LONG_DOUBLE_IS_DOUBLE 0
1765#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1
1766#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2
1767#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3
1768#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4
3118d7d6
JH
1769#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5
1770#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6
1771#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7
1772#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8
f65cb320 1773#define LONG_DOUBLE_IS_VAX_H_FLOAT 9
93c08870 1774#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1
f65cb320
SH
1775#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
1776#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
1777#undef LONG_DOUBLE_STYLE_IEEE
1778#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
1779#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
1780#undef LONG_DOUBLE_STYLE_IEEE_STD
1781#undef LONG_DOUBLE_STYLE_VAX
2bf3754c
SH
1782#endif
1783
1784/* HAS_LONG_LONG:
1785 * This symbol will be defined if the C compiler supports long long.
1786 */
1787/* LONGLONGSIZE:
1788 * This symbol contains the size of a long long, so that the
1789 * C preprocessor can make decisions based on it. It is only
1790 * defined if the system supports long long.
1791 */
1792#define HAS_LONG_LONG /**/
1793#ifdef HAS_LONG_LONG
1794#define LONGLONGSIZE 8 /**/
1795#endif
1796
2bf3754c
SH
1797/* HAS_MKSTEMP:
1798 * This symbol, if defined, indicates that the mkstemp routine is
1799 * available to exclusively create and open a uniquely named
1800 * temporary file.
1801 */
f33b2f58
K
1802#if __MINGW64_VERSION_MAJOR >= 4
1803#define HAS_MKSTEMP
1804#endif
2bf3754c
SH
1805
1806/* HAS_MMAP:
1807 * This symbol, if defined, indicates that the mmap system call is
1808 * available to map a file into memory.
1809 */
1810/* Mmap_t:
1811 * This symbol holds the return type of the mmap() system call
1812 * (and simultaneously the type of the first argument).
1813 * Usually set to 'void *' or 'caddr_t'.
1814 */
1815/*#define HAS_MMAP / **/
1816#define Mmap_t void * /**/
1817
1818/* HAS_MSG:
1819 * This symbol, if defined, indicates that the entire msg*(2) library is
1820 * supported (IPC mechanism based on message queues).
1821 */
1822/*#define HAS_MSG / **/
1823
2bf3754c
SH
1824/* HAS_SEM:
1825 * This symbol, if defined, indicates that the entire sem*(2) library is
1826 * supported.
1827 */
1828/*#define HAS_SEM / **/
1829
1830/* HAS_SETGRENT:
1831 * This symbol, if defined, indicates that the setgrent routine is
1832 * available for initializing sequential access of the group database.
1833 */
1834/*#define HAS_SETGRENT / **/
1835
2bf3754c
SH
1836/* HAS_SETHOSTENT:
1837 * This symbol, if defined, indicates that the sethostent() routine is
1838 * available.
1839 */
1840/*#define HAS_SETHOSTENT / **/
1841
2bf3754c
SH
1842/* HAS_SETNETENT:
1843 * This symbol, if defined, indicates that the setnetent() routine is
1844 * available.
1845 */
1846/*#define HAS_SETNETENT / **/
1847
2bf3754c
SH
1848/* HAS_SETPROTOENT:
1849 * This symbol, if defined, indicates that the setprotoent() routine is
1850 * available.
1851 */
1852/*#define HAS_SETPROTOENT / **/
1853
1854/* HAS_SETPGRP:
1855 * This symbol, if defined, indicates that the setpgrp routine is
1856 * available to set the current process group.
1857 */
1858/* USE_BSD_SETPGRP:
1859 * This symbol, if defined, indicates that setpgrp needs two
1860 * arguments whereas USG one needs none. See also HAS_SETPGID
1861 * for a POSIX interface.
1862 */
1863/*#define HAS_SETPGRP / **/
1864/*#define USE_BSD_SETPGRP / **/
1865
2bf3754c
SH
1866/* HAS_SETPWENT:
1867 * This symbol, if defined, indicates that the setpwent routine is
1868 * available for initializing sequential access of the passwd database.
1869 */
1870/*#define HAS_SETPWENT / **/
1871
2bf3754c
SH
1872/* HAS_SETSERVENT:
1873 * This symbol, if defined, indicates that the setservent() routine is
1874 * available.
1875 */
1876/*#define HAS_SETSERVENT / **/
1877
2bf3754c
SH
1878/* HAS_SETVBUF:
1879 * This symbol, if defined, indicates that the setvbuf routine is
1880 * available to change buffering on an open stdio stream.
1881 * to a line-buffered mode.
1882 */
1883#define HAS_SETVBUF /**/
1884
1885/* HAS_SHM:
1886 * This symbol, if defined, indicates that the entire shm*(2) library is
1887 * supported.
1888 */
1889/*#define HAS_SHM / **/
1890
1891/* Shmat_t:
1892 * This symbol holds the return type of the shmat() system call.
1893 * Usually set to 'void *' or 'char *'.
1894 */
1895/* HAS_SHMAT_PROTOTYPE:
1896 * This symbol, if defined, indicates that the sys/shm.h includes
1897 * a prototype for shmat(). Otherwise, it is up to the program to
1898 * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
1899 * but not always right so it should be emitted by the program only
1900 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
1901 */
1902#define Shmat_t void * /**/
1903/*#define HAS_SHMAT_PROTOTYPE / **/
1904
f65cb320
SH
1905/* HAS_SOCKET:
1906 * This symbol, if defined, indicates that the BSD socket interface is
1907 * supported.
2bf3754c
SH
1908 */
1909/* HAS_SOCKETPAIR:
1910 * This symbol, if defined, indicates that the BSD socketpair() call is
1911 * supported.
1912 */
2bf3754c
SH
1913/* HAS_SOCKADDR_SA_LEN:
1914 * This symbol, if defined, indicates that the struct sockaddr
1915 * structure has a member called sa_len, indicating the length of
1916 * the structure.
1917 */
1918/* HAS_SOCKADDR_IN6:
1919 * This symbol, if defined, indicates the availability of
1920 * struct sockaddr_in6;
1921 */
1922/* HAS_SIN6_SCOPE_ID:
1923 * This symbol, if defined, indicates that the struct sockaddr_in6
1924 * structure has a member called sin6_scope_id.
1925 */
1926/* HAS_IP_MREQ:
1927 * This symbol, if defined, indicates the availability of
1928 * struct ip_mreq;
1929 */
ec2a15bb
SH
1930/* HAS_IP_MREQ_SOURCE:
1931 * This symbol, if defined, indicates the availability of
1932 * struct ip_mreq_source;
1933 */
2bf3754c
SH
1934/* HAS_IPV6_MREQ:
1935 * This symbol, if defined, indicates the availability of
1936 * struct ipv6_mreq;
1937 */
ec2a15bb
SH
1938/* HAS_IPV6_MREQ_SOURCE:
1939 * This symbol, if defined, indicates the availability of
1940 * struct ipv6_mreq_source;
1941 */
2bf3754c
SH
1942#define HAS_SOCKET /**/
1943/*#define HAS_SOCKETPAIR / **/
1944/*#define HAS_SOCKADDR_SA_LEN / **/
2bf3754c
SH
1945/*#define HAS_SOCKADDR_IN6 / **/
1946#define HAS_SIN6_SCOPE_ID /**/
1947/*#define HAS_IP_MREQ / **/
ec2a15bb 1948/*#define HAS_IP_MREQ_SOURCE / **/
2bf3754c 1949/*#define HAS_IPV6_MREQ / **/
ec2a15bb 1950/*#define HAS_IPV6_MREQ_SOURCE / **/
2bf3754c 1951
2bf3754c
SH
1952/* USE_STAT_BLOCKS:
1953 * This symbol is defined if this system has a stat structure declaring
1954 * st_blksize and st_blocks.
1955 */
1956#ifndef USE_STAT_BLOCKS
1957/*#define USE_STAT_BLOCKS / **/
1958#endif
1959
2bf3754c
SH
1960/* HAS_SYS_ERRLIST:
1961 * This symbol, if defined, indicates that the sys_errlist array is
1962 * available to translate error numbers to strings. The extern int
1963 * sys_nerr gives the size of that table.
1964 */
2bf3754c 1965#define HAS_SYS_ERRLIST /**/
2bf3754c 1966
2bf3754c
SH
1967/* HAS_STRTOUL:
1968 * This symbol, if defined, indicates that the strtoul routine is
1969 * available to provide conversion of strings to unsigned long.
1970 */
1971#define HAS_STRTOUL /**/
1972
2bf3754c
SH
1973/* HAS_UNION_SEMUN:
1974 * This symbol, if defined, indicates that the union semun is
1975 * defined by including <sys/sem.h>. If not, the user code
1976 * probably needs to define it as:
1977 * union semun {
1978 * int val;
1979 * struct semid_ds *buf;
1980 * unsigned short *array;
1981 * }
0543dcd8 1982 */
2bf3754c
SH
1983/* USE_SEMCTL_SEMUN:
1984 * This symbol, if defined, indicates that union semun is
1985 * used for semctl IPC_STAT.
27bdbd07 1986 */
2bf3754c
SH
1987/* USE_SEMCTL_SEMID_DS:
1988 * This symbol, if defined, indicates that struct semid_ds * is
1989 * used for semctl IPC_STAT.
840565a7
SH
1990 */
1991#define HAS_UNION_SEMUN /**/
1992/*#define USE_SEMCTL_SEMUN / **/
1993/*#define USE_SEMCTL_SEMID_DS / **/
1994
1995/* HAS_VFORK:
1996 * This symbol, if defined, indicates that vfork() exists.
1997 */
1998/*#define HAS_VFORK / **/
1999
2000/* HAS_PSEUDOFORK:
2001 * This symbol, if defined, indicates that an emulation of the
2002 * fork routine is available.
2003 */
2004/*#define HAS_PSEUDOFORK / **/
2005
2006/* Signal_t:
2007 * This symbol's value is either "void" or "int", corresponding to the
2008 * appropriate return type of a signal handler. Thus, you can declare
2009 * a signal handler using "Signal_t (*handler)()", and define the
2010 * handler using "Signal_t handler(sig)".
2011 */
2012#define Signal_t void /* Signal handler's return type */
2013
f65cb320
SH
2014/* I_DIRENT:
2015 * This symbol, if defined, indicates to the C program that it should
2016 * include <dirent.h>. Using this symbol also triggers the definition
2017 * of the Direntry_t define which ends up being 'struct dirent' or
2018 * 'struct direct' depending on the availability of <dirent.h>.
2bf3754c 2019 */
f65cb320
SH
2020/* DIRNAMLEN:
2021 * This symbol, if defined, indicates to the C program that the length
2022 * of directory entry names is provided by a d_namlen field. Otherwise
2023 * you need to do strlen() on the d_name field.
2bf3754c 2024 */
f65cb320
SH
2025/* Direntry_t:
2026 * This symbol is set to 'struct direct' or 'struct dirent' depending on
2027 * whether dirent is available or not. You should use this pseudo type to
2028 * portably declare your directory entries.
2bf3754c 2029 */
f65cb320
SH
2030#define I_DIRENT /**/
2031#define DIRNAMLEN /**/
2032#define Direntry_t struct direct
2bf3754c 2033
f65cb320
SH
2034/* I_EXECINFO:
2035 * This symbol, if defined, indicates to the C program that it should
2036 * include <execinfo.h> for backtrace() support.
93c08870
SH
2037 */
2038/*#define I_EXECINFO / **/
2039
840565a7
SH
2040/* I_GRP:
2041 * This symbol, if defined, indicates to the C program that it should
2042 * include <grp.h>.
ec6c7eee 2043 */
840565a7
SH
2044/* GRPASSWD:
2045 * This symbol, if defined, indicates to the C program that struct group
2046 * in <grp.h> contains gr_passwd.
ec6c7eee 2047 */
840565a7
SH
2048/*#define I_GRP / **/
2049/*#define GRPASSWD / **/
2050
2051/* I_NDBM:
2052 * This symbol, if defined, indicates that <ndbm.h> exists and should
2053 * be included.
ec6c7eee 2054 */
840565a7
SH
2055/* I_GDBMNDBM:
2056 * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
2057 * be included. This was the location of the ndbm.h compatibility file
2058 * in RedHat 7.1.
ec6c7eee 2059 */
840565a7
SH
2060/* I_GDBM_NDBM:
2061 * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
2062 * be included. This is the location of the ndbm.h compatibility file
2063 * in Debian 4.0.
2064 */
2065/* NDBM_H_USES_PROTOTYPES:
2066 * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C
2067 * prototypes instead of K&R style function declarations without any
2068 * parameter information. While ANSI C prototypes are supported in C++,
2069 * K&R style function declarations will yield errors.
2070 */
2071/* GDBMNDBM_H_USES_PROTOTYPES:
2072 * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C
2073 * prototypes instead of K&R style function declarations without any
2074 * parameter information. While ANSI C prototypes are supported in C++,
2075 * K&R style function declarations will yield errors.
2076 */
2077/* GDBM_NDBM_H_USES_PROTOTYPES:
2078 * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C
2079 * prototypes instead of K&R style function declarations without any
2080 * parameter information. While ANSI C prototypes are supported in C++,
2081 * K&R style function declarations will yield errors.
2082 */
2083/*#define I_NDBM / **/
2084/*#define I_GDBMNDBM / **/
2085/*#define I_GDBM_NDBM / **/
2086/*#define NDBM_H_USES_PROTOTYPES / **/
2087/*#define GDBMNDBM_H_USES_PROTOTYPES / **/
2088/*#define GDBM_NDBM_H_USES_PROTOTYPES / **/
ec6c7eee 2089
840565a7
SH
2090/* I_NETDB:
2091 * This symbol, if defined, indicates that <netdb.h> exists and
2092 * should be included.
ec6c7eee 2093 */
840565a7 2094/*#define I_NETDB / **/
ec6c7eee 2095
840565a7
SH
2096/* I_NET_ERRNO:
2097 * This symbol, if defined, indicates that <net/errno.h> exists and
2098 * should be included.
ec6c7eee 2099 */
840565a7
SH
2100/*#define I_NET_ERRNO / **/
2101
2102/* I_PWD:
2103 * This symbol, if defined, indicates to the C program that it should
2104 * include <pwd.h>.
ec6c7eee 2105 */
840565a7
SH
2106/* PWQUOTA:
2107 * This symbol, if defined, indicates to the C program that struct passwd
2108 * contains pw_quota.
ec6c7eee 2109 */
840565a7
SH
2110/* PWAGE:
2111 * This symbol, if defined, indicates to the C program that struct passwd
2112 * contains pw_age.
ec6c7eee 2113 */
840565a7
SH
2114/* PWCHANGE:
2115 * This symbol, if defined, indicates to the C program that struct passwd
2116 * contains pw_change.
2117 */
2118/* PWCLASS:
2119 * This symbol, if defined, indicates to the C program that struct passwd
2120 * contains pw_class.
2121 */
2122/* PWEXPIRE:
2123 * This symbol, if defined, indicates to the C program that struct passwd
2124 * contains pw_expire.
2125 */
2126/* PWCOMMENT:
2127 * This symbol, if defined, indicates to the C program that struct passwd
2128 * contains pw_comment.
2129 */
2130/* PWGECOS:
2131 * This symbol, if defined, indicates to the C program that struct passwd
2132 * contains pw_gecos.
2133 */
2134/* PWPASSWD:
2135 * This symbol, if defined, indicates to the C program that struct passwd
2136 * contains pw_passwd.
2137 */
2138/*#define I_PWD / **/
2139/*#define PWQUOTA / **/
2140/*#define PWAGE / **/
2141/*#define PWCHANGE / **/
2142/*#define PWCLASS / **/
2143/*#define PWEXPIRE / **/
2144/*#define PWCOMMENT / **/
2145/*#define PWGECOS / **/
2146/*#define PWPASSWD / **/
ec6c7eee 2147
840565a7
SH
2148/* I_SYSUIO:
2149 * This symbol, if defined, indicates that <sys/uio.h> exists and
2150 * should be included.
ec6c7eee 2151 */
2bf3754c
SH
2152/*#define I_SYSUIO / **/
2153
93c08870
SH
2154/* I_TERMIO:
2155 * This symbol, if defined, indicates that the program should include
2156 * <termio.h> rather than <sgtty.h>. There are also differences in
2157 * the ioctl() calls that depend on the value of this symbol.
2158 */
2159/* I_TERMIOS:
2160 * This symbol, if defined, indicates that the program should include
2161 * the POSIX termios.h rather than sgtty.h or termio.h.
2162 * There are also differences in the ioctl() calls that depend on the
2163 * value of this symbol.
2164 */
2165/* I_SGTTY:
2166 * This symbol, if defined, indicates that the program should include
2167 * <sgtty.h> rather than <termio.h>. There are also differences in
2168 * the ioctl() calls that depend on the value of this symbol.
2169 */
2170/*#define I_TERMIO / **/
2171/*#define I_TERMIOS / **/
2172/*#define I_SGTTY / **/
2173
2bf3754c
SH
2174/* Free_t:
2175 * This variable contains the return type of free(). It is usually
2176 * void, but occasionally int.
2177 */
2178/* Malloc_t:
2179 * This symbol is the type of pointer returned by malloc and realloc.
2180 */
2181#define Malloc_t void * /**/
2182#define Free_t void /**/
2183
2184/* PERL_MALLOC_WRAP:
2185 * This symbol, if defined, indicates that we'd like malloc wrap checks.
2186 */
2187#define PERL_MALLOC_WRAP /**/
2188
2189/* MYMALLOC:
2190 * This symbol, if defined, indicates that we're using our own malloc.
2191 */
2192/*#define MYMALLOC / **/
2193
f65cb320
SH
2194/* SH_PATH:
2195 * This symbol contains the full pathname to the shell used on this
2196 * on this system to execute Bourne shell scripts. Usually, this will be
2197 * /bin/sh, though it's possible that some systems will have /bin/ksh,
2198 * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
2199 * D:/bin/sh.exe.
840565a7
SH
2200 */
2201#define SH_PATH "cmd /x /c" /**/
2202
2203/* SIG_NAME:
2204 * This symbol contains a list of signal names in order of
2205 * signal number. This is intended
2206 * to be used as a static array initialization, like this:
2207 * char *sig_name[] = { SIG_NAME };
2208 * The signals in the list are separated with commas, and each signal
2209 * is surrounded by double quotes. There is no leading SIG in the signal
2210 * name, i.e. SIGQUIT is known as "QUIT".
2211 * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
2212 * etc., where nn is the actual signal number (e.g. NUM37).
2213 * The signal number for sig_name[i] is stored in sig_num[i].
2214 * The last element is 0 to terminate the list with a NULL. This
2215 * corresponds to the 0 at the end of the sig_name_init list.
2216 * Note that this variable is initialized from the sig_name_init,
2217 * not from sig_name (which is unused).
2218 */
2219/* SIG_NUM:
2220 * This symbol contains a list of signal numbers, in the same order as the
2221 * SIG_NAME list. It is suitable for static array initialization, as in:
2222 * int sig_num[] = { SIG_NUM };
2223 * The signals in the list are separated with commas, and the indices
2224 * within that list and the SIG_NAME list match, so it's easy to compute
2225 * the signal name from a number or vice versa at the price of a small
2226 * dynamic linear lookup.
2227 * Duplicates are allowed, but are moved to the end of the list.
2228 * The signal number corresponding to sig_name[i] is sig_number[i].
2229 * if (i < NSIG) then sig_number[i] == i.
2230 * The last element is 0, corresponding to the 0 at the end of
2231 * the sig_name_init list.
2232 * Note that this variable is initialized from the sig_num_init,
2233 * not from sig_num (which is unused).
2234 */
2bf3754c
SH
2235/* SIG_SIZE:
2236 * This variable contains the number of elements of the SIG_NAME
2237 * and SIG_NUM arrays, excluding the final NULL entry.
2238 */
2239#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0 /**/
2240#define SIG_NUM 0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
2241#define SIG_SIZE 27 /**/
2242
f65cb320
SH
2243/* USE_CROSS_COMPILE:
2244 * This symbol, if defined, indicates that Perl is being cross-compiled.
2bf3754c 2245 */
f65cb320
SH
2246/* PERL_TARGETARCH:
2247 * This symbol, if defined, indicates the target architecture
2248 * Perl has been cross-compiled to. Undefined if not a cross-compile.
2bf3754c 2249 */
f65cb320
SH
2250#ifndef USE_CROSS_COMPILE
2251/*#define USE_CROSS_COMPILE / **/
2252#define PERL_TARGETARCH "" /**/
2253#endif
2bf3754c 2254
f65cb320
SH
2255/* PERL_USE_DEVEL:
2256 * This symbol, if defined, indicates that Perl was configured with
2257 * -Dusedevel, to enable development features. This should not be
2258 * done for production builds.
2bf3754c 2259 */
f65cb320 2260/*#define PERL_USE_DEVEL / **/
2bf3754c 2261
f65cb320
SH
2262/* HAS_ATOLF:
2263 * This symbol, if defined, indicates that the atolf routine is
2264 * available to convert strings into long doubles.
2bf3754c 2265 */
f65cb320 2266/*#define HAS_ATOLF / **/
2bf3754c 2267
f65cb320
SH
2268/* HAS_ATOLL:
2269 * This symbol, if defined, indicates that the atoll routine is
2270 * available to convert strings into long longs.
2bf3754c 2271 */
f65cb320 2272/*#define HAS_ATOLL / **/
2bf3754c 2273
f65cb320
SH
2274/* HAS__FWALK:
2275 * This symbol, if defined, indicates that the _fwalk system call is
2276 * available to apply a function to all the file handles.
2bf3754c 2277 */
f65cb320 2278/*#define HAS__FWALK / **/
2bf3754c 2279
f65cb320
SH
2280/* HAS_ACOSH:
2281 * This symbol, if defined, indicates that the acosh routine is
2282 * available to do the inverse hyperbolic cosine function.
2bf3754c 2283 */
e743028e 2284#define HAS_ACOSH /**/
2bf3754c 2285
f65cb320
SH
2286/* HAS_AINTL:
2287 * This symbol, if defined, indicates that the aintl routine is
2288 * available. If copysignl is also present we can emulate modfl.
2bf3754c 2289 */
f65cb320 2290/*#define HAS_AINTL / **/
2bf3754c 2291
f65cb320
SH
2292/* HAS_ASINH:
2293 * This symbol, if defined, indicates that the asinh routine is
2294 * available to do the inverse hyperbolic sine function.
2bf3754c 2295 */
e743028e 2296#define HAS_ASINH /**/
2bf3754c 2297
f65cb320
SH
2298/* HAS_ATANH:
2299 * This symbol, if defined, indicates that the atanh routine is
2300 * available to do the inverse hyperbolic tangent function.
2bf3754c 2301 */
e743028e 2302#define HAS_ATANH /**/
2bf3754c 2303
f65cb320
SH
2304/* HAS_BUILTIN_CHOOSE_EXPR:
2305 * Can we handle GCC builtin for compile-time ternary-like expressions
2bf3754c 2306 */
f65cb320
SH
2307/* HAS_BUILTIN_EXPECT:
2308 * Can we handle GCC builtin for telling that certain values are more
2309 * likely
2bf3754c 2310 */
abd494f1 2311/*#define HAS_BUILTIN_EXPECT / **/
f65cb320 2312/*#define HAS_BUILTIN_CHOOSE_EXPR / **/
2bf3754c 2313
f65cb320
SH
2314/* HAS_C99_VARIADIC_MACROS:
2315 * If defined, the compiler supports C99 variadic macros.
ec6c7eee 2316 */
f3b9bb7d 2317/*#define HAS_C99_VARIADIC_MACROS / **/
ec6c7eee
SH
2318
2319/* HAS_CLASS:
2320 * This symbol, if defined, indicates that the class routine is
2321 * available to classify doubles. Available for example in AIX.
2322 * The returned values are defined in <float.h> and are:
2323 *
2324 * FP_PLUS_NORM Positive normalized, nonzero
2325 * FP_MINUS_NORM Negative normalized, nonzero
2326 * FP_PLUS_DENORM Positive denormalized, nonzero
2327 * FP_MINUS_DENORM Negative denormalized, nonzero
2328 * FP_PLUS_ZERO +0.0
2329 * FP_MINUS_ZERO -0.0
2330 * FP_PLUS_INF +INF
2331 * FP_MINUS_INF -INF
2332 * FP_NANS Signaling Not a Number (NaNS)
2333 * FP_NANQ Quiet Not a Number (NaNQ)
2334 */
f3b9bb7d 2335/*#define HAS_CLASS / **/
ec6c7eee
SH
2336
2337/* HAS_CLEARENV:
2338 * This symbol, if defined, indicates that the clearenv () routine is
2339 * available for use.
2340 */
f3b9bb7d 2341/*#define HAS_CLEARENV / **/
ec6c7eee
SH
2342
2343/* HAS_STRUCT_CMSGHDR:
2344 * This symbol, if defined, indicates that the struct cmsghdr
2345 * is supported.
2346 */
f3b9bb7d 2347/*#define HAS_STRUCT_CMSGHDR / **/
ec6c7eee 2348
f65cb320
SH
2349/* HAS_COPYSIGN:
2350 * This symbol, if defined, indicates that the copysign routine is
2351 * available to do the copysign function.
2352 */
e743028e 2353#define HAS_COPYSIGN /**/
f65cb320 2354
ec6c7eee
SH
2355/* HAS_COPYSIGNL:
2356 * This symbol, if defined, indicates that the copysignl routine is
2357 * available. If aintl is also present we can emulate modfl.
2358 */
e743028e 2359#define HAS_COPYSIGNL /**/
ec6c7eee
SH
2360
2361/* USE_CPLUSPLUS:
2362 * This symbol, if defined, indicates that a C++ compiler was
2363 * used to compiled Perl and will be used to compile extensions.
2364 */
f3b9bb7d 2365/*#define USE_CPLUSPLUS / **/
ec6c7eee
SH
2366
2367/* HAS_DBMINIT_PROTO:
2368 * This symbol, if defined, indicates that the system provides
2369 * a prototype for the dbminit() function. Otherwise, it is up
2370 * to the program to supply one. A good guess is
2371 * extern int dbminit(char *);
2372 */
f3b9bb7d 2373/*#define HAS_DBMINIT_PROTO / **/
ec6c7eee
SH
2374
2375/* HAS_DIR_DD_FD:
2376 * This symbol, if defined, indicates that the the DIR* dirstream
2377 * structure contains a member variable named dd_fd.
2378 */
f3b9bb7d 2379/*#define HAS_DIR_DD_FD / **/
ec6c7eee
SH
2380
2381/* HAS_DIRFD:
2382 * This manifest constant lets the C program know that dirfd
2383 * is available.
2384 */
f3b9bb7d 2385/*#define HAS_DIRFD / **/
ec6c7eee
SH
2386
2387/* DLSYM_NEEDS_UNDERSCORE:
2388 * This symbol, if defined, indicates that we need to prepend an
2389 * underscore to the symbol name before calling dlsym(). This only
2390 * makes sense if you *have* dlsym, which we will presume is the
2391 * case if you're using dl_dlopen.xs.
2392 */
f3b9bb7d 2393/*#define DLSYM_NEEDS_UNDERSCORE / **/
ec6c7eee 2394
f65cb320
SH
2395/* HAS_ERF:
2396 * This symbol, if defined, indicates that the erf routine is
2397 * available to do the error function.
2398 */
e743028e 2399#define HAS_ERF /**/
f65cb320
SH
2400
2401/* HAS_ERFC:
2402 * This symbol, if defined, indicates that the erfc routine is
2403 * available to do the complementary error function.
2404 */
2405/*#define HAS_ERFC / **/
2406
2407/* HAS_EXP2:
2408 * This symbol, if defined, indicates that the exp2 routine is
2409 * available to do the 2**x function.
2410 */
e743028e 2411#define HAS_EXP2 /**/
f65cb320
SH
2412
2413/* HAS_EXPM1:
2414 * This symbol, if defined, indicates that the expm1 routine is
2415 * available to do the exp(x) - 1 when x is near 1 function.
2416 */
e743028e 2417#define HAS_EXPM1 /**/
f65cb320 2418
ec6c7eee
SH
2419/* HAS_FAST_STDIO:
2420 * This symbol, if defined, indicates that the "fast stdio"
2421 * is available to manipulate the stdio buffers directly.
2422 */
2423#define HAS_FAST_STDIO /**/
2424
2425/* HAS_FCHDIR:
2426 * This symbol, if defined, indicates that the fchdir routine is
2427 * available to change directory using a file descriptor.
2428 */
f3b9bb7d 2429/*#define HAS_FCHDIR / **/
ec6c7eee
SH
2430
2431/* FCNTL_CAN_LOCK:
2432 * This symbol, if defined, indicates that fcntl() can be used
2433 * for file locking. Normally on Unix systems this is defined.
2434 * It may be undefined on VMS.
2435 */
f3b9bb7d 2436/*#define FCNTL_CAN_LOCK / **/
ec6c7eee 2437
f65cb320
SH
2438/* HAS_FDCLOSE:
2439 * This symbol, if defined, indicates that the fdclose routine is
2440 * available to free a FILE structure without closing the underlying
2441 * file descriptor. This function appeared in FreeBSD 10.2.
2442 */
2443/*#define HAS_FDCLOSE / **/
2444
2445/* HAS_FDIM:
2446 * This symbol, if defined, indicates that the fdim routine is
2447 * available to do the positive difference function.
2448 */
2449/*#define HAS_FDIM / **/
2450
93c08870
SH
2451/* HAS_FEGETROUND:
2452 * This symbol, if defined, indicates that the fegetround routine is
2453 * available to return the macro corresponding to the current rounding
2454 * mode.
2455 */
2456/*#define HAS_FEGETROUND / **/
2457
ec6c7eee
SH
2458/* HAS_FINITE:
2459 * This symbol, if defined, indicates that the finite routine is
2460 * available to check whether a double is finite (non-infinity non-NaN).
2461 */
e743028e 2462#define HAS_FINITE /**/
ec6c7eee
SH
2463
2464/* HAS_FINITEL:
2465 * This symbol, if defined, indicates that the finitel routine is
2466 * available to check whether a long double is finite
2467 * (non-infinity non-NaN).
2468 */
f3b9bb7d 2469/*#define HAS_FINITEL / **/
ec6c7eee
SH
2470
2471/* HAS_FLOCK_PROTO:
2472 * This symbol, if defined, indicates that the system provides
2473 * a prototype for the flock() function. Otherwise, it is up
2474 * to the program to supply one. A good guess is
2475 * extern int flock(int, int);
2476 */
2477#define HAS_FLOCK_PROTO /**/
2478
f65cb320
SH
2479/* HAS_FMA:
2480 * This symbol, if defined, indicates that the fma routine is
2481 * available to do the multiply-add function.
2482 */
2483/*#define HAS_FMA / **/
2484
2485/* HAS_FMAX:
2486 * This symbol, if defined, indicates that the fmax routine is
2487 * available to do the maximum function.
2488 */
e743028e 2489#define HAS_FMAX /**/
f65cb320
SH
2490
2491/* HAS_FMIN:
2492 * This symbol, if defined, indicates that the fmin routine is
2493 * available to do the minimum function.
2494 */
e743028e 2495#define HAS_FMIN /**/
f65cb320 2496
ec6c7eee
SH
2497/* HAS_FP_CLASS:
2498 * This symbol, if defined, indicates that the fp_class routine is
2499 * available to classify doubles. Available for example in Digital UNIX.
2500 * The returned values are defined in <math.h> and are:
2501 *
2502 * FP_SNAN Signaling NaN (Not-a-Number)
2503 * FP_QNAN Quiet NaN (Not-a-Number)
2504 * FP_POS_INF +infinity
2505 * FP_NEG_INF -infinity
2506 * FP_POS_NORM Positive normalized
2507 * FP_NEG_NORM Negative normalized
2508 * FP_POS_DENORM Positive denormalized
2509 * FP_NEG_DENORM Negative denormalized
2510 * FP_POS_ZERO +0.0 (positive zero)
2511 * FP_NEG_ZERO -0.0 (negative zero)
2512 */
f3b9bb7d 2513/*#define HAS_FP_CLASS / **/
ec6c7eee 2514
93c08870
SH
2515/* HAS_FP_CLASSL:
2516 * This symbol, if defined, indicates that the fp_classl routine is
2517 * available to classify long doubles. Available for example in
2518 * Digital UNIX. See for possible values HAS_FP_CLASS.
2519 */
2520/*#define HAS_FP_CLASSL / **/
2521
ec6c7eee
SH
2522/* HAS_FPCLASS:
2523 * This symbol, if defined, indicates that the fpclass routine is
2524 * available to classify doubles. Available for example in Solaris/SVR4.
2525 * The returned values are defined in <ieeefp.h> and are:
2526 *
2527 * FP_SNAN signaling NaN
2528 * FP_QNAN quiet NaN
2529 * FP_NINF negative infinity
2530 * FP_PINF positive infinity
2531 * FP_NDENORM negative denormalized non-zero
2532 * FP_PDENORM positive denormalized non-zero
2533 * FP_NZERO negative zero
2534 * FP_PZERO positive zero
2535 * FP_NNORM negative normalized non-zero
2536 * FP_PNORM positive normalized non-zero
2537 */
f3b9bb7d 2538/*#define HAS_FPCLASS / **/
ec6c7eee
SH
2539
2540/* HAS_FPCLASSIFY:
2541 * This symbol, if defined, indicates that the fpclassify routine is
2542 * available to classify doubles. Available for example in HP-UX.
2543 * The returned values are defined in <math.h> and are
2544 *
2545 * FP_NORMAL Normalized
2546 * FP_ZERO Zero
2547 * FP_INFINITE Infinity
2548 * FP_SUBNORMAL Denormalized
2549 * FP_NAN NaN
2550 *
2551 */
93c08870
SH
2552/* HAS_FP_CLASSIFY:
2553 * This symbol, if defined, indicates that the fp_classify routine is
2554 * available to classify doubles. The values are defined in <math.h>
2555 *
2556 * FP_NORMAL Normalized
2557 * FP_ZERO Zero
2558 * FP_INFINITE Infinity
2559 * FP_SUBNORMAL Denormalized
2560 * FP_NAN NaN
2561 *
2562 */
2563/*#define HAS_FPCLASSIFY / **/
2564/*#define HAS_FP_CLASSIFY / **/
ec6c7eee
SH
2565
2566/* HAS_FPCLASSL:
2567 * This symbol, if defined, indicates that the fpclassl routine is
2568 * available to classify long doubles. Available for example in IRIX.
2569 * The returned values are defined in <ieeefp.h> and are:
2570 *
2571 * FP_SNAN signaling NaN
2572 * FP_QNAN quiet NaN
2573 * FP_NINF negative infinity
2574 * FP_PINF positive infinity
2575 * FP_NDENORM negative denormalized non-zero
2576 * FP_PDENORM positive denormalized non-zero
2577 * FP_NZERO negative zero
2578 * FP_PZERO positive zero
2579 * FP_NNORM negative normalized non-zero
2580 * FP_PNORM positive normalized non-zero
2581 */
f3b9bb7d 2582/*#define HAS_FPCLASSL / **/
ec6c7eee 2583
93c08870
SH
2584/* HAS_FPGETROUND:
2585 * This symbol, if defined, indicates that the fpgetround routine is
2586 * available to get the floating point rounding mode.
2587 */
2588/*#define HAS_FPGETROUND / **/
2589
ec6c7eee
SH
2590/* HAS_FPOS64_T:
2591 * This symbol will be defined if the C compiler supports fpos64_t.
2592 */
f3b9bb7d 2593/*#define HAS_FPOS64_T / **/
ec6c7eee
SH
2594
2595/* HAS_FREXPL:
2596 * This symbol, if defined, indicates that the frexpl routine is
2597 * available to break a long double floating-point number into
2598 * a normalized fraction and an integral power of 2.
2599 */
e743028e 2600#define HAS_FREXPL /**/
ec6c7eee 2601
ea442100
JH
2602/* HAS_STRUCT_FS_DATA:
2603 * This symbol, if defined, indicates that the struct fs_data
2604 * to do statfs() is supported.
2605 */
2606/*#define HAS_STRUCT_FS_DATA / **/
2607
f65cb320
SH
2608/* HAS_FCHMODAT:
2609 * This symbol is defined if the fchmodat() routine is available.
2610 */
2611/* HAS_LINKAT:
2612 * This symbol is defined if the linkat() routine is available.
2613 */
2614/* HAS_OPENAT:
2615 * This symbol is defined if the openat() routine is available.
2616 */
2617/* HAS_RENAMEAT:
2618 * This symbol is defined if the renameat() routine is available.
2619 */
2620/* HAS_UNLINKAT:
2621 * This symbol is defined if the unlinkat() routine is available.
2622 */
2623/*#define HAS_FCHMODAT / **/
2624/*#define HAS_LINKAT / **/
2625/*#define HAS_OPENAT / **/
2626/*#define HAS_RENAMEAT / **/
2627/*#define HAS_UNLINKAT / **/
2628
ec6c7eee
SH
2629/* HAS_FSEEKO:
2630 * This symbol, if defined, indicates that the fseeko routine is
2631 * available to fseek beyond 32 bits (useful for ILP32 hosts).
2632 */
f3b9bb7d 2633/*#define HAS_FSEEKO / **/
ec6c7eee 2634
ea442100
JH
2635/* HAS_FSTATFS:
2636 * This symbol, if defined, indicates that the fstatfs routine is
2637 * available to stat filesystems by file descriptors.
2638 */
2639/*#define HAS_FSTATFS / **/
2640
ec6c7eee
SH
2641/* HAS_FSYNC:
2642 * This symbol, if defined, indicates that the fsync routine is
2643 * available to write a file's modified data and attributes to
2644 * permanent storage.
2645 */
f3b9bb7d 2646/*#define HAS_FSYNC / **/
ec6c7eee
SH
2647
2648/* HAS_FTELLO:
2649 * This symbol, if defined, indicates that the ftello routine is
2650 * available to ftell beyond 32 bits (useful for ILP32 hosts).
2651 */
f3b9bb7d 2652/*#define HAS_FTELLO / **/
ec6c7eee
SH
2653
2654/* HAS_FUTIMES:
2655 * This symbol, if defined, indicates that the futimes routine is
2656 * available to change file descriptor time stamps with struct timevals.
2657 */
f3b9bb7d 2658/*#define HAS_FUTIMES / **/
2659
f65cb320
SH
2660/* HAS_GAI_STRERROR:
2661 * This symbol, if defined, indicates that the gai_strerror routine
2662 * is available to translate error codes returned by getaddrinfo()
2663 * into human readable strings.
2664 */
2665/*#define HAS_GAI_STRERROR / **/
2666
f3b9bb7d 2667/* HAS_GETADDRINFO:
2668 * This symbol, if defined, indicates that the getaddrinfo() function
2669 * is available for use.
2670 */
2671/*#define HAS_GETADDRINFO / **/
ec6c7eee
SH
2672
2673/* HAS_GETCWD:
2674 * This symbol, if defined, indicates that the getcwd routine is
2675 * available to get the current working directory.
2676 */
2677#define HAS_GETCWD /**/
2678
2679/* HAS_GETESPWNAM:
2680 * This symbol, if defined, indicates that the getespwnam system call is
840565a7 2681 * available to retrieve enhanced (shadow) password entries by name.
ec6c7eee 2682 */
f3b9bb7d 2683/*#define HAS_GETESPWNAM / **/
ec6c7eee 2684
ea442100
JH
2685/* HAS_GETFSSTAT:
2686 * This symbol, if defined, indicates that the getfsstat routine is
2687 * available to stat filesystems in bulk.
2688 */
2689/*#define HAS_GETFSSTAT / **/
2690
ec6c7eee
SH
2691/* HAS_GETITIMER:
2692 * This symbol, if defined, indicates that the getitimer routine is
2693 * available to return interval timers.
2694 */
f3b9bb7d 2695/*#define HAS_GETITIMER / **/
ec6c7eee 2696
ea442100
JH
2697/* HAS_GETMNT:
2698 * This symbol, if defined, indicates that the getmnt routine is
2699 * available to get filesystem mount info by filename.
2700 */
2701/*#define HAS_GETMNT / **/
2702
2703/* HAS_GETMNTENT:
2704 * This symbol, if defined, indicates that the getmntent routine is
2705 * available to iterate through mounted file systems to get their info.
2706 */
2707/*#define HAS_GETMNTENT / **/
2708
f3b9bb7d 2709/* HAS_GETNAMEINFO:
2710 * This symbol, if defined, indicates that the getnameinfo() function
2711 * is available for use.
2712 */
2713/*#define HAS_GETNAMEINFO / **/
ec6c7eee
SH
2714
2715/* HAS_GETPRPWNAM:
2716 * This symbol, if defined, indicates that the getprpwnam system call is
2717 * available to retrieve protected (shadow) password entries by name.
2718 */
f3b9bb7d 2719/*#define HAS_GETPRPWNAM / **/
ec6c7eee
SH
2720
2721/* HAS_GETSPNAM:
2722 * This symbol, if defined, indicates that the getspnam system call is
2723 * available to retrieve SysV shadow password entries by name.
2724 */
f3b9bb7d 2725/*#define HAS_GETSPNAM / **/
ec6c7eee 2726
ea442100
JH
2727/* HAS_HASMNTOPT:
2728 * This symbol, if defined, indicates that the hasmntopt routine is
2729 * available to query the mount options of file systems.
2730 */
2731/*#define HAS_HASMNTOPT / **/
2732
f65cb320
SH
2733/* HAS_HYPOT:
2734 * This symbol, if defined, indicates that the hypot routine is
2735 * available to do the hypotenuse function.
2736 */
e743028e 2737#define HAS_HYPOT /**/
f65cb320
SH
2738
2739/* HAS_ILOGB:
2740 * This symbol, if defined, indicates that the ilogb routine is
2741 * available to get integer exponent of a floating-point value.
2742 */
e743028e 2743#define HAS_ILOGB /**/
f65cb320 2744
ec6c7eee
SH
2745/* HAS_ILOGBL:
2746 * This symbol, if defined, indicates that the ilogbl routine is
2747 * available. If scalbnl is also present we can emulate frexpl.
2748 */
e743028e 2749#define HAS_ILOGBL /**/
f3b9bb7d 2750
2751/* HAS_INETNTOP:
2752 * This symbol, if defined, indicates that the inet_ntop() function
2753 * is available to parse IPv4 and IPv6 strings.
2754 */
2755/*#define HAS_INETNTOP / **/
2756
2757/* HAS_INETPTON:
2758 * This symbol, if defined, indicates that the inet_pton() function
2759 * is available to parse IPv4 and IPv6 strings.
2760 */
2761/*#define HAS_INETPTON / **/
ec6c7eee
SH
2762
2763/* HAS_INT64_T:
2764 * This symbol will defined if the C compiler supports int64_t.
2765 * Usually the <inttypes.h> needs to be included, but sometimes
2766 * <sys/types.h> is enough.
2767 */
f3b9bb7d 2768/*#define HAS_INT64_T / **/
ec6c7eee 2769
2bf3754c 2770/* HAS_ISBLANK:
ec2a15bb 2771 * This manifest constant lets the C program know that isblank
2bf3754c
SH
2772 * is available.
2773 */
2774/*#define HAS_ISBLANK / **/
2775
ec6c7eee
SH
2776/* HAS_ISFINITE:
2777 * This symbol, if defined, indicates that the isfinite routine is
2778 * available to check whether a double is finite (non-infinity non-NaN).
2779 */
f3b9bb7d 2780/*#define HAS_ISFINITE / **/
ec6c7eee 2781
93c08870
SH
2782/* HAS_ISFINITEL:
2783 * This symbol, if defined, indicates that the isfinitel routine is
2784 * available to check whether a long double is finite.
2785 * (non-infinity non-NaN).
2786 */
2787/*#define HAS_ISFINITEL / **/
2788
ec6c7eee
SH
2789/* HAS_ISINF:
2790 * This symbol, if defined, indicates that the isinf routine is
2791 * available to check whether a double is an infinity.
2792 */
e743028e 2793#define HAS_ISINF /**/
ec6c7eee 2794
93c08870
SH
2795/* HAS_ISINFL:
2796 * This symbol, if defined, indicates that the isinfl routine is
2797 * available to check whether a long double is an infinity.
2798 */
2799/*#define HAS_ISINFL / **/
2800
f65cb320
SH
2801/* HAS_ISLESS:
2802 * This symbol, if defined, indicates that the isless routine is
2803 * available to do the isless function.
2804 */
e743028e 2805#define HAS_ISLESS /**/
f65cb320 2806
ec6c7eee
SH
2807/* HAS_ISNAN:
2808 * This symbol, if defined, indicates that the isnan routine is
2809 * available to check whether a double is a NaN.
2810 */
2811#define HAS_ISNAN /**/
2812
2813/* HAS_ISNANL:
2814 * This symbol, if defined, indicates that the isnanl routine is
2815 * available to check whether a long double is a NaN.
2816 */
e743028e 2817#define HAS_ISNANL /**/
ec6c7eee 2818
f65cb320
SH
2819/* HAS_ISNORMAL:
2820 * This symbol, if defined, indicates that the isnormal routine is
2821 * available to check whether a double is normal (non-zero normalized).
2822 */
e743028e 2823#define HAS_ISNORMAL /**/
f65cb320 2824
93c08870
SH
2825/* HAS_J0:
2826 * This symbol, if defined, indicates to the C program that the
2827 * j0() function is available for Bessel functions of the first
2828 * kind of the order zero, for doubles.
2829 */
2830/* HAS_J0L:
2831 * This symbol, if defined, indicates to the C program that the
2832 * j0l() function is available for Bessel functions of the first
2833 * kind of the order zero, for long doubles.
2834 */
e743028e 2835#define HAS_J0 /**/
93c08870
SH
2836/*#define HAS_J0L / **/
2837
f65cb320
SH
2838/* HAS_LC_MONETARY_2008:
2839 * This symbol, if defined, indicates that the localeconv routine is
2840 * available and has the additional members added in POSIX 1003.1-2008.
2841 */
2842/*#define HAS_LC_MONETARY_2008 / **/
2843
ec6c7eee
SH
2844/* HAS_LDBL_DIG:
2845 * This symbol, if defined, indicates that this system's <float.h>
2846 * or <limits.h> defines the symbol LDBL_DIG, which is the number
2847 * of significant digits in a long double precision number. Unlike
2848 * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
2849 */
2850#define HAS_LDBL_DIG /**/
2851
f65cb320
SH
2852/* HAS_LGAMMA:
2853 * This symbol, if defined, indicates that the lgamma routine is
2854 * available to do the log gamma function. See also HAS_TGAMMA and
2855 * HAS_LGAMMA_R.
2856 */
e743028e 2857#define HAS_LGAMMA /**/
f65cb320
SH
2858
2859/* HAS_LGAMMA_R:
2860 * This symbol, if defined, indicates that the lgamma_r routine is
2861 * available to do the log gamma function without using the global
2862 * signgam variable.
2863 */
2864/*#define HAS_LGAMMA_R / **/
2865
ec6c7eee
SH
2866/* LIBM_LIB_VERSION:
2867 * This symbol, if defined, indicates that libm exports _LIB_VERSION
2868 * and that math.h defines the enum to manipulate it.
2869 */
f3b9bb7d 2870/*#define LIBM_LIB_VERSION / **/
ec6c7eee 2871
f65cb320
SH
2872/* HAS_LLRINT:
2873 * This symbol, if defined, indicates that the llrint routine is
2874 * available to return the long long value closest to a double
2875 * (according to the current rounding mode).
2876 */
e743028e 2877#define HAS_LLRINT /**/
f65cb320
SH
2878
2879/* HAS_LLRINTL:
2880 * This symbol, if defined, indicates that the llrintl routine is
2881 * available to return the long long value closest to a long double
2882 * (according to the current rounding mode).
2883 */
e743028e 2884#define HAS_LLRINTL /**/
f65cb320
SH
2885
2886/* HAS_LLROUND:
2887 * This symbol, if defined, indicates that the llround routine is
2888 * available to return the nearest long long value.
2889 */
e743028e 2890#define HAS_LLROUND /**/
f65cb320
SH
2891
2892/* HAS_LLROUNDL:
2893 * This symbol, if defined, indicates that the llroundl routine is
2894 * available to return the nearest long long value away from zero of
2895 * the long double argument value.
2896 */
e743028e 2897#define HAS_LLROUNDL /**/
f65cb320
SH
2898
2899/* HAS_LOG1P:
2900 * This symbol, if defined, indicates that the log1p routine is
2901 * available to do the logarithm of 1 plus argument function.
2902 */
e743028e 2903#define HAS_LOG1P /**/
f65cb320
SH
2904
2905/* HAS_LOG2:
2906 * This symbol, if defined, indicates that the log2 routine is
2907 * available to do the log2 function.
2908 */
e743028e 2909#define HAS_LOG2 /**/
f65cb320
SH
2910
2911/* HAS_LOGB:
2912 * This symbol, if defined, indicates that the logb routine is
2913 * available to do the logb function.
2914 */
e743028e 2915#define HAS_LOGB /**/
f65cb320
SH
2916
2917/* HAS_LRINT:
2918 * This symbol, if defined, indicates that the lrint routine is
2919 * available to return the integral value closest to a double
2920 * (according to the current rounding mode).
2921 */
e743028e 2922#define HAS_LRINT /**/
f65cb320
SH
2923
2924/* HAS_LRINTL:
2925 * This symbol, if defined, indicates that the lrintl routine is
2926 * available to return the integral value closest to a long double
2927 * (according to the current rounding mode).
2928 */
e743028e 2929#define HAS_LRINTL /**/
f65cb320
SH
2930
2931/* HAS_LROUND:
2932 * This symbol, if defined, indicates that the lround routine is
2933 * available to return the nearest integral value.
2934 */
e743028e 2935#define HAS_LROUND /**/
f65cb320
SH
2936
2937/* HAS_LROUNDL:
2938 * This symbol, if defined, indicates that the lroundl routine is
2939 * available to return the nearest integral value away from zero of
2940 * the long double argument value.
2941 */
e743028e 2942#define HAS_LROUNDL /**/
f65cb320 2943
ec6c7eee
SH
2944/* HAS_MADVISE:
2945 * This symbol, if defined, indicates that the madvise system call is
2946 * available to map a file into memory.
2947 */
f3b9bb7d 2948/*#define HAS_MADVISE / **/
ec6c7eee
SH
2949
2950/* HAS_MALLOC_SIZE:
2951 * This symbol, if defined, indicates that the malloc_size
2952 * routine is available for use.
2953 */
f3b9bb7d 2954/*#define HAS_MALLOC_SIZE / **/
ec6c7eee
SH
2955
2956/* HAS_MALLOC_GOOD_SIZE:
2957 * This symbol, if defined, indicates that the malloc_good_size
2958 * routine is available for use.
2959 */
f3b9bb7d 2960/*#define HAS_MALLOC_GOOD_SIZE / **/
ec6c7eee 2961
f65cb320
SH
2962/* HAS_MEMMEM:
2963 * This symbol, if defined, indicates that the memmem routine is
f1460a66 2964 * available to return a pointer to the start of the first occurrence
f65cb320
SH
2965 * of a substring in a memory area (or NULL if not found).
2966 */
2967/*#define HAS_MEMMEM / **/
2968
2969/* HAS_MEMRCHR:
2970 * This symbol, if defined, indicates that the memrchr routine is
2971 * available to return a pointer to the last occurrence of a byte in
2972 * a memory area (or NULL if not found).
2973 */
2974/*#define HAS_MEMRCHR / **/
2975
ec6c7eee
SH
2976/* HAS_MKDTEMP:
2977 * This symbol, if defined, indicates that the mkdtemp routine is
2978 * available to exclusively create a uniquely named temporary directory.
2979 */
f3b9bb7d 2980/*#define HAS_MKDTEMP / **/
ec6c7eee
SH
2981
2982/* HAS_MKSTEMPS:
2983 * This symbol, if defined, indicates that the mkstemps routine is
840565a7 2984 * available to exclusively create and open a uniquely named
ec6c7eee
SH
2985 * (with a suffix) temporary file.
2986 */
f3b9bb7d 2987/*#define HAS_MKSTEMPS / **/
ec6c7eee
SH
2988
2989/* HAS_MODFL:
2990 * This symbol, if defined, indicates that the modfl routine is
2991 * available to split a long double x into a fractional part f and
2992 * an integer part i such that |f| < 1.0 and (f + i) = x.
2993 */
2994/* HAS_MODFL_PROTO:
2995 * This symbol, if defined, indicates that the system provides
2996 * a prototype for the modfl() function. Otherwise, it is up
2997 * to the program to supply one.
2998 */
e743028e 2999#define HAS_MODFL /**/
f3b9bb7d 3000/*#define HAS_MODFL_PROTO / **/
ec6c7eee
SH
3001
3002/* HAS_MPROTECT:
3003 * This symbol, if defined, indicates that the mprotect system call is
3004 * available to modify the access protection of a memory mapped file.
3005 */
f3b9bb7d 3006/*#define HAS_MPROTECT / **/
ec6c7eee
SH
3007
3008/* HAS_STRUCT_MSGHDR:
3009 * This symbol, if defined, indicates that the struct msghdr
3010 * is supported.
3011 */
f3b9bb7d 3012/*#define HAS_STRUCT_MSGHDR / **/
ec6c7eee 3013
f65cb320
SH
3014/* HAS_NAN:
3015 * This symbol, if defined, indicates that the nan routine is
3016 * available to generate NaN.
3017 */
e743028e 3018#define HAS_NAN /**/
f65cb320
SH
3019
3020/* HAS_NEARBYINT:
3021 * This symbol, if defined, indicates that the nearbyint routine is
3022 * available to return the integral value closest to (according to
3023 * the current rounding mode) to x.
3024 */
e743028e 3025#define HAS_NEARBYINT /**/
f65cb320
SH
3026
3027/* HAS_NEWLOCALE:
3028 * This symbol, if defined, indicates that the newlocale routine is
3029 * available to return a new locale object or modify an existing
3030 * locale object.
3031 */
3032/* HAS_FREELOCALE:
3033 * This symbol, if defined, indicates that the freelocale routine is
3034 * available to deallocates the resources associated with a locale object.
3035 */
3036/* HAS_USELOCALE:
3037 * This symbol, if defined, indicates that the uselocale routine is
3038 * available to set the current locale for the calling thread.
3039 */
3040/* HAS_QUERYLOCALE:
3041 * This symbol, if defined, indicates that the querylocale routine is
3042 * available to return the name of the locale for a category mask.
3043 */
3044/* I_XLOCALE:
3045 * This symbol, if defined, indicates to the C program that it should
3046 * include <xlocale.h> to get uselocale() and its friends.
3047 */
3048/*#define HAS_NEWLOCALE / **/
3049/*#define HAS_FREELOCALE / **/
3050/*#define HAS_USELOCALE / **/
3051/*#define HAS_QUERYLOCALE / **/
3052/*#define I_XLOCALE / **/
3053
3054/* HAS_NEXTAFTER:
3055 * This symbol, if defined, indicates that the nextafter routine is
3056 * available to return the next machine representable double from
3057 * x in direction y.
3058 */
e743028e 3059#define HAS_NEXTAFTER /**/
f65cb320
SH
3060
3061/* HAS_NEXTTOWARD:
3062 * This symbol, if defined, indicates that the nexttoward routine is
3063 * available to return the next machine representable long double from
3064 * x in direction y.
3065 */
e743028e 3066#define HAS_NEXTTOWARD /**/
f65cb320 3067
ec6c7eee
SH
3068/* HAS_NL_LANGINFO:
3069 * This symbol, if defined, indicates that the nl_langinfo routine is
3070 * available to return local data. You will also need <langinfo.h>
3071 * and therefore I_LANGINFO.
3072 */
f3b9bb7d 3073/*#define HAS_NL_LANGINFO / **/
ec6c7eee
SH
3074
3075/* HAS_OFF64_T:
3076 * This symbol will be defined if the C compiler supports off64_t.
3077 */
f3b9bb7d 3078/*#define HAS_OFF64_T / **/
ec6c7eee 3079
840565a7
SH
3080/* HAS_PRCTL:
3081 * This symbol, if defined, indicates that the prctl routine is
3082 * available to set process title.
f65cb320
SH
3083 * Note that there are at least two prctl variants: Linux and Irix.
3084 * While they are somewhat similar, they are incompatible.
840565a7
SH
3085 */
3086/* HAS_PRCTL_SET_NAME:
3087 * This symbol, if defined, indicates that the prctl routine is
3088 * available to set process title and supports PR_SET_NAME.
3089 */
3090/*#define HAS_PRCTL / **/
3091/*#define HAS_PRCTL_SET_NAME / **/
3092
ec6c7eee
SH
3093/* HAS_PROCSELFEXE:
3094 * This symbol is defined if PROCSELFEXE_PATH is a symlink
3095 * to the absolute pathname of the executing program.
3096 */
3097/* PROCSELFEXE_PATH:
3098 * If HAS_PROCSELFEXE is defined this symbol is the filename
3099 * of the symbolic link pointing to the absolute pathname of
3100 * the executing program.
3101 */
f3b9bb7d 3102/*#define HAS_PROCSELFEXE / **/
ec6c7eee
SH
3103#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
3104#define PROCSELFEXE_PATH /**/
3105#endif
3106
3107/* HAS_PTHREAD_ATTR_SETSCOPE:
3108 * This symbol, if defined, indicates that the pthread_attr_setscope
3109 * system call is available to set the contention scope attribute of
3110 * a thread attribute object.
3111 */
f3b9bb7d 3112/*#define HAS_PTHREAD_ATTR_SETSCOPE / **/
ec6c7eee 3113
93c08870
SH
3114/* HAS_PTRDIFF_T:
3115 * This symbol will be defined if the C compiler supports ptrdiff_t.
3116 */
3117#define HAS_PTRDIFF_T /**/
3118
ec6c7eee
SH
3119/* HAS_READV:
3120 * This symbol, if defined, indicates that the readv routine is
3121 * available to do gather reads. You will also need <sys/uio.h>
3122 * and there I_SYSUIO.
3123 */
f3b9bb7d 3124/*#define HAS_READV / **/
ec6c7eee
SH
3125
3126/* HAS_RECVMSG:
3127 * This symbol, if defined, indicates that the recvmsg routine is
3128 * available to send structured socket messages.
3129 */
f3b9bb7d 3130/*#define HAS_RECVMSG / **/
ec6c7eee 3131
f65cb320
SH
3132/* HAS_REMAINDER:
3133 * This symbol, if defined, indicates that the remainder routine is
3134 * available to return the floating-point remainder.
3135 */
e743028e 3136#define HAS_REMAINDER /**/
f65cb320
SH
3137
3138/* HAS_REMQUO:
3139 * This symbol, if defined, indicates that the remquo routine is
3140 * available to return the remainder and part of quotient.
3141 */
e743028e 3142#define HAS_REMQUO /**/
f65cb320
SH
3143
3144/* HAS_RINT:
3145 * This symbol, if defined, indicates that the rint routine is
3146 * available to return the nearest integral value to x as double
3147 * using the current rounding mode.
3148 */
e743028e 3149#define HAS_RINT /**/
f65cb320
SH
3150
3151/* HAS_ROUND:
3152 * This symbol, if defined, indicates that the round routine is
3153 * available to round to nearest integer, away from zero.
3154 */
e743028e 3155#define HAS_ROUND /**/
f65cb320 3156
ec6c7eee
SH
3157/* HAS_SBRK_PROTO:
3158 * This symbol, if defined, indicates that the system provides
3159 * a prototype for the sbrk() function. Otherwise, it is up
3160 * to the program to supply one. Good guesses are
3161 * extern void* sbrk(int);
3162 * extern void* sbrk(size_t);
3163 */
f3b9bb7d 3164/*#define HAS_SBRK_PROTO / **/
ec6c7eee 3165
f65cb320
SH
3166/* HAS_SCALBN:
3167 * This symbol, if defined, indicates that the scalbn routine is
3168 * available to multiply floating-point number by integral power
3169 * of radix.
3170 */
e743028e 3171#define HAS_SCALBN /**/
f65cb320 3172
ec6c7eee
SH
3173/* HAS_SCALBNL:
3174 * This symbol, if defined, indicates that the scalbnl routine is
3175 * available. If ilogbl is also present we can emulate frexpl.
3176 */
e743028e 3177#define HAS_SCALBNL /**/
ec6c7eee
SH
3178
3179/* HAS_SENDMSG:
3180 * This symbol, if defined, indicates that the sendmsg routine is
3181 * available to send structured socket messages.
3182 */
f3b9bb7d 3183/*#define HAS_SENDMSG / **/
ec6c7eee
SH
3184
3185/* HAS_SETITIMER:
3186 * This symbol, if defined, indicates that the setitimer routine is
3187 * available to set interval timers.
3188 */
f3b9bb7d 3189/*#define HAS_SETITIMER / **/
ec6c7eee
SH
3190
3191/* HAS_SETPROCTITLE:
3192 * This symbol, if defined, indicates that the setproctitle routine is
3193 * available to set process title.
3194 */
f3b9bb7d 3195/*#define HAS_SETPROCTITLE / **/
ec6c7eee 3196
ec6c7eee
SH
3197/* HAS_SIGNBIT:
3198 * This symbol, if defined, indicates that the signbit routine is
3199 * available to check if the given number has the sign bit set.
3200 * This should include correct testing of -0.0. This will only be set
3201 * if the signbit() routine is safe to use with the NV type used internally
3202 * in perl. Users should call Perl_signbit(), which will be #defined to
3203 * the system's signbit() function or macro if this symbol is defined.
3204 */
e743028e 3205#define HAS_SIGNBIT /**/
ec6c7eee
SH
3206
3207/* HAS_SIGPROCMASK:
3208 * This symbol, if defined, indicates that the sigprocmask
3209 * system call is available to examine or change the signal mask
3210 * of the calling process.
3211 */
f3b9bb7d 3212/*#define HAS_SIGPROCMASK / **/
ec6c7eee
SH
3213
3214/* USE_SITECUSTOMIZE:
3215 * This symbol, if defined, indicates that sitecustomize should
3216 * be used.
3217 */
3218#ifndef USE_SITECUSTOMIZE
f3b9bb7d 3219/*#define USE_SITECUSTOMIZE / **/
ec6c7eee
SH
3220#endif
3221
4059ba87
AC
3222/* HAS_SNPRINTF:
3223 * This symbol, if defined, indicates that the snprintf () library
3224 * function is available for use.
3225 */
3226/* HAS_VSNPRINTF:
3227 * This symbol, if defined, indicates that the vsnprintf () library
3228 * function is available for use.
3229 */
3230#define HAS_SNPRINTF /**/
3231#define HAS_VSNPRINTF /**/
3232
ec6c7eee
SH
3233/* HAS_SOCKATMARK:
3234 * This symbol, if defined, indicates that the sockatmark routine is
3235 * available to test whether a socket is at the out-of-band mark.
3236 */
f3b9bb7d 3237/*#define HAS_SOCKATMARK / **/
ec6c7eee
SH
3238
3239/* HAS_SOCKATMARK_PROTO:
3240 * This symbol, if defined, indicates that the system provides
3241 * a prototype for the sockatmark() function. Otherwise, it is up
3242 * to the program to supply one. A good guess is
3243 * extern int sockatmark(int);
3244 */
f3b9bb7d 3245/*#define HAS_SOCKATMARK_PROTO / **/
ec6c7eee
SH
3246
3247/* HAS_SOCKS5_INIT:
3248 * This symbol, if defined, indicates that the socks5_init routine is
3249 * available to initialize SOCKS 5.
3250 */
f3b9bb7d 3251/*#define HAS_SOCKS5_INIT / **/
ec6c7eee 3252
ec6c7eee
SH
3253/* HAS_SQRTL:
3254 * This symbol, if defined, indicates that the sqrtl routine is
3255 * available to do long double square roots.
3256 */
e743028e 3257#define HAS_SQRTL /**/
ec6c7eee
SH
3258
3259/* HAS_SETRESGID_PROTO:
3260 * This symbol, if defined, indicates that the system provides
3261 * a prototype for the setresgid() function. Otherwise, it is up
3262 * to the program to supply one. Good guesses are
3263 * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);
3264 */
f3b9bb7d 3265/*#define HAS_SETRESGID_PROTO / **/
ec6c7eee
SH
3266
3267/* HAS_SETRESUID_PROTO:
3268 * This symbol, if defined, indicates that the system provides
3269 * a prototype for the setresuid() function. Otherwise, it is up
3270 * to the program to supply one. Good guesses are
3271 * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
3272 */
f3b9bb7d 3273/*#define HAS_SETRESUID_PROTO / **/
ec6c7eee 3274
ea442100
JH
3275/* HAS_STRUCT_STATFS_F_FLAGS:
3276 * This symbol, if defined, indicates that the struct statfs
3277 * does have the f_flags member containing the mount flags of
3278 * the filesystem containing the file.
3279 * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
3280 * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
3281 * have statfs() and struct statfs, they have ustat() and getmnt()
3282 * with struct ustat and struct fs_data.
3283 */
3284/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
3285
3286/* HAS_STRUCT_STATFS:
3287 * This symbol, if defined, indicates that the struct statfs
3288 * to do statfs() is supported.
3289 */
3290/*#define HAS_STRUCT_STATFS / **/
3291
3292/* HAS_FSTATVFS:
3293 * This symbol, if defined, indicates that the fstatvfs routine is
3294 * available to stat filesystems by file descriptors.
3295 */
3296/*#define HAS_FSTATVFS / **/
3297
f65cb320
SH
3298/* HAS_STRERROR_L:
3299 * This symbol, if defined, indicates that the strerror_l routine is
3300 * available to return the error message for a given errno value in
3301 * a particular locale (identified by a locale_t object).
3302 */
3303/*#define HAS_STRERROR_L / **/
3304
ec6c7eee
SH
3305/* HAS_STRFTIME:
3306 * This symbol, if defined, indicates that the strftime routine is
3307 * available to do time formatting.
3308 */
3309#define HAS_STRFTIME /**/
3310
3311/* HAS_STRLCAT:
3312 * This symbol, if defined, indicates that the strlcat () routine is
3313 * available to do string concatenation.
3314 */
f3b9bb7d 3315/*#define HAS_STRLCAT / **/
ec6c7eee
SH
3316
3317/* HAS_STRLCPY:
3318 * This symbol, if defined, indicates that the strlcpy () routine is
3319 * available to do string copying.
3320 */
f3b9bb7d 3321/*#define HAS_STRLCPY / **/
ec6c7eee
SH
3322
3323/* HAS_STRTOLD:
3324 * This symbol, if defined, indicates that the strtold routine is
3325 * available to convert strings to long doubles.
3326 */
f3b9bb7d 3327/*#define HAS_STRTOLD / **/
ec6c7eee
SH
3328
3329/* HAS_STRTOLL:
3330 * This symbol, if defined, indicates that the strtoll routine is
3331 * available to convert strings to long longs.
3332 */
f3b9bb7d 3333/*#define HAS_STRTOLL / **/
ec6c7eee
SH
3334
3335/* HAS_STRTOQ:
3336 * This symbol, if defined, indicates that the strtoq routine is
3337 * available to convert strings to long longs (quads).
3338 */
f3b9bb7d 3339/*#define HAS_STRTOQ / **/
ec6c7eee
SH
3340
3341/* HAS_STRTOULL:
3342 * This symbol, if defined, indicates that the strtoull routine is
3343 * available to convert strings to unsigned long longs.
3344 */
f3b9bb7d 3345/*#define HAS_STRTOULL / **/
ec6c7eee
SH
3346
3347/* HAS_STRTOUQ:
3348 * This symbol, if defined, indicates that the strtouq routine is
3349 * available to convert strings to unsigned long longs (quads).
3350 */
f3b9bb7d 3351/*#define HAS_STRTOUQ / **/
ec6c7eee
SH
3352
3353/* HAS_SYSCALL_PROTO:
3354 * This symbol, if defined, indicates that the system provides
3355 * a prototype for the syscall() function. Otherwise, it is up
3356 * to the program to supply one. Good guesses are
3357 * extern int syscall(int, ...);
3358 * extern int syscall(long, ...);
3359 */
f3b9bb7d 3360/*#define HAS_SYSCALL_PROTO / **/
ec6c7eee
SH
3361
3362/* HAS_TELLDIR_PROTO:
3363 * This symbol, if defined, indicates that the system provides
3364 * a prototype for the telldir() function. Otherwise, it is up
3365 * to the program to supply one. A good guess is
3366 * extern long telldir(DIR*);
3367 */
3368#define HAS_TELLDIR_PROTO /**/
3369
f65cb320
SH
3370/* HAS_TGAMMA:
3371 * This symbol, if defined, indicates that the tgamma routine is
3372 * available to do the gamma function. See also HAS_LGAMMA.
3373 */
e743028e 3374#define HAS_TGAMMA /**/
f65cb320 3375
955d1b3d
SH
3376/* HAS_CTIME64:
3377 * This symbol, if defined, indicates that the ctime64 () routine is
3378 * available to do the 64bit variant of ctime ()
3379 */
3380/* HAS_LOCALTIME64:
3381 * This symbol, if defined, indicates that the localtime64 () routine is
3382 * available to do the 64bit variant of localtime ()
3383 */
3384/* HAS_GMTIME64:
3385 * This symbol, if defined, indicates that the gmtime64 () routine is
3386 * available to do the 64bit variant of gmtime ()
3387 */
3388/* HAS_MKTIME64:
3389 * This symbol, if defined, indicates that the mktime64 () routine is
3390 * available to do the 64bit variant of mktime ()
3391 */
3392/* HAS_DIFFTIME64:
3393 * This symbol, if defined, indicates that the difftime64 () routine is
3394 * available to do the 64bit variant of difftime ()
3395 */
3396/* HAS_ASCTIME64:
3397 * This symbol, if defined, indicates that the asctime64 () routine is
3398 * available to do the 64bit variant of asctime ()
3399 */
f3b9bb7d 3400/*#define HAS_CTIME64 / **/
3401/*#define HAS_LOCALTIME64 / **/
3402/*#define HAS_GMTIME64 / **/
3403/*#define HAS_MKTIME64 / **/
3404/*#define HAS_DIFFTIME64 / **/
3405/*#define HAS_ASCTIME64 / **/
955d1b3d 3406
4b7e285e
JD
3407/* HAS_TIMEGM:
3408 * This symbol, if defined, indicates that the timegm routine is
3409 * available to do the opposite of gmtime ()
3410 */
f3b9bb7d 3411/*#define HAS_TIMEGM / **/
4b7e285e 3412
f65cb320
SH
3413/* HAS_TRUNC:
3414 * This symbol, if defined, indicates that the trunc routine is
3415 * available to round doubles towards zero.
3416 */
e743028e 3417#define HAS_TRUNC /**/
f65cb320 3418
93c08870
SH
3419/* HAS_TRUNCL:
3420 * This symbol, if defined, indicates that the truncl routine is
3421 * available. If copysignl is also present we can emulate modfl.
3422 */
e743028e 3423#define HAS_TRUNCL /**/
93c08870 3424
ec6c7eee
SH
3425/* U32_ALIGNMENT_REQUIRED:
3426 * This symbol, if defined, indicates that you must access
3427 * character data through U32-aligned pointers.
3428 */
3429#ifndef U32_ALIGNMENT_REQUIRED
3430#define U32_ALIGNMENT_REQUIRED /**/
3431#endif
3432
3433/* HAS_UALARM:
3434 * This symbol, if defined, indicates that the ualarm routine is
3435 * available to do alarms with microsecond granularity.
3436 */
f3b9bb7d 3437/*#define HAS_UALARM / **/
ec6c7eee
SH
3438
3439/* HAS_UNORDERED:
3440 * This symbol, if defined, indicates that the unordered routine is
3441 * available to check whether two doubles are unordered
3442 * (effectively: whether either of them is NaN)
3443 */
f3b9bb7d 3444/*#define HAS_UNORDERED / **/
ec6c7eee
SH
3445
3446/* HAS_UNSETENV:
3447 * This symbol, if defined, indicates that the unsetenv () routine is
3448 * available for use.
3449 */
f3b9bb7d 3450/*#define HAS_UNSETENV / **/
ec6c7eee
SH
3451
3452/* HAS_USLEEP_PROTO:
3453 * This symbol, if defined, indicates that the system provides
3454 * a prototype for the usleep() function. Otherwise, it is up
3455 * to the program to supply one. A good guess is
3456 * extern int usleep(useconds_t);
3457 */
f3b9bb7d 3458/*#define HAS_USLEEP_PROTO / **/
ec6c7eee 3459
ea442100
JH
3460/* HAS_USTAT:
3461 * This symbol, if defined, indicates that the ustat system call is
3462 * available to query file system statistics by dev_t.
3463 */
3464/*#define HAS_USTAT / **/
3465
93c08870
SH
3466/* HAS_WCSCMP:
3467 * This symbol, if defined, indicates that the wcscmp routine is
3468 * available to compare two wide character strings.
3469 */
3470#define HAS_WCSCMP /**/
3471
3472/* HAS_WCSXFRM:
3473 * This symbol, if defined, indicates that the wcsxfrm routine is
3474 * available to tranform a wide character string for wcscmp().
3475 */
3476#define HAS_WCSXFRM /**/
3477
ec6c7eee
SH
3478/* HAS_WRITEV:
3479 * This symbol, if defined, indicates that the writev routine is
3480 * available to do scatter writes.
3481 */
f3b9bb7d 3482/*#define HAS_WRITEV / **/
ec6c7eee 3483
458ea8f7
SH
3484/* DEFAULT_INC_EXCLUDES_DOT:
3485 * This symbol, if defined, removes the legacy default behavior of
3486 * including '.' at the end of @INC.
3487 */
f65cb320 3488#define DEFAULT_INC_EXCLUDES_DOT /**/
458ea8f7 3489
ec6c7eee
SH
3490/* USE_DYNAMIC_LOADING:
3491 * This symbol, if defined, indicates that dynamic loading of
3492 * some sort is available.
3493 */
3494#define USE_DYNAMIC_LOADING /**/
3495
3496/* FFLUSH_NULL:
449287ba
SH
3497 * This symbol, if defined, tells that fflush(NULL) correctly
3498 * flushes all pending stdio output without side effects. In
3499 * particular, on some platforms calling fflush(NULL) *still*
3500 * corrupts STDIN if it is a pipe.
ec6c7eee
SH
3501 */
3502/* FFLUSH_ALL:
3503 * This symbol, if defined, tells that to flush
3504 * all pending stdio output one must loop through all
3505 * the stdio file handles stored in an array and fflush them.
3506 * Note that if fflushNULL is defined, fflushall will not
3507 * even be probed for and will be left undefined.
3508 */
3509#define FFLUSH_NULL /**/
f3b9bb7d 3510/*#define FFLUSH_ALL / **/
ec6c7eee 3511
93c08870
SH
3512/* I_BFD:
3513 * This symbol, if defined, indicates that <bfd.h> exists and
3514 * can be included.
3515 */
3516/*#define I_BFD / **/
3517
ec6c7eee
SH
3518/* I_CRYPT:
3519 * This symbol, if defined, indicates that <crypt.h> exists and
3520 * should be included.
3521 */
f3b9bb7d 3522/*#define I_CRYPT / **/
ec6c7eee
SH
3523
3524/* DB_Prefix_t:
3525 * This symbol contains the type of the prefix structure element
3526 * in the <db.h> header file. In older versions of DB, it was
3527 * int, while in newer ones it is u_int32_t.
3528 */
3529/* DB_Hash_t:
3530 * This symbol contains the type of the prefix structure element
3531 * in the <db.h> header file. In older versions of DB, it was
3532 * int, while in newer ones it is size_t.
3533 */
3534/* DB_VERSION_MAJOR_CFG:
3535 * This symbol, if defined, defines the major version number of
3536 * Berkeley DB found in the <db.h> header when Perl was configured.
3537 */
3538/* DB_VERSION_MINOR_CFG:
3539 * This symbol, if defined, defines the minor version number of
3540 * Berkeley DB found in the <db.h> header when Perl was configured.
3541 * For DB version 1 this is always 0.
3542 */
3543/* DB_VERSION_PATCH_CFG:
3544 * This symbol, if defined, defines the patch version number of
3545 * Berkeley DB found in the <db.h> header when Perl was configured.
3546 * For DB version 1 this is always 0.
3547 */
3548#define DB_Hash_t int /**/
3549#define DB_Prefix_t int /**/
3550#define DB_VERSION_MAJOR_CFG 0 /**/
3551#define DB_VERSION_MINOR_CFG 0 /**/
3552#define DB_VERSION_PATCH_CFG 0 /**/
3553
93c08870
SH
3554/* I_FENV:
3555 * This symbol, if defined, indicates to the C program that it should
3556 * include <fenv.h> to get the floating point environment definitions.
3557 */
3558/*#define I_FENV / **/
3559
ec6c7eee
SH
3560/* I_FP:
3561 * This symbol, if defined, indicates that <fp.h> exists and
3562 * should be included.
3563 */
f3b9bb7d 3564/*#define I_FP / **/
ec6c7eee
SH
3565
3566/* I_FP_CLASS:
3567 * This symbol, if defined, indicates that <fp_class.h> exists and
3568 * should be included.
3569 */
f3b9bb7d 3570/*#define I_FP_CLASS / **/
ec6c7eee
SH
3571
3572/* I_IEEEFP:
3573 * This symbol, if defined, indicates that <ieeefp.h> exists and
3574 * should be included.
3575 */
f3b9bb7d 3576/*#define I_IEEEFP / **/
ec6c7eee
SH
3577
3578/* I_INTTYPES:
3579 * This symbol, if defined, indicates to the C program that it should
3580 * include <inttypes.h>.
3581 */
f3b9bb7d 3582/*#define I_INTTYPES / **/
ec6c7eee
SH
3583
3584/* I_LANGINFO:
3585 * This symbol, if defined, indicates that <langinfo.h> exists and
3586 * should be included.
3587 */
f3b9bb7d 3588/*#define I_LANGINFO / **/
ec6c7eee
SH
3589
3590/* I_LIBUTIL:
3591 * This symbol, if defined, indicates that <libutil.h> exists and
3592 * should be included.
3593 */
f3b9bb7d 3594/*#define I_LIBUTIL / **/
ec6c7eee 3595
4b7e285e
JD
3596/* I_MALLOCMALLOC:
3597 * This symbol, if defined, indicates to the C program that it should
3598 * include <malloc/malloc.h>.
3599 */
f3b9bb7d 3600/*#define I_MALLOCMALLOC / **/
4b7e285e 3601
ea442100
JH
3602/* I_MNTENT:
3603 * This symbol, if defined, indicates that <mntent.h> exists and
3604 * should be included.
3605 */
3606/*#define I_MNTENT / **/
3607
ec6c7eee
SH
3608/* I_NETINET_TCP:
3609 * This symbol, if defined, indicates to the C program that it should
3610 * include <netinet/tcp.h>.
3611 */
f3b9bb7d 3612/*#define I_NETINET_TCP / **/
ec6c7eee
SH
3613
3614/* I_POLL:
3615 * This symbol, if defined, indicates that <poll.h> exists and
3616 * should be included. (see also HAS_POLL)
3617 */
f3b9bb7d 3618/*#define I_POLL / **/
ec6c7eee
SH
3619
3620/* I_PROT:
3621 * This symbol, if defined, indicates that <prot.h> exists and
3622 * should be included.
3623 */
f3b9bb7d 3624/*#define I_PROT / **/
ec6c7eee 3625
f65cb320
SH
3626/* I_QUADMATH:
3627 * This symbol, if defined, indicates that <quadmath.h> exists and
3628 * should be included.
3629 */
3630/*#define I_QUADMATH / **/
3631
ec6c7eee
SH
3632/* I_SHADOW:
3633 * This symbol, if defined, indicates that <shadow.h> exists and
3634 * should be included.
3635 */
f3b9bb7d 3636/*#define I_SHADOW / **/
ec6c7eee
SH
3637
3638/* I_SOCKS:
3639 * This symbol, if defined, indicates that <socks.h> exists and
3640 * should be included.
3641 */
f3b9bb7d 3642/*#define I_SOCKS / **/
ec6c7eee 3643
2bf3754c
SH
3644/* I_STDBOOL:
3645 * This symbol, if defined, indicates that <stdbool.h> exists and
3646 * can be included.
3647 */
3ff6d5cb 3648#define I_STDBOOL /**/
2bf3754c 3649
93c08870
SH
3650/* I_STDINT:
3651 * This symbol, if defined, indicates that <stdint.h> exists and
3652 * should be included.
3653 */
1a9ff134 3654#define I_STDINT /**/
93c08870 3655
ec6c7eee
SH
3656/* I_SUNMATH:
3657 * This symbol, if defined, indicates that <sunmath.h> exists and
3658 * should be included.
3659 */
f3b9bb7d 3660/*#define I_SUNMATH / **/
ec6c7eee
SH
3661
3662/* I_SYSLOG:
3663 * This symbol, if defined, indicates that <syslog.h> exists and
3664 * should be included.
3665 */
f3b9bb7d 3666/*#define I_SYSLOG / **/
ec6c7eee
SH
3667
3668/* I_SYSMODE:
3669 * This symbol, if defined, indicates that <sys/mode.h> exists and
3670 * should be included.
3671 */
f3b9bb7d 3672/*#define I_SYSMODE / **/
ec6c7eee 3673
ea442100
JH
3674/* I_SYS_MOUNT:
3675 * This symbol, if defined, indicates that <sys/mount.h> exists and
3676 * should be included.
3677 */
3678/*#define I_SYS_MOUNT / **/
3679
3680/* I_SYS_STATFS:
3681 * This symbol, if defined, indicates that <sys/statfs.h> exists.
3682 */
3683/*#define I_SYS_STATFS / **/
3684
3685/* I_SYS_STATVFS:
3686 * This symbol, if defined, indicates that <sys/statvfs.h> exists and
3687 * should be included.
3688 */
3689/*#define I_SYS_STATVFS / **/
3690
ec6c7eee
SH
3691/* I_SYSUTSNAME:
3692 * This symbol, if defined, indicates that <sys/utsname.h> exists and
3693 * should be included.
3694 */
f3b9bb7d 3695/*#define I_SYSUTSNAME / **/
ec6c7eee 3696
ea442100
JH
3697/* I_SYS_VFS:
3698 * This symbol, if defined, indicates that <sys/vfs.h> exists and
3699 * should be included.
3700 */
3701/*#define I_SYS_VFS / **/
3702
3703/* I_USTAT:
3704 * This symbol, if defined, indicates that <ustat.h> exists and
3705 * should be included.
3706 */
3707/*#define I_USTAT / **/
3708
f65cb320
SH
3709/* DOUBLEINFBYTES:
3710 * This symbol, if defined, is a comma-separated list of
3711 * hexadecimal bytes for the double precision infinity.
3712 */
3713/* DOUBLENANBYTES:
3714 * This symbol, if defined, is a comma-separated list of
3715 * hexadecimal bytes (0xHH) for the double precision not-a-number.
3716 */
3717/* LONGDBLINFBYTES:
3718 * This symbol, if defined, is a comma-separated list of
3719 * hexadecimal bytes for the long double precision infinity.
3720 */
3721/* LONGDBLNANBYTES:
3722 * This symbol, if defined, is a comma-separated list of
3723 * hexadecimal bytes (0xHH) for the long double precision not-a-number.
3724 */
3725#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/
3726#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/
3727#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00 /**/
3728#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00 /**/