1#!/bin/sh 2# 3# THIS IS A GENERATED FILE 4# DO NOT HAND-EDIT 5# 6# See Porting/config_h.pl 7 8: Set up for generating config_h.SH 9case "$CONFIG_SH" in 10'') CONFIG_SH=config.sh;; 11esac 12case "$CONFIG_H" in 13'') CONFIG_H=config.h;; 14esac 15case $PERL_CONFIG_SH in 16'') 17 if test -f $CONFIG_SH; then TOP=.; 18 elif test -f ../$CONFIG_SH; then TOP=..; 19 elif test -f ../../$CONFIG_SH; then TOP=../..; 20 elif test -f ../../../$CONFIG_SH; then TOP=../../..; 21 elif test -f ../../../../$CONFIG_SH; then TOP=../../../..; 22 else 23 echo "Can't find $CONFIG_SH."; exit 1 24 fi 25 . $TOP/$CONFIG_SH 26 ;; 27esac 28case "$0" in 29*/*) cd `expr X$0 : 'X\(.*\)/'` ;; 30esac 31case "$CONFIG_H" in 32already-done) echo "Not re-extracting config.h" ;; 33*) 34echo "Extracting $CONFIG_H (with variable substitutions)" 35sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!' -e's!define\t!define !' 36/* This file was produced by running the config_h.SH script, which 37 * gets its values from $CONFIG_SH, which is generally produced by 38 * running Configure. 39 * 40 * Feel free to modify any of this as the need arises. Note, however, 41 * that running config_h.SH again will wipe out any changes you've made. 42 * For a more permanent change edit $CONFIG_SH and rerun config_h.SH. 43 */ 44 45/* Package name : $package 46 * Source directory : $src 47 * Configuration time: $cf_time 48 * Configured by : $cf_by 49 * Target system : $myuname 50 */ 51 52#ifndef _config_h_ 53#define _config_h_ 54 55/* LOC_SED: 56 * This symbol holds the complete pathname to the sed program. 57 */ 58#define LOC_SED "$full_sed" /**/ 59 60/* HAS_ALARM: 61 * This symbol, if defined, indicates that the alarm routine is 62 * available. 63 */ 64#$d_alarm HAS_ALARM /**/ 65 66/* HAS_CBRT: 67 * This symbol, if defined, indicates that the cbrt() (cube root) 68 * function is available. 69 */ 70#$d_cbrt HAS_CBRT /**/ 71 72/* HAS_CHOWN: 73 * This symbol, if defined, indicates that the chown routine is 74 * available. 75 */ 76#$d_chown HAS_CHOWN /**/ 77 78/* HAS_CHROOT: 79 * This symbol, if defined, indicates that the chroot routine is 80 * available. 81 */ 82#$d_chroot HAS_CHROOT /**/ 83 84/* HAS_CHSIZE: 85 * This symbol, if defined, indicates that the chsize routine is available 86 * to truncate files. You might need a -lx to get this routine. 87 */ 88#$d_chsize HAS_CHSIZE /**/ 89 90/* HAS_CRYPT: 91 * This symbol, if defined, indicates that the crypt routine is available 92 * to encrypt passwords and the like. 93 */ 94#$d_crypt HAS_CRYPT /**/ 95 96/* HAS_CTERMID: 97 * This symbol, if defined, indicates that the ctermid routine is 98 * available to generate filename for terminal. 99 */ 100#$d_ctermid HAS_CTERMID /**/ 101 102/* HAS_CUSERID: 103 * This symbol, if defined, indicates that the cuserid routine is 104 * available to get character login names. 105 */ 106#$d_cuserid HAS_CUSERID /**/ 107 108/* HAS_DIFFTIME: 109 * This symbol, if defined, indicates that the difftime routine is 110 * available. 111 */ 112#$d_difftime HAS_DIFFTIME /**/ 113 114/* HAS_DLERROR: 115 * This symbol, if defined, indicates that the dlerror routine is 116 * available to return a string describing the last error that 117 * occurred from a call to dlopen(), dlclose() or dlsym(). 118 */ 119#$d_dlerror HAS_DLERROR /**/ 120 121/* HAS_DUP2: 122 * This symbol, if defined, indicates that the dup2 routine is 123 * available to duplicate file descriptors. 124 */ 125#$d_dup2 HAS_DUP2 /**/ 126 127/* HAS_FCHMOD: 128 * This symbol, if defined, indicates that the fchmod routine is available 129 * to change mode of opened files. If unavailable, use chmod(). 130 */ 131#$d_fchmod HAS_FCHMOD /**/ 132 133/* HAS_FCHOWN: 134 * This symbol, if defined, indicates that the fchown routine is available 135 * to change ownership of opened files. If unavailable, use chown(). 136 */ 137#$d_fchown HAS_FCHOWN /**/ 138 139/* HAS_FCNTL: 140 * This symbol, if defined, indicates to the C program that 141 * the fcntl() function exists. 142 */ 143#$d_fcntl HAS_FCNTL /**/ 144 145/* HAS_FGETPOS: 146 * This symbol, if defined, indicates that the fgetpos routine is 147 * available to get the file position indicator, similar to ftell(). 148 */ 149#$d_fgetpos HAS_FGETPOS /**/ 150 151/* HAS_FLOCK: 152 * This symbol, if defined, indicates that the flock routine is 153 * available to do file locking. 154 */ 155#$d_flock HAS_FLOCK /**/ 156 157/* HAS_FORK: 158 * This symbol, if defined, indicates that the fork routine is 159 * available. 160 */ 161#$d_fork HAS_FORK /**/ 162 163/* HAS_FSETPOS: 164 * This symbol, if defined, indicates that the fsetpos routine is 165 * available to set the file position indicator, similar to fseek(). 166 */ 167#$d_fsetpos HAS_FSETPOS /**/ 168 169/* HAS_GETTIMEOFDAY: 170 * This symbol, if defined, indicates that the gettimeofday() system 171 * call is available for a sub-second accuracy clock. Usually, the file 172 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE). 173 * The type "Timeval" should be used to refer to "struct timeval". 174 */ 175#$d_gettimeod HAS_GETTIMEOFDAY /**/ 176#ifdef HAS_GETTIMEOFDAY 177#define Timeval struct timeval /* Structure used by gettimeofday() */ 178#endif 179 180/* HAS_GETGROUPS: 181 * This symbol, if defined, indicates that the getgroups() routine is 182 * available to get the list of process groups. If unavailable, multiple 183 * groups are probably not supported. 184 */ 185#$d_getgrps HAS_GETGROUPS /**/ 186 187/* HAS_GETLOGIN: 188 * This symbol, if defined, indicates that the getlogin routine is 189 * available to get the login name. 190 */ 191#$d_getlogin HAS_GETLOGIN /**/ 192 193/* HAS_GETPGID: 194 * This symbol, if defined, indicates to the C program that 195 * the getpgid(pid) function is available to get the 196 * process group id. 197 */ 198#$d_getpgid HAS_GETPGID /**/ 199 200/* HAS_GETPGRP2: 201 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) 202 * routine is available to get the current process group. 203 */ 204#$d_getpgrp2 HAS_GETPGRP2 /**/ 205 206/* HAS_GETPPID: 207 * This symbol, if defined, indicates that the getppid routine is 208 * available to get the parent process ID. 209 */ 210#$d_getppid HAS_GETPPID /**/ 211 212/* HAS_GETPRIORITY: 213 * This symbol, if defined, indicates that the getpriority routine is 214 * available to get a process's priority. 215 */ 216#$d_getprior HAS_GETPRIORITY /**/ 217 218/* HAS_INET_ATON: 219 * This symbol, if defined, indicates to the C program that the 220 * inet_aton() function is available to parse IP address "dotted-quad" 221 * strings. 222 */ 223#$d_inetaton HAS_INET_ATON /**/ 224 225/* HAS_KILLPG: 226 * This symbol, if defined, indicates that the killpg routine is available 227 * to kill process groups. If unavailable, you probably should use kill 228 * with a negative process number. 229 */ 230#$d_killpg HAS_KILLPG /**/ 231 232/* HAS_LINK: 233 * This symbol, if defined, indicates that the link routine is 234 * available to create hard links. 235 */ 236#$d_link HAS_LINK /**/ 237 238/* HAS_LOCALECONV: 239 * This symbol, if defined, indicates that the localeconv routine is 240 * available for numeric and monetary formatting conventions. 241 */ 242#$d_locconv HAS_LOCALECONV /**/ 243 244/* HAS_LOCKF: 245 * This symbol, if defined, indicates that the lockf routine is 246 * available to do file locking. 247 */ 248#$d_lockf HAS_LOCKF /**/ 249 250/* HAS_LSTAT: 251 * This symbol, if defined, indicates that the lstat routine is 252 * available to do file stats on symbolic links. 253 */ 254#$d_lstat HAS_LSTAT /**/ 255 256/* HAS_MBLEN: 257 * This symbol, if defined, indicates that the mblen routine is available 258 * to find the number of bytes in a multibyte character. 259 */ 260#$d_mblen HAS_MBLEN /**/ 261 262/* HAS_MBSTOWCS: 263 * This symbol, if defined, indicates that the mbstowcs routine is 264 * available to convert a multibyte string into a wide character string. 265 */ 266#$d_mbstowcs HAS_MBSTOWCS /**/ 267 268/* HAS_MBTOWC: 269 * This symbol, if defined, indicates that the mbtowc routine is available 270 * to convert a multibyte to a wide character. 271 */ 272#$d_mbtowc HAS_MBTOWC /**/ 273 274/* HAS_MKDIR: 275 * This symbol, if defined, indicates that the mkdir routine is available 276 * to create directories. Otherwise you should fork off a new process to 277 * exec /bin/mkdir. 278 */ 279#$d_mkdir HAS_MKDIR /**/ 280 281/* HAS_MKFIFO: 282 * This symbol, if defined, indicates that the mkfifo routine is 283 * available to create FIFOs. Otherwise, mknod should be able to 284 * do it for you. However, if mkfifo is there, mknod might require 285 * super-user privileges which mkfifo will not. 286 */ 287#$d_mkfifo HAS_MKFIFO /**/ 288 289/* HAS_MKTIME: 290 * This symbol, if defined, indicates that the mktime routine is 291 * available. 292 */ 293#$d_mktime HAS_MKTIME /**/ 294 295/* HAS_MSG: 296 * This symbol, if defined, indicates that the entire msg*(2) library is 297 * supported (IPC mechanism based on message queues). 298 */ 299#$d_msg HAS_MSG /**/ 300 301/* HAS_MSYNC: 302 * This symbol, if defined, indicates that the msync system call is 303 * available to synchronize a mapped file. 304 */ 305#$d_msync HAS_MSYNC /**/ 306 307/* HAS_MUNMAP: 308 * This symbol, if defined, indicates that the munmap system call is 309 * available to unmap a region, usually mapped by mmap(). 310 */ 311#$d_munmap HAS_MUNMAP /**/ 312 313/* HAS_NICE: 314 * This symbol, if defined, indicates that the nice routine is 315 * available. 316 */ 317#$d_nice HAS_NICE /**/ 318 319/* HAS_PATHCONF: 320 * This symbol, if defined, indicates that pathconf() is available 321 * to determine file-system related limits and options associated 322 * with a given filename. 323 */ 324/* HAS_FPATHCONF: 325 * This symbol, if defined, indicates that pathconf() is available 326 * to determine file-system related limits and options associated 327 * with a given open file descriptor. 328 */ 329#$d_pathconf HAS_PATHCONF /**/ 330#$d_fpathconf HAS_FPATHCONF /**/ 331 332/* HAS_PAUSE: 333 * This symbol, if defined, indicates that the pause routine is 334 * available to suspend a process until a signal is received. 335 */ 336#$d_pause HAS_PAUSE /**/ 337 338/* HAS_PIPE: 339 * This symbol, if defined, indicates that the pipe routine is 340 * available to create an inter-process channel. 341 */ 342#$d_pipe HAS_PIPE /**/ 343 344/* HAS_POLL: 345 * This symbol, if defined, indicates that the poll routine is 346 * available to poll active file descriptors. Please check I_POLL and 347 * I_SYS_POLL to know which header should be included as well. 348 */ 349#$d_poll HAS_POLL /**/ 350 351/* HAS_READDIR: 352 * This symbol, if defined, indicates that the readdir routine is 353 * available to read directory entries. You may have to include 354 * <dirent.h>. See I_DIRENT. 355 */ 356#$d_readdir HAS_READDIR /**/ 357 358/* HAS_SEEKDIR: 359 * This symbol, if defined, indicates that the seekdir routine is 360 * available. You may have to include <dirent.h>. See I_DIRENT. 361 */ 362#$d_seekdir HAS_SEEKDIR /**/ 363 364/* HAS_TELLDIR: 365 * This symbol, if defined, indicates that the telldir routine is 366 * available. You may have to include <dirent.h>. See I_DIRENT. 367 */ 368#$d_telldir HAS_TELLDIR /**/ 369 370/* HAS_REWINDDIR: 371 * This symbol, if defined, indicates that the rewinddir routine is 372 * available. You may have to include <dirent.h>. See I_DIRENT. 373 */ 374#$d_rewinddir HAS_REWINDDIR /**/ 375 376/* HAS_READLINK: 377 * This symbol, if defined, indicates that the readlink routine is 378 * available to read the value of a symbolic link. 379 */ 380#$d_readlink HAS_READLINK /**/ 381 382/* HAS_REGCOMP: 383 * This symbol, if defined, indicates that the regcomp() routine is 384 * available to do some regular pattern matching (usually on POSIX.2 385 * conforming systems). 386 */ 387#$d_regcomp HAS_REGCOMP /* POSIX.2 */ 388 389/* HAS_RENAME: 390 * This symbol, if defined, indicates that the rename routine is available 391 * to rename files. Otherwise you should do the unlink(), link(), unlink() 392 * trick. 393 */ 394#$d_rename HAS_RENAME /**/ 395 396/* HAS_RMDIR: 397 * This symbol, if defined, indicates that the rmdir routine is 398 * available to remove directories. Otherwise you should fork off a 399 * new process to exec /bin/rmdir. 400 */ 401#$d_rmdir HAS_RMDIR /**/ 402 403/* HAS_SELECT: 404 * This symbol, if defined, indicates that the select routine is 405 * available to select active file descriptors. If the timeout field 406 * is used, <sys/time.h> may need to be included. 407 */ 408#$d_select HAS_SELECT /**/ 409 410/* HAS_SEM: 411 * This symbol, if defined, indicates that the entire sem*(2) library is 412 * supported. 413 */ 414#$d_sem HAS_SEM /**/ 415 416/* HAS_SETEGID: 417 * This symbol, if defined, indicates that the setegid routine is available 418 * to change the effective gid of the current program. 419 */ 420#$d_setegid HAS_SETEGID /**/ 421 422/* HAS_SETEUID: 423 * This symbol, if defined, indicates that the seteuid routine is available 424 * to change the effective uid of the current program. 425 */ 426#$d_seteuid HAS_SETEUID /**/ 427 428/* HAS_SETGROUPS: 429 * This symbol, if defined, indicates that the setgroups() routine is 430 * available to set the list of process groups. If unavailable, multiple 431 * groups are probably not supported. 432 */ 433#$d_setgrps HAS_SETGROUPS /**/ 434 435/* HAS_SETLINEBUF: 436 * This symbol, if defined, indicates that the setlinebuf routine is 437 * available to change stderr or stdout from block-buffered or unbuffered 438 * to a line-buffered mode. 439 */ 440#$d_setlinebuf HAS_SETLINEBUF /**/ 441 442/* HAS_SETPGID: 443 * This symbol, if defined, indicates that the setpgid(pid, gpid) 444 * routine is available to set process group ID. 445 */ 446#$d_setpgid HAS_SETPGID /**/ 447 448/* HAS_SETPGRP2: 449 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) 450 * routine is available to set the current process group. 451 */ 452#$d_setpgrp2 HAS_SETPGRP2 /**/ 453 454/* HAS_SETPRIORITY: 455 * This symbol, if defined, indicates that the setpriority routine is 456 * available to set a process's priority. 457 */ 458#$d_setprior HAS_SETPRIORITY /**/ 459 460/* HAS_SETREGID: 461 * This symbol, if defined, indicates that the setregid routine is 462 * available to change the real and effective gid of the current 463 * process. 464 */ 465/* HAS_SETRESGID: 466 * This symbol, if defined, indicates that the setresgid routine is 467 * available to change the real, effective and saved gid of the current 468 * process. 469 */ 470#$d_setregid HAS_SETREGID /**/ 471#$d_setresgid HAS_SETRESGID /**/ 472 473/* HAS_SETREUID: 474 * This symbol, if defined, indicates that the setreuid routine is 475 * available to change the real and effective uid of the current 476 * process. 477 */ 478/* HAS_SETRESUID: 479 * This symbol, if defined, indicates that the setresuid routine is 480 * available to change the real, effective and saved uid of the current 481 * process. 482 */ 483#$d_setreuid HAS_SETREUID /**/ 484#$d_setresuid HAS_SETRESUID /**/ 485 486/* HAS_SETRGID: 487 * This symbol, if defined, indicates that the setrgid routine is available 488 * to change the real gid of the current program. 489 */ 490#$d_setrgid HAS_SETRGID /**/ 491 492/* HAS_SETRUID: 493 * This symbol, if defined, indicates that the setruid routine is available 494 * to change the real uid of the current program. 495 */ 496#$d_setruid HAS_SETRUID /**/ 497 498/* HAS_SETSID: 499 * This symbol, if defined, indicates that the setsid routine is 500 * available to set the process group ID. 501 */ 502#$d_setsid HAS_SETSID /**/ 503 504/* HAS_STAT: 505 * This symbol, if defined, indicates that the stat routine is 506 * available to get file status. 507 */ 508#$d_stat HAS_STAT /**/ 509 510/* HAS_STRCOLL: 511 * This symbol, if defined, indicates that the strcoll routine is 512 * available to compare strings using collating information. 513 */ 514#$d_strcoll HAS_STRCOLL /**/ 515 516/* HAS_STRTOD: 517 * This symbol, if defined, indicates that the strtod routine is 518 * available to provide better numeric string conversion than atof(). 519 */ 520#$d_strtod HAS_STRTOD /**/ 521 522/* HAS_STRTOL: 523 * This symbol, if defined, indicates that the strtol routine is available 524 * to provide better numeric string conversion than atoi() and friends. 525 */ 526#$d_strtol HAS_STRTOL /**/ 527 528/* HAS_STRXFRM: 529 * This symbol, if defined, indicates that the strxfrm() routine is 530 * available to transform strings. 531 */ 532#$d_strxfrm HAS_STRXFRM /**/ 533 534/* HAS_SYMLINK: 535 * This symbol, if defined, indicates that the symlink routine is available 536 * to create symbolic links. 537 */ 538#$d_symlink HAS_SYMLINK /**/ 539 540/* HAS_SYSCALL: 541 * This symbol, if defined, indicates that the syscall routine is 542 * available to call arbitrary system calls. If undefined, that's tough. 543 */ 544#$d_syscall HAS_SYSCALL /**/ 545 546/* HAS_SYSCONF: 547 * This symbol, if defined, indicates that sysconf() is available 548 * to determine system related limits and options. 549 */ 550#$d_sysconf HAS_SYSCONF /**/ 551 552/* HAS_SYSTEM: 553 * This symbol, if defined, indicates that the system routine is 554 * available to issue a shell command. 555 */ 556#$d_system HAS_SYSTEM /**/ 557 558/* HAS_TCGETPGRP: 559 * This symbol, if defined, indicates that the tcgetpgrp routine is 560 * available to get foreground process group ID. 561 */ 562#$d_tcgetpgrp HAS_TCGETPGRP /**/ 563 564/* HAS_TCSETPGRP: 565 * This symbol, if defined, indicates that the tcsetpgrp routine is 566 * available to set foreground process group ID. 567 */ 568#$d_tcsetpgrp HAS_TCSETPGRP /**/ 569 570/* HAS_TRUNCATE: 571 * This symbol, if defined, indicates that the truncate routine is 572 * available to truncate files. 573 */ 574#$d_truncate HAS_TRUNCATE /**/ 575 576/* HAS_TZNAME: 577 * This symbol, if defined, indicates that the tzname[] array is 578 * available to access timezone names. 579 */ 580#$d_tzname HAS_TZNAME /**/ 581 582/* HAS_UMASK: 583 * This symbol, if defined, indicates that the umask routine is 584 * available to set and get the value of the file creation mask. 585 */ 586#$d_umask HAS_UMASK /**/ 587 588/* HAS_USLEEP: 589 * This symbol, if defined, indicates that the usleep routine is 590 * available to let the process sleep on a sub-second accuracy. 591 */ 592#$d_usleep HAS_USLEEP /**/ 593 594/* HAS_WAIT4: 595 * This symbol, if defined, indicates that wait4() exists. 596 */ 597#$d_wait4 HAS_WAIT4 /**/ 598 599/* HAS_WAITPID: 600 * This symbol, if defined, indicates that the waitpid routine is 601 * available to wait for child process. 602 */ 603#$d_waitpid HAS_WAITPID /**/ 604 605/* HAS_WCSTOMBS: 606 * This symbol, if defined, indicates that the wcstombs routine is 607 * available to convert wide character strings to multibyte strings. 608 */ 609#$d_wcstombs HAS_WCSTOMBS /**/ 610 611/* HAS_WCTOMB: 612 * This symbol, if defined, indicates that the wctomb routine is available 613 * to convert a wide character to a multibyte. 614 */ 615#$d_wctomb HAS_WCTOMB /**/ 616 617/* Groups_t: 618 * This symbol holds the type used for the second argument to 619 * getgroups() and setgroups(). Usually, this is the same as 620 * gidtype (gid_t) , but sometimes it isn't. 621 * It can be int, ushort, gid_t, etc... 622 * It may be necessary to include <sys/types.h> to get any 623 * typedef'ed information. This is only required if you have 624 * getgroups() or setgroups().. 625 */ 626#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) 627#define Groups_t $groupstype /* Type for 2nd arg to [sg]etgroups() */ 628#endif 629 630/* I_ARPA_INET: 631 * This symbol, if defined, indicates to the C program that it should 632 * include <arpa/inet.h> to get inet_addr and friends declarations. 633 */ 634#$i_arpainet I_ARPA_INET /**/ 635 636/* I_DBM: 637 * This symbol, if defined, indicates that <dbm.h> exists and should 638 * be included. 639 */ 640/* I_RPCSVC_DBM: 641 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and 642 * should be included. 643 */ 644#$i_dbm I_DBM /**/ 645#$i_rpcsvcdbm I_RPCSVC_DBM /**/ 646 647/* I_DLFCN: 648 * This symbol, if defined, indicates that <dlfcn.h> exists and should 649 * be included. 650 */ 651#$i_dlfcn I_DLFCN /**/ 652 653/* I_FCNTL: 654 * This manifest constant tells the C program to include <fcntl.h>. 655 */ 656#$i_fcntl I_FCNTL /**/ 657 658/* I_GDBM: 659 * This symbol, if defined, indicates that <gdbm.h> exists and should 660 * be included. 661 */ 662#$i_gdbm I_GDBM /**/ 663 664/* I_LOCALE: 665 * This symbol, if defined, indicates to the C program that it should 666 * include <locale.h>. 667 */ 668#$i_locale I_LOCALE /**/ 669 670/* I_NETINET_IN: 671 * This symbol, if defined, indicates to the C program that it should 672 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>. 673 */ 674#$i_niin I_NETINET_IN /**/ 675 676/* I_SYS_DIR: 677 * This symbol, if defined, indicates to the C program that it should 678 * include <sys/dir.h>. 679 */ 680#$i_sysdir I_SYS_DIR /**/ 681 682/* I_SYS_FILE: 683 * This symbol, if defined, indicates to the C program that it should 684 * include <sys/file.h> to get definition of R_OK and friends. 685 */ 686#$i_sysfile I_SYS_FILE /**/ 687 688/* I_SYS_IOCTL: 689 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should 690 * be included. Otherwise, include <sgtty.h> or <termio.h>. 691 */ 692/* I_SYS_SOCKIO: 693 * This symbol, if defined, indicates the <sys/sockio.h> should be included 694 * to get socket ioctl options, like SIOCATMARK. 695 */ 696#$i_sysioctl I_SYS_IOCTL /**/ 697#$i_syssockio I_SYS_SOCKIO /**/ 698 699/* I_SYS_NDIR: 700 * This symbol, if defined, indicates to the C program that it should 701 * include <sys/ndir.h>. 702 */ 703#$i_sysndir I_SYS_NDIR /**/ 704 705/* I_SYS_PARAM: 706 * This symbol, if defined, indicates to the C program that it should 707 * include <sys/param.h>. 708 */ 709#$i_sysparam I_SYS_PARAM /**/ 710 711/* I_SYS_POLL: 712 * This symbol, if defined, indicates that the program may include 713 * <sys/poll.h>. When I_POLL is also defined, it's probably safest 714 * to only include <poll.h>. 715 */ 716#$i_syspoll I_SYS_POLL /**/ 717 718/* I_SYS_RESOURCE: 719 * This symbol, if defined, indicates to the C program that it should 720 * include <sys/resource.h>. 721 */ 722#$i_sysresrc I_SYS_RESOURCE /**/ 723 724/* I_SYS_SELECT: 725 * This symbol, if defined, indicates to the C program that it should 726 * include <sys/select.h> in order to get definition of struct timeval. 727 */ 728#$i_sysselct I_SYS_SELECT /**/ 729 730/* I_SYS_STAT: 731 * This symbol, if defined, indicates to the C program that it should 732 * include <sys/stat.h>. 733 */ 734#$i_sysstat I_SYS_STAT /**/ 735 736/* I_SYS_TIMES: 737 * This symbol, if defined, indicates to the C program that it should 738 * include <sys/times.h>. 739 */ 740#$i_systimes I_SYS_TIMES /**/ 741 742/* I_SYS_TYPES: 743 * This symbol, if defined, indicates to the C program that it should 744 * include <sys/types.h>. 745 */ 746#$i_systypes I_SYS_TYPES /**/ 747 748/* I_SYS_UN: 749 * This symbol, if defined, indicates to the C program that it should 750 * include <sys/un.h> to get UNIX domain socket definitions. 751 */ 752#$i_sysun I_SYS_UN /**/ 753 754/* I_SYS_WAIT: 755 * This symbol, if defined, indicates to the C program that it should 756 * include <sys/wait.h>. 757 */ 758#$i_syswait I_SYS_WAIT /**/ 759 760/* I_UNISTD: 761 * This symbol, if defined, indicates to the C program that it should 762 * include <unistd.h>. 763 */ 764#$i_unistd I_UNISTD /**/ 765 766/* I_UTIME: 767 * This symbol, if defined, indicates to the C program that it should 768 * include <utime.h>. 769 */ 770#$i_utime I_UTIME /**/ 771 772/* I_VFORK: 773 * This symbol, if defined, indicates to the C program that it should 774 * include vfork.h. 775 */ 776#$i_vfork I_VFORK /**/ 777 778/* STDCHAR: 779 * This symbol is defined to be the type of char used in stdio.h. 780 * It has the values "unsigned char" or "char". 781 */ 782#define STDCHAR $stdchar /**/ 783 784/* INTSIZE: 785 * This symbol contains the value of sizeof(int) so that the C 786 * preprocessor can make decisions based on it. 787 */ 788/* LONGSIZE: 789 * This symbol contains the value of sizeof(long) so that the C 790 * preprocessor can make decisions based on it. 791 */ 792/* SHORTSIZE: 793 * This symbol contains the value of sizeof(short) so that the C 794 * preprocessor can make decisions based on it. 795 */ 796#define INTSIZE $intsize /**/ 797#define LONGSIZE $longsize /**/ 798#define SHORTSIZE $shortsize /**/ 799 800/* MULTIARCH: 801 * This symbol, if defined, signifies that the build 802 * process will produce some binary files that are going to be 803 * used in a cross-platform environment. This is the case for 804 * example with the NeXT "fat" binaries that contain executables 805 * for several CPUs. 806 */ 807#$multiarch MULTIARCH /**/ 808 809/* HAS_QUAD: 810 * This symbol, if defined, tells that there's a 64-bit integer type, 811 * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one 812 * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, 813 * or QUAD_IS___INT64. 814 */ 815#$d_quad HAS_QUAD /**/ 816#ifdef HAS_QUAD 817# define Quad_t $quadtype /**/ 818# define Uquad_t $uquadtype /**/ 819# define QUADKIND $quadkind /**/ 820# define QUAD_IS_INT 1 821# define QUAD_IS_LONG 2 822# define QUAD_IS_LONG_LONG 3 823# define QUAD_IS_INT64_T 4 824# define QUAD_IS___INT64 5 825#endif 826 827/* HAS_ACCESSX: 828 * This symbol, if defined, indicates that the accessx routine is 829 * available to do extended access checks. 830 */ 831#$d_accessx HAS_ACCESSX /**/ 832 833/* HAS_EACCESS: 834 * This symbol, if defined, indicates that the eaccess routine is 835 * available to do extended access checks. 836 */ 837#$d_eaccess HAS_EACCESS /**/ 838 839/* I_SYS_ACCESS: 840 * This symbol, if defined, indicates to the C program that it should 841 * include <sys/access.h>. 842 */ 843#$i_sysaccess I_SYS_ACCESS /**/ 844 845/* I_SYS_SECURITY: 846 * This symbol, if defined, indicates to the C program that it should 847 * include <sys/security.h>. 848 */ 849#$i_syssecrt I_SYS_SECURITY /**/ 850 851/* MEM_ALIGNBYTES: 852 * This symbol contains the number of bytes required to align a 853 * double, or a long double when applicable. Usual values are 2, 854 * 4 and 8. The default is eight, for safety. For cross-compiling 855 * or multiarch support, Configure will set a minimum of 8. 856 */ 857#define MEM_ALIGNBYTES $alignbytes 858 859/* BYTEORDER: 860 * This symbol holds the hexadecimal constant defined in byteorder, 861 * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc... 862 * If the compiler supports cross-compiling or multiple-architecture 863 * binaries, use compiler-defined macros to 864 * determine the byte order. 865 */ 866#if defined(MULTIARCH) 867# ifdef __LITTLE_ENDIAN__ 868# if LONGSIZE == 4 869# define BYTEORDER 0x1234 870# else 871# if LONGSIZE == 8 872# define BYTEORDER 0x12345678 873# endif 874# endif 875# else 876# ifdef __BIG_ENDIAN__ 877# if LONGSIZE == 4 878# define BYTEORDER 0x4321 879# else 880# if LONGSIZE == 8 881# define BYTEORDER 0x87654321 882# endif 883# endif 884# endif 885# endif 886#else 887#define BYTEORDER 0x$byteorder /* large digits for MSB */ 888#endif 889 890/* CHARBITS: 891 * This symbol contains the size of a char, so that the C preprocessor 892 * can make decisions based on it. 893 */ 894#define CHARBITS $charbits /**/ 895 896/* CASTI32: 897 * This symbol is defined if the C compiler can cast negative 898 * or large floating point numbers to 32-bit ints. 899 */ 900#$d_casti32 CASTI32 /**/ 901 902/* CASTNEGFLOAT: 903 * This symbol is defined if the C compiler can cast negative 904 * numbers to unsigned longs, ints and shorts. 905 */ 906/* CASTFLAGS: 907 * This symbol contains flags that say what difficulties the compiler 908 * has casting odd floating values to unsigned long: 909 * 0 = ok 910 * 1 = couldn't cast < 0 911 * 2 = couldn't cast >= 0x80000000 912 * 4 = couldn't cast in argument expression list 913 */ 914#$d_castneg CASTNEGFLOAT /**/ 915#define CASTFLAGS $castflags /**/ 916 917/* VOID_CLOSEDIR: 918 * This symbol, if defined, indicates that the closedir() routine 919 * does not return a value. 920 */ 921#$d_void_closedir VOID_CLOSEDIR /**/ 922 923/* HAS_FD_SET: 924 * This symbol, when defined, indicates presence of the fd_set typedef 925 * in <sys/types.h> 926 */ 927#$d_fd_set HAS_FD_SET /**/ 928 929/* Gconvert: 930 * This preprocessor macro is defined to convert a floating point 931 * number to a string without a trailing decimal point. This 932 * emulates the behavior of sprintf("%g"), but is sometimes much more 933 * efficient. If gconvert() is not available, but gcvt() drops the 934 * trailing decimal point, then gcvt() is used. If all else fails, 935 * a macro using sprintf("%g") is used. Arguments for the Gconvert 936 * macro are: value, number of digits, whether trailing zeros should 937 * be retained, and the output buffer. 938 * The usual values are: 939 * d_Gconvert='gconvert((x),(n),(t),(b))' 940 * d_Gconvert='gcvt((x),(n),(b))' 941 * d_Gconvert='sprintf((b),"%.*g",(n),(x))' 942 * The last two assume trailing zeros should not be kept. 943 */ 944#define Gconvert(x,n,t,b) $d_Gconvert 945 946/* HAS_GETPAGESIZE: 947 * This symbol, if defined, indicates that the getpagesize system call 948 * is available to get system page size, which is the granularity of 949 * many memory management calls. 950 */ 951#$d_getpagsz HAS_GETPAGESIZE /**/ 952 953/* HAS_GNULIBC: 954 * This symbol, if defined, indicates to the C program that 955 * the GNU C library is being used. A better check is to use 956 * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc. 957 */ 958#$d_gnulibc HAS_GNULIBC /**/ 959#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) 960# define _GNU_SOURCE 961#endif 962 963/* HAS_ISASCII: 964 * This manifest constant lets the C program know that isascii 965 * is available. 966 */ 967#$d_isascii HAS_ISASCII /**/ 968 969/* HAS_LCHOWN: 970 * This symbol, if defined, indicates that the lchown routine is 971 * available to operate on a symbolic link (instead of following the 972 * link). 973 */ 974#$d_lchown HAS_LCHOWN /**/ 975 976/* HAS_OPEN3: 977 * This manifest constant lets the C program know that the three 978 * argument form of open(2) is available. 979 */ 980#$d_open3 HAS_OPEN3 /**/ 981 982/* HAS_SIGACTION: 983 * This symbol, if defined, indicates that Vr4's sigaction() routine 984 * is available. 985 */ 986#$d_sigaction HAS_SIGACTION /**/ 987 988/* HAS_SIGINFO_SI_ERRNO: 989 * This symbol, if defined, indicates that siginfo_t has the 990 * si_errno member 991 */ 992/* HAS_SIGINFO_SI_PID: 993 * This symbol, if defined, indicates that siginfo_t has the 994 * si_pid member 995 */ 996/* HAS_SIGINFO_SI_UID: 997 * This symbol, if defined, indicates that siginfo_t has the 998 * si_uid member 999 */ 1000/* HAS_SIGINFO_SI_ADDR: 1001 * This symbol, if defined, indicates that siginfo_t has the 1002 * si_addr member 1003 */ 1004/* HAS_SIGINFO_SI_STATUS: 1005 * This symbol, if defined, indicates that siginfo_t has the 1006 * si_status member 1007 */ 1008/* HAS_SIGINFO_SI_BAND: 1009 * This symbol, if defined, indicates that siginfo_t has the 1010 * si_band member 1011 */ 1012/* HAS_SIGINFO_SI_VALUE: 1013 * This symbol, if defined, indicates that siginfo_t has the 1014 * si_value member 1015 */ 1016#$d_siginfo_si_errno HAS_SIGINFO_SI_ERRNO /**/ 1017#$d_siginfo_si_pid HAS_SIGINFO_SI_PID /**/ 1018#$d_siginfo_si_uid HAS_SIGINFO_SI_UID /**/ 1019#$d_siginfo_si_addr HAS_SIGINFO_SI_ADDR /**/ 1020#$d_siginfo_si_status HAS_SIGINFO_SI_STATUS /**/ 1021#$d_siginfo_si_band HAS_SIGINFO_SI_BAND /**/ 1022#$d_siginfo_si_value HAS_SIGINFO_SI_VALUE /**/ 1023 1024/* HAS_SIGSETJMP: 1025 * This variable indicates to the C program that the sigsetjmp() 1026 * routine is available to save the calling process's registers 1027 * and stack environment for later use by siglongjmp(), and 1028 * to optionally save the process's signal mask. See 1029 * Sigjmp_buf, Sigsetjmp, and Siglongjmp. 1030 */ 1031/* Sigjmp_buf: 1032 * This is the buffer type to be used with Sigsetjmp and Siglongjmp. 1033 */ 1034/* Sigsetjmp: 1035 * This macro is used in the same way as sigsetjmp(), but will invoke 1036 * traditional setjmp() if sigsetjmp isn't available. 1037 * See HAS_SIGSETJMP. 1038 */ 1039/* Siglongjmp: 1040 * This macro is used in the same way as siglongjmp(), but will invoke 1041 * traditional longjmp() if siglongjmp isn't available. 1042 * See HAS_SIGSETJMP. 1043 */ 1044#$d_sigsetjmp HAS_SIGSETJMP /**/ 1045#ifdef HAS_SIGSETJMP 1046#define Sigjmp_buf sigjmp_buf 1047#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask)) 1048#define Siglongjmp(buf,retval) siglongjmp((buf),(retval)) 1049#else 1050#define Sigjmp_buf jmp_buf 1051#define Sigsetjmp(buf,save_mask) setjmp((buf)) 1052#define Siglongjmp(buf,retval) longjmp((buf),(retval)) 1053#endif 1054 1055/* HAS_STATIC_INLINE: 1056 * This symbol, if defined, indicates that the C compiler supports 1057 * C99-style static inline. That is, the function can't be called 1058 * from another translation unit. 1059 */ 1060/* PERL_STATIC_INLINE: 1061 * This symbol gives the best-guess incantation to use for static 1062 * inline functions. If HAS_STATIC_INLINE is defined, this will 1063 * give C99-style inline. If HAS_STATIC_INLINE is not defined, 1064 * this will give a plain 'static'. It will always be defined 1065 * to something that gives static linkage. 1066 * Possibilities include 1067 * static inline (c99) 1068 * static __inline__ (gcc -ansi) 1069 * static __inline (MSVC) 1070 * static _inline (older MSVC) 1071 * static (c89 compilers) 1072 */ 1073#$d_static_inline HAS_STATIC_INLINE /**/ 1074#define PERL_STATIC_INLINE $perl_static_inline /**/ 1075 1076/* USE_STDIO_PTR: 1077 * This symbol is defined if the _ptr and _cnt fields (or similar) 1078 * of the stdio FILE structure can be used to access the stdio buffer 1079 * for a file handle. If this is defined, then the FILE_ptr(fp) 1080 * and FILE_cnt(fp) macros will also be defined and should be used 1081 * to access these fields. 1082 */ 1083/* FILE_ptr: 1084 * This macro is used to access the _ptr field (or equivalent) of the 1085 * FILE structure pointed to by its argument. This macro will always be 1086 * defined if USE_STDIO_PTR is defined. 1087 */ 1088/* STDIO_PTR_LVALUE: 1089 * This symbol is defined if the FILE_ptr macro can be used as an 1090 * lvalue. 1091 */ 1092/* FILE_cnt: 1093 * This macro is used to access the _cnt field (or equivalent) of the 1094 * FILE structure pointed to by its argument. This macro will always be 1095 * defined if USE_STDIO_PTR is defined. 1096 */ 1097/* STDIO_CNT_LVALUE: 1098 * This symbol is defined if the FILE_cnt macro can be used as an 1099 * lvalue. 1100 */ 1101/* STDIO_PTR_LVAL_SETS_CNT: 1102 * This symbol is defined if using the FILE_ptr macro as an lvalue 1103 * to increase the pointer by n has the side effect of decreasing the 1104 * value of File_cnt(fp) by n. 1105 */ 1106/* STDIO_PTR_LVAL_NOCHANGE_CNT: 1107 * This symbol is defined if using the FILE_ptr macro as an lvalue 1108 * to increase the pointer by n leaves File_cnt(fp) unchanged. 1109 */ 1110#$d_stdstdio USE_STDIO_PTR /**/ 1111#ifdef USE_STDIO_PTR 1112#define FILE_ptr(fp) $stdio_ptr 1113#$d_stdio_ptr_lval STDIO_PTR_LVALUE /**/ 1114#define FILE_cnt(fp) $stdio_cnt 1115#$d_stdio_cnt_lval STDIO_CNT_LVALUE /**/ 1116#$d_stdio_ptr_lval_sets_cnt STDIO_PTR_LVAL_SETS_CNT /**/ 1117#$d_stdio_ptr_lval_nochange_cnt STDIO_PTR_LVAL_NOCHANGE_CNT /**/ 1118#endif 1119 1120/* USE_STDIO_BASE: 1121 * This symbol is defined if the _base field (or similar) of the 1122 * stdio FILE structure can be used to access the stdio buffer for 1123 * a file handle. If this is defined, then the FILE_base(fp) macro 1124 * will also be defined and should be used to access this field. 1125 * Also, the FILE_bufsiz(fp) macro will be defined and should be used 1126 * to determine the number of bytes in the buffer. USE_STDIO_BASE 1127 * will never be defined unless USE_STDIO_PTR is. 1128 */ 1129/* FILE_base: 1130 * This macro is used to access the _base field (or equivalent) of the 1131 * FILE structure pointed to by its argument. This macro will always be 1132 * defined if USE_STDIO_BASE is defined. 1133 */ 1134/* FILE_bufsiz: 1135 * This macro is used to determine the number of bytes in the I/O 1136 * buffer pointed to by _base field (or equivalent) of the FILE 1137 * structure pointed to its argument. This macro will always be defined 1138 * if USE_STDIO_BASE is defined. 1139 */ 1140#$d_stdiobase USE_STDIO_BASE /**/ 1141#ifdef USE_STDIO_BASE 1142#define FILE_base(fp) $stdio_base 1143#define FILE_bufsiz(fp) $stdio_bufsiz 1144#endif 1145 1146/* DOUBLESIZE: 1147 * This symbol contains the size of a double, so that the C preprocessor 1148 * can make decisions based on it. 1149 */ 1150#define DOUBLESIZE $doublesize /**/ 1151 1152/* I_TIME: 1153 * This symbol is always defined, and indicates to the C program that 1154 * it should include <time.h>. 1155 */ 1156/* I_SYS_TIME: 1157 * This symbol, if defined, indicates to the C program that it should 1158 * include <sys/time.h>. 1159 */ 1160/* I_SYS_TIME_KERNEL: 1161 * This symbol, if defined, indicates to the C program that it should 1162 * include <sys/time.h> with KERNEL defined. 1163 */ 1164/* HAS_TM_TM_ZONE: 1165 * This symbol, if defined, indicates to the C program that 1166 * the struct tm has a tm_zone field. 1167 */ 1168/* HAS_TM_TM_GMTOFF: 1169 * This symbol, if defined, indicates to the C program that 1170 * the struct tm has a tm_gmtoff field. 1171 */ 1172#$i_time I_TIME /**/ 1173#$i_systime I_SYS_TIME /**/ 1174#$i_systimek I_SYS_TIME_KERNEL /**/ 1175#$d_tm_tm_zone HAS_TM_TM_ZONE /**/ 1176#$d_tm_tm_gmtoff HAS_TM_TM_GMTOFF /**/ 1177 1178/* VAL_O_NONBLOCK: 1179 * This symbol is to be used during open() or fcntl(F_SETFL) to turn on 1180 * non-blocking I/O for the file descriptor. Note that there is no way 1181 * back, i.e. you cannot turn it blocking again this way. If you wish to 1182 * alternatively switch between blocking and non-blocking, use the 1183 * ioctl(FIOSNBIO) call instead, but that is not supported by all devices. 1184 */ 1185/* VAL_EAGAIN: 1186 * This symbol holds the errno error code set by read() when no data was 1187 * present on the non-blocking file descriptor. 1188 */ 1189/* RD_NODATA: 1190 * This symbol holds the return code from read() when no data is present 1191 * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is 1192 * not defined, then you can't distinguish between no data and EOF by 1193 * issuing a read(). You'll have to find another way to tell for sure! 1194 */ 1195/* EOF_NONBLOCK: 1196 * This symbol, if defined, indicates to the C program that a read() on 1197 * a non-blocking file descriptor will return 0 on EOF, and not the value 1198 * held in RD_NODATA (-1 usually, in that case!). 1199 */ 1200#define VAL_O_NONBLOCK $o_nonblock 1201#define VAL_EAGAIN $eagain 1202#define RD_NODATA $rd_nodata 1203#$d_eofnblk EOF_NONBLOCK 1204 1205/* PTRSIZE: 1206 * This symbol contains the size of a pointer, so that the C preprocessor 1207 * can make decisions based on it. It will be sizeof(void *) if 1208 * the compiler supports (void *); otherwise it will be 1209 * sizeof(char *). 1210 */ 1211#define PTRSIZE $ptrsize /**/ 1212 1213/* Drand01: 1214 * This macro is to be used to generate uniformly distributed 1215 * random numbers over the range [0., 1.[. You may have to supply 1216 * an 'extern double drand48();' in your program since SunOS 4.1.3 1217 * doesn't provide you with anything relevant in its headers. 1218 * See HAS_DRAND48_PROTO. 1219 */ 1220/* Rand_seed_t: 1221 * This symbol defines the type of the argument of the 1222 * random seed function. 1223 */ 1224/* seedDrand01: 1225 * This symbol defines the macro to be used in seeding the 1226 * random number generator (see Drand01). 1227 */ 1228/* RANDBITS: 1229 * This symbol indicates how many bits are produced by the 1230 * function used to generate normalized random numbers. 1231 * Values include 15, 16, 31, and 48. 1232 */ 1233#define Drand01() $drand01 /**/ 1234#define Rand_seed_t $randseedtype /**/ 1235#define seedDrand01(x) $seedfunc((Rand_seed_t)x) /**/ 1236#define RANDBITS $randbits /**/ 1237 1238/* SSize_t: 1239 * This symbol holds the type used by functions that return 1240 * a count of bytes or an error condition. It must be a signed type. 1241 * It is usually ssize_t, but may be long or int, etc. 1242 * It may be necessary to include <sys/types.h> or <unistd.h> 1243 * to get any typedef'ed information. 1244 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t). 1245 */ 1246#define SSize_t $ssizetype /* signed count of bytes */ 1247 1248/* EBCDIC: 1249 * This symbol, if defined, indicates that this system uses 1250 * EBCDIC encoding. 1251 */ 1252#$ebcdic EBCDIC /**/ 1253 1254/* ARCHLIB: 1255 * This variable, if defined, holds the name of the directory in 1256 * which the user wants to put architecture-dependent public 1257 * library files for $package. It is most often a local directory 1258 * such as /usr/local/lib. Programs using this variable must be 1259 * prepared to deal with filename expansion. If ARCHLIB is the 1260 * same as PRIVLIB, it is not defined, since presumably the 1261 * program already searches PRIVLIB. 1262 */ 1263/* ARCHLIB_EXP: 1264 * This symbol contains the ~name expanded version of ARCHLIB, to be used 1265 * in programs that are not prepared to deal with ~ expansion at run-time. 1266 */ 1267#$d_archlib ARCHLIB "$archlib" /**/ 1268#$d_archlib ARCHLIB_EXP "$archlibexp" /**/ 1269 1270/* BIN: 1271 * This symbol holds the path of the bin directory where the package will 1272 * be installed. Program must be prepared to deal with ~name substitution. 1273 */ 1274/* BIN_EXP: 1275 * This symbol is the filename expanded version of the BIN symbol, for 1276 * programs that do not want to deal with that at run-time. 1277 */ 1278/* PERL_RELOCATABLE_INC: 1279 * This symbol, if defined, indicates that we'd like to relocate entries 1280 * in @INC at run time based on the location of the perl binary. 1281 */ 1282#define BIN "$bin" /**/ 1283#define BIN_EXP "$binexp" /**/ 1284#define PERL_RELOCATABLE_INC "$userelocatableinc" /**/ 1285 1286/* PERL_INC_VERSION_LIST: 1287 * This variable specifies the list of subdirectories in over 1288 * which perl.c:incpush() and lib/lib.pm will automatically 1289 * search when adding directories to @INC, in a format suitable 1290 * for a C initialization string. See the inc_version_list entry 1291 * in Porting/Glossary for more details. 1292 */ 1293#$d_inc_version_list PERL_INC_VERSION_LIST $inc_version_list_init /**/ 1294 1295/* INSTALL_USR_BIN_PERL: 1296 * This symbol, if defined, indicates that Perl is to be installed 1297 * also as /usr/bin/perl. 1298 */ 1299#$installusrbinperl INSTALL_USR_BIN_PERL /**/ 1300 1301/* PERL_OTHERLIBDIRS: 1302 * This variable contains a colon-separated set of paths for the perl 1303 * binary to search for additional library files or modules. 1304 * These directories will be tacked to the end of @INC. 1305 * Perl will automatically search below each path for version- 1306 * and architecture-specific directories. See PERL_INC_VERSION_LIST 1307 * for more details. 1308 */ 1309#$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs" /**/ 1310 1311/* PRIVLIB: 1312 * This symbol contains the name of the private library for this package. 1313 * The library is private in the sense that it needn't be in anyone's 1314 * execution path, but it should be accessible by the world. The program 1315 * should be prepared to do ~ expansion. 1316 */ 1317/* PRIVLIB_EXP: 1318 * This symbol contains the ~name expanded version of PRIVLIB, to be used 1319 * in programs that are not prepared to deal with ~ expansion at run-time. 1320 */ 1321#define PRIVLIB "$privlib" /**/ 1322#define PRIVLIB_EXP "$privlibexp" /**/ 1323 1324/* SITEARCH: 1325 * This symbol contains the name of the private library for this package. 1326 * The library is private in the sense that it needn't be in anyone's 1327 * execution path, but it should be accessible by the world. The program 1328 * should be prepared to do ~ expansion. 1329 * The standard distribution will put nothing in this directory. 1330 * After perl has been installed, users may install their own local 1331 * architecture-dependent modules in this directory with 1332 * MakeMaker Makefile.PL 1333 * or equivalent. See INSTALL for details. 1334 */ 1335/* SITEARCH_EXP: 1336 * This symbol contains the ~name expanded version of SITEARCH, to be used 1337 * in programs that are not prepared to deal with ~ expansion at run-time. 1338 */ 1339#$d_sitearch SITEARCH "$sitearch" /**/ 1340#$d_sitearch SITEARCH_EXP "$sitearchexp" /**/ 1341 1342/* SITELIB: 1343 * This symbol contains the name of the private library for this package. 1344 * The library is private in the sense that it needn't be in anyone's 1345 * execution path, but it should be accessible by the world. The program 1346 * should be prepared to do ~ expansion. 1347 * The standard distribution will put nothing in this directory. 1348 * After perl has been installed, users may install their own local 1349 * architecture-independent modules in this directory with 1350 * MakeMaker Makefile.PL 1351 * or equivalent. See INSTALL for details. 1352 */ 1353/* SITELIB_EXP: 1354 * This symbol contains the ~name expanded version of SITELIB, to be used 1355 * in programs that are not prepared to deal with ~ expansion at run-time. 1356 */ 1357/* SITELIB_STEM: 1358 * This define is SITELIB_EXP with any trailing version-specific component 1359 * removed. The elements in inc_version_list (inc_version_list.U) can 1360 * be tacked onto this variable to generate a list of directories to search. 1361 */ 1362#define SITELIB "$sitelib" /**/ 1363#define SITELIB_EXP "$sitelibexp" /**/ 1364#define SITELIB_STEM "$sitelib_stem" /**/ 1365 1366/* PERL_VENDORARCH: 1367 * If defined, this symbol contains the name of a private library. 1368 * The library is private in the sense that it needn't be in anyone's 1369 * execution path, but it should be accessible by the world. 1370 * It may have a ~ on the front. 1371 * The standard distribution will put nothing in this directory. 1372 * Vendors who distribute perl may wish to place their own 1373 * architecture-dependent modules and extensions in this directory with 1374 * MakeMaker Makefile.PL INSTALLDIRS=vendor 1375 * or equivalent. See INSTALL for details. 1376 */ 1377/* PERL_VENDORARCH_EXP: 1378 * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used 1379 * in programs that are not prepared to deal with ~ expansion at run-time. 1380 */ 1381#$d_vendorarch PERL_VENDORARCH "$vendorarch" /**/ 1382#$d_vendorarch PERL_VENDORARCH_EXP "$vendorarchexp" /**/ 1383 1384/* PERL_VENDORLIB_EXP: 1385 * This symbol contains the ~name expanded version of VENDORLIB, to be used 1386 * in programs that are not prepared to deal with ~ expansion at run-time. 1387 */ 1388/* PERL_VENDORLIB_STEM: 1389 * This define is PERL_VENDORLIB_EXP with any trailing version-specific component 1390 * removed. The elements in inc_version_list (inc_version_list.U) can 1391 * be tacked onto this variable to generate a list of directories to search. 1392 */ 1393#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp" /**/ 1394#$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem" /**/ 1395 1396/* OSNAME: 1397 * This symbol contains the name of the operating system, as determined 1398 * by Configure. You shouldn't rely on it too much; the specific 1399 * feature tests from Configure are generally more reliable. 1400 */ 1401/* OSVERS: 1402 * This symbol contains the version of the operating system, as determined 1403 * by Configure. You shouldn't rely on it too much; the specific 1404 * feature tests from Configure are generally more reliable. 1405 */ 1406#define OSNAME "$osname" /**/ 1407#define OSVERS "$osvers" /**/ 1408 1409/* CAT2: 1410 * This macro concatenates 2 tokens together. 1411 */ 1412/* STRINGIFY: 1413 * This macro surrounds its token with double quotes. 1414 */ 1415#if $cpp_stuff == 1 1416#define CAT2(a,b) a/**/b 1417#define STRINGIFY(a) "a" 1418#endif 1419#if $cpp_stuff == 42 1420#define PeRl_CaTiFy(a, b) a ## b 1421#define PeRl_StGiFy(a) #a 1422#define CAT2(a,b) PeRl_CaTiFy(a,b) 1423#define StGiFy(a) PeRl_StGiFy(a) 1424#define STRINGIFY(a) PeRl_StGiFy(a) 1425#endif 1426#if $cpp_stuff != 1 && $cpp_stuff != 42 1427#include "Bletch: How does this C preprocessor concatenate tokens?" 1428#endif 1429 1430/* CPPSTDIN: 1431 * This symbol contains the first part of the string which will invoke 1432 * the C preprocessor on the standard input and produce to standard 1433 * output. Typical value of "cc -E" or "/lib/cpp", but it can also 1434 * call a wrapper. See CPPRUN. 1435 */ 1436/* CPPMINUS: 1437 * This symbol contains the second part of the string which will invoke 1438 * the C preprocessor on the standard input and produce to standard 1439 * output. This symbol will have the value "-" if CPPSTDIN needs a minus 1440 * to specify standard input, otherwise the value is "". 1441 */ 1442/* CPPRUN: 1443 * This symbol contains the string which will invoke a C preprocessor on 1444 * the standard input and produce to standard output. It needs to end 1445 * with CPPLAST, after all other preprocessor flags have been specified. 1446 * The main difference with CPPSTDIN is that this program will never be a 1447 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is 1448 * available directly to the user. Note that it may well be different from 1449 * the preprocessor used to compile the C program. 1450 */ 1451/* CPPLAST: 1452 * This symbol is intended to be used along with CPPRUN in the same manner 1453 * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". 1454 */ 1455#define CPPSTDIN "$cppstdin" 1456#define CPPMINUS "$cppminus" 1457#define CPPRUN "$cpprun" 1458#define CPPLAST "$cpplast" 1459 1460/* HAS_ACCESS: 1461 * This manifest constant lets the C program know that the access() 1462 * system call is available to check for accessibility using real UID/GID. 1463 * (always present on UNIX.) 1464 */ 1465#$d_access HAS_ACCESS /**/ 1466 1467/* HASATTRIBUTE_FORMAT: 1468 * Can we handle GCC attribute for checking printf-style formats 1469 */ 1470/* PRINTF_FORMAT_NULL_OK: 1471 * Allows __printf__ format to be null when checking printf-style 1472 */ 1473/* HASATTRIBUTE_MALLOC: 1474 * Can we handle GCC attribute for malloc-style functions. 1475 */ 1476/* HASATTRIBUTE_NONNULL: 1477 * Can we handle GCC attribute for nonnull function parms. 1478 */ 1479/* HASATTRIBUTE_NORETURN: 1480 * Can we handle GCC attribute for functions that do not return 1481 */ 1482/* HASATTRIBUTE_PURE: 1483 * Can we handle GCC attribute for pure functions 1484 */ 1485/* HASATTRIBUTE_UNUSED: 1486 * Can we handle GCC attribute for unused variables and arguments 1487 */ 1488/* HASATTRIBUTE_DEPRECATED: 1489 * Can we handle GCC attribute for marking deprecated APIs 1490 */ 1491/* HASATTRIBUTE_WARN_UNUSED_RESULT: 1492 * Can we handle GCC attribute for warning on unused results 1493 */ 1494/* HASATTRIBUTE_ALWAYS_INLINE: 1495 * Can we handle GCC attribute for functions that should always be 1496 * inlined. 1497 */ 1498/* HASATTRIBUTE_VISIBILITY: 1499 * Can we handle GCC attribute for functions that should have a 1500 * different visibility. 1501 */ 1502#$d_attribute_deprecated HASATTRIBUTE_DEPRECATED /**/ 1503#$d_attribute_format HASATTRIBUTE_FORMAT /**/ 1504#$d_printf_format_null PRINTF_FORMAT_NULL_OK /**/ 1505#$d_attribute_noreturn HASATTRIBUTE_NORETURN /**/ 1506#$d_attribute_malloc HASATTRIBUTE_MALLOC /**/ 1507#$d_attribute_nonnull HASATTRIBUTE_NONNULL /**/ 1508#$d_attribute_pure HASATTRIBUTE_PURE /**/ 1509#$d_attribute_unused HASATTRIBUTE_UNUSED /**/ 1510#$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT /**/ 1511#$d_attribute_always_inline HASATTRIBUTE_ALWAYS_INLINE /**/ 1512#$d_attribute_visibility HASATTRIBUTE_VISIBILITY /**/ 1513 1514/* HAS_BACKTRACE: 1515 * This symbol, if defined, indicates that the backtrace() routine is 1516 * available to get a stack trace. The <execinfo.h> header must be 1517 * included to use this routine. 1518 */ 1519#$d_backtrace HAS_BACKTRACE /**/ 1520 1521/* HAS_CSH: 1522 * This symbol, if defined, indicates that the C-shell exists. 1523 */ 1524/* CSH: 1525 * This symbol, if defined, contains the full pathname of csh. 1526 */ 1527#$d_csh HAS_CSH /**/ 1528#ifdef HAS_CSH 1529#define CSH "$full_csh" /**/ 1530#endif 1531 1532/* HAS_DLADDR: 1533 * This symbol, if defined, indicates that the dladdr() routine is 1534 * available to query dynamic linker information for an address. 1535 * The <dlfcn.h> header must be included to use this routine. 1536 */ 1537#$d_dladdr HAS_DLADDR /**/ 1538 1539/* SETUID_SCRIPTS_ARE_SECURE_NOW: 1540 * This symbol, if defined, indicates that the bug that prevents 1541 * setuid scripts from being secure is not present in this kernel. 1542 */ 1543/* DOSUID: 1544 * This symbol, if defined, indicates that the C program should 1545 * check the script that it is executing for setuid/setgid bits, and 1546 * attempt to emulate setuid/setgid on systems that have disabled 1547 * setuid #! scripts because the kernel can't do it securely. 1548 * It is up to the package designer to make sure that this emulation 1549 * is done securely. Among other things, it should do an fstat on 1550 * the script it just opened to make sure it really is a setuid/setgid 1551 * script, it should make sure the arguments passed correspond exactly 1552 * to the argument on the #! line, and it should not trust any 1553 * subprocesses to which it must pass the filename rather than the 1554 * file descriptor of the script to be executed. 1555 */ 1556#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW /**/ 1557#$d_dosuid DOSUID /**/ 1558 1559/* HAS_ENDGRENT: 1560 * This symbol, if defined, indicates that the getgrent routine is 1561 * available for finalizing sequential access of the group database. 1562 */ 1563#$d_endgrent HAS_ENDGRENT /**/ 1564 1565/* HAS_ENDHOSTENT: 1566 * This symbol, if defined, indicates that the endhostent() routine is 1567 * available to close whatever was being used for host queries. 1568 */ 1569#$d_endhent HAS_ENDHOSTENT /**/ 1570 1571/* HAS_ENDNETENT: 1572 * This symbol, if defined, indicates that the endnetent() routine is 1573 * available to close whatever was being used for network queries. 1574 */ 1575#$d_endnent HAS_ENDNETENT /**/ 1576 1577/* HAS_ENDPROTOENT: 1578 * This symbol, if defined, indicates that the endprotoent() routine is 1579 * available to close whatever was being used for protocol queries. 1580 */ 1581#$d_endpent HAS_ENDPROTOENT /**/ 1582 1583/* HAS_ENDPWENT: 1584 * This symbol, if defined, indicates that the endpwent routine is 1585 * available for finalizing sequential access of the passwd database. 1586 */ 1587#$d_endpwent HAS_ENDPWENT /**/ 1588 1589/* HAS_ENDSERVENT: 1590 * This symbol, if defined, indicates that the endservent() routine is 1591 * available to close whatever was being used for service queries. 1592 */ 1593#$d_endsent HAS_ENDSERVENT /**/ 1594 1595/* FLEXFILENAMES: 1596 * This symbol, if defined, indicates that the system supports filenames 1597 * longer than 14 characters. 1598 */ 1599#$d_flexfnam FLEXFILENAMES /**/ 1600 1601/* HAS_GETGRENT: 1602 * This symbol, if defined, indicates that the getgrent routine is 1603 * available for sequential access of the group database. 1604 */ 1605#$d_getgrent HAS_GETGRENT /**/ 1606 1607/* HAS_GETHOSTBYADDR: 1608 * This symbol, if defined, indicates that the gethostbyaddr() routine is 1609 * available to look up hosts by their IP addresses. 1610 */ 1611#$d_gethbyaddr HAS_GETHOSTBYADDR /**/ 1612 1613/* HAS_GETHOSTBYNAME: 1614 * This symbol, if defined, indicates that the gethostbyname() routine is 1615 * available to look up host names in some data base or other. 1616 */ 1617#$d_gethbyname HAS_GETHOSTBYNAME /**/ 1618 1619/* HAS_GETHOSTENT: 1620 * This symbol, if defined, indicates that the gethostent() routine is 1621 * available to look up host names in some data base or another. 1622 */ 1623#$d_gethent HAS_GETHOSTENT /**/ 1624 1625/* HAS_GETHOSTNAME: 1626 * This symbol, if defined, indicates that the C program may use the 1627 * gethostname() routine to derive the host name. See also HAS_UNAME 1628 * and PHOSTNAME. 1629 */ 1630/* HAS_UNAME: 1631 * This symbol, if defined, indicates that the C program may use the 1632 * uname() routine to derive the host name. See also HAS_GETHOSTNAME 1633 * and PHOSTNAME. 1634 */ 1635/* PHOSTNAME: 1636 * This symbol, if defined, indicates the command to feed to the 1637 * popen() routine to derive the host name. See also HAS_GETHOSTNAME 1638 * and HAS_UNAME. Note that the command uses a fully qualified path, 1639 * so that it is safe even if used by a process with super-user 1640 * privileges. 1641 */ 1642/* HAS_PHOSTNAME: 1643 * This symbol, if defined, indicates that the C program may use the 1644 * contents of PHOSTNAME as a command to feed to the popen() routine 1645 * to derive the host name. 1646 */ 1647#$d_gethname HAS_GETHOSTNAME /**/ 1648#$d_uname HAS_UNAME /**/ 1649#$d_phostname HAS_PHOSTNAME /**/ 1650#ifdef HAS_PHOSTNAME 1651#define PHOSTNAME "$aphostname" /* How to get the host name */ 1652#endif 1653 1654/* HAS_GETNETBYADDR: 1655 * This symbol, if defined, indicates that the getnetbyaddr() routine is 1656 * available to look up networks by their IP addresses. 1657 */ 1658#$d_getnbyaddr HAS_GETNETBYADDR /**/ 1659 1660/* HAS_GETNETBYNAME: 1661 * This symbol, if defined, indicates that the getnetbyname() routine is 1662 * available to look up networks by their names. 1663 */ 1664#$d_getnbyname HAS_GETNETBYNAME /**/ 1665 1666/* HAS_GETNETENT: 1667 * This symbol, if defined, indicates that the getnetent() routine is 1668 * available to look up network names in some data base or another. 1669 */ 1670#$d_getnent HAS_GETNETENT /**/ 1671 1672/* HAS_GETPROTOENT: 1673 * This symbol, if defined, indicates that the getprotoent() routine is 1674 * available to look up protocols in some data base or another. 1675 */ 1676#$d_getpent HAS_GETPROTOENT /**/ 1677 1678/* HAS_GETPGRP: 1679 * This symbol, if defined, indicates that the getpgrp routine is 1680 * available to get the current process group. 1681 */ 1682/* USE_BSD_GETPGRP: 1683 * This symbol, if defined, indicates that getpgrp needs one 1684 * arguments whereas USG one needs none. 1685 */ 1686#$d_getpgrp HAS_GETPGRP /**/ 1687#$d_bsdgetpgrp USE_BSD_GETPGRP /**/ 1688 1689/* HAS_GETPROTOBYNAME: 1690 * This symbol, if defined, indicates that the getprotobyname() 1691 * routine is available to look up protocols by their name. 1692 */ 1693/* HAS_GETPROTOBYNUMBER: 1694 * This symbol, if defined, indicates that the getprotobynumber() 1695 * routine is available to look up protocols by their number. 1696 */ 1697#$d_getpbyname HAS_GETPROTOBYNAME /**/ 1698#$d_getpbynumber HAS_GETPROTOBYNUMBER /**/ 1699 1700/* HAS_GETPWENT: 1701 * This symbol, if defined, indicates that the getpwent routine is 1702 * available for sequential access of the passwd database. 1703 * If this is not available, the older getpw() function may be available. 1704 */ 1705#$d_getpwent HAS_GETPWENT /**/ 1706 1707/* HAS_GETSERVENT: 1708 * This symbol, if defined, indicates that the getservent() routine is 1709 * available to look up network services in some data base or another. 1710 */ 1711#$d_getsent HAS_GETSERVENT /**/ 1712 1713/* HAS_GETSERVBYNAME: 1714 * This symbol, if defined, indicates that the getservbyname() 1715 * routine is available to look up services by their name. 1716 */ 1717/* HAS_GETSERVBYPORT: 1718 * This symbol, if defined, indicates that the getservbyport() 1719 * routine is available to look up services by their port. 1720 */ 1721#$d_getsbyname HAS_GETSERVBYNAME /**/ 1722#$d_getsbyport HAS_GETSERVBYPORT /**/ 1723 1724/* HAS_HTONL: 1725 * This symbol, if defined, indicates that the htonl() routine (and 1726 * friends htons() ntohl() ntohs()) are available to do network 1727 * order byte swapping. 1728 */ 1729/* HAS_HTONS: 1730 * This symbol, if defined, indicates that the htons() routine (and 1731 * friends htonl() ntohl() ntohs()) are available to do network 1732 * order byte swapping. 1733 */ 1734/* HAS_NTOHL: 1735 * This symbol, if defined, indicates that the ntohl() routine (and 1736 * friends htonl() htons() ntohs()) are available to do network 1737 * order byte swapping. 1738 */ 1739/* HAS_NTOHS: 1740 * This symbol, if defined, indicates that the ntohs() routine (and 1741 * friends htonl() htons() ntohl()) are available to do network 1742 * order byte swapping. 1743 */ 1744#$d_htonl HAS_HTONL /**/ 1745#$d_htonl HAS_HTONS /**/ 1746#$d_htonl HAS_NTOHL /**/ 1747#$d_htonl HAS_NTOHS /**/ 1748 1749/* HAS_LONG_DOUBLE: 1750 * This symbol will be defined if the C compiler supports long 1751 * doubles. 1752 */ 1753/* LONG_DOUBLESIZE: 1754 * This symbol contains the size of a long double, so that the 1755 * C preprocessor can make decisions based on it. It is only 1756 * defined if the system supports long doubles. Note that this 1757 * is sizeof(long double), which may include unused bytes. 1758 */ 1759/* HAS_LDEXPL: 1760 * This symbol, if defined, indicates that the ldexpl routine is 1761 * available to shift a long double floating-point number 1762 * by an integral power of 2. 1763 */ 1764/* LONG_DOUBLEKIND: 1765 * LONG_DOUBLEKIND will be one of 1766 * LONG_DOUBLE_IS_DOUBLE 1767 * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1768 * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 1769 * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 1770 * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 1771 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 1772 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 1773 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 1774 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 1775 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 1776 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 1777 * LONG_DOUBLE_IS_VAX_H_FLOAT 1778 * LONG_DOUBLE_IS_UNKNOWN_FORMAT 1779 * It is only defined if the system supports long doubles. 1780 */ 1781/* LONG_DOUBLE_STYLE_IEEE: 1782 * This symbol, if defined, indicates that the long double 1783 * is any of the IEEE 754 style long doubles: 1784 * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED, 1785 * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE. 1786 */ 1787/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE: 1788 * This symbol, if defined, indicates that the long double is 1789 * the 128-bit double-double. 1790 */ 1791/* LONG_DOUBLE_STYLE_IEEE_EXTENDED: 1792 * This symbol, if defined, indicates that the long double is 1793 * the 80-bit IEEE 754. Note that despite the 'extended' this 1794 * is less than the 'std', since this is an extension of 1795 * the double precision. 1796 */ 1797/* LONG_DOUBLE_STYLE_IEEE_STD: 1798 * This symbol, if defined, indicates that the long double is 1799 * the 128-bit IEEE 754. 1800 */ 1801/* LONG_DOUBLE_STYLE_VAX: 1802 * This symbol, if defined, indicates that the long double is 1803 * the 128-bit VAX format H. 1804 */ 1805#$d_ldexpl HAS_LDEXPL /**/ 1806#$d_longdbl HAS_LONG_DOUBLE /**/ 1807#ifdef HAS_LONG_DOUBLE 1808#define LONG_DOUBLESIZE $longdblsize /**/ 1809#define LONG_DOUBLEKIND $longdblkind /**/ 1810#define LONG_DOUBLE_IS_DOUBLE 0 1811#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 1812#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 1813#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 1814#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 1815#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 1816#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 1817#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 1818#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 1819#define LONG_DOUBLE_IS_VAX_H_FLOAT 9 1820#define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 1821#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */ 1822#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */ 1823#$d_long_double_style_ieee LONG_DOUBLE_STYLE_IEEE 1824#$d_long_double_style_ieee_doubledouble LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE 1825#$d_long_double_style_ieee_extended LONG_DOUBLE_STYLE_IEEE_EXTENDED 1826#$d_long_double_style_ieee_std LONG_DOUBLE_STYLE_IEEE_STD 1827#$d_long_double_style_vax LONG_DOUBLE_STYLE_VAX 1828#endif 1829 1830/* HAS_LONG_LONG: 1831 * This symbol will be defined if the C compiler supports long long. 1832 */ 1833/* LONGLONGSIZE: 1834 * This symbol contains the size of a long long, so that the 1835 * C preprocessor can make decisions based on it. It is only 1836 * defined if the system supports long long. 1837 */ 1838#$d_longlong HAS_LONG_LONG /**/ 1839#ifdef HAS_LONG_LONG 1840#define LONGLONGSIZE $longlongsize /**/ 1841#endif 1842 1843/* HAS_MKSTEMP: 1844 * This symbol, if defined, indicates that the mkstemp routine is 1845 * available to exclusively create and open a uniquely named 1846 * temporary file. 1847 */ 1848#$d_mkstemp HAS_MKSTEMP /**/ 1849 1850/* HAS_MMAP: 1851 * This symbol, if defined, indicates that the mmap system call is 1852 * available to map a file into memory. 1853 */ 1854/* Mmap_t: 1855 * This symbol holds the return type of the mmap() system call 1856 * (and simultaneously the type of the first argument). 1857 * Usually set to 'void *' or 'caddr_t'. 1858 */ 1859#$d_mmap HAS_MMAP /**/ 1860#define Mmap_t $mmaptype /**/ 1861 1862/* HAS_SETGRENT: 1863 * This symbol, if defined, indicates that the setgrent routine is 1864 * available for initializing sequential access of the group database. 1865 */ 1866#$d_setgrent HAS_SETGRENT /**/ 1867 1868/* HAS_SETHOSTENT: 1869 * This symbol, if defined, indicates that the sethostent() routine is 1870 * available. 1871 */ 1872#$d_sethent HAS_SETHOSTENT /**/ 1873 1874/* HAS_SETNETENT: 1875 * This symbol, if defined, indicates that the setnetent() routine is 1876 * available. 1877 */ 1878#$d_setnent HAS_SETNETENT /**/ 1879 1880/* HAS_SETPROTOENT: 1881 * This symbol, if defined, indicates that the setprotoent() routine is 1882 * available. 1883 */ 1884#$d_setpent HAS_SETPROTOENT /**/ 1885 1886/* HAS_SETPGRP: 1887 * This symbol, if defined, indicates that the setpgrp routine is 1888 * available to set the current process group. 1889 */ 1890/* USE_BSD_SETPGRP: 1891 * This symbol, if defined, indicates that setpgrp needs two 1892 * arguments whereas USG one needs none. See also HAS_SETPGID 1893 * for a POSIX interface. 1894 */ 1895#$d_setpgrp HAS_SETPGRP /**/ 1896#$d_bsdsetpgrp USE_BSD_SETPGRP /**/ 1897 1898/* HAS_SETPWENT: 1899 * This symbol, if defined, indicates that the setpwent routine is 1900 * available for initializing sequential access of the passwd database. 1901 */ 1902#$d_setpwent HAS_SETPWENT /**/ 1903 1904/* HAS_SETSERVENT: 1905 * This symbol, if defined, indicates that the setservent() routine is 1906 * available. 1907 */ 1908#$d_setsent HAS_SETSERVENT /**/ 1909 1910/* HAS_SETVBUF: 1911 * This symbol, if defined, indicates that the setvbuf routine is 1912 * available to change buffering on an open stdio stream. 1913 * to a line-buffered mode. 1914 */ 1915#$d_setvbuf HAS_SETVBUF /**/ 1916 1917/* HAS_SHM: 1918 * This symbol, if defined, indicates that the entire shm*(2) library is 1919 * supported. 1920 */ 1921#$d_shm HAS_SHM /**/ 1922 1923/* Shmat_t: 1924 * This symbol holds the return type of the shmat() system call. 1925 * Usually set to 'void *' or 'char *'. 1926 */ 1927/* HAS_SHMAT_PROTOTYPE: 1928 * This symbol, if defined, indicates that the sys/shm.h includes 1929 * a prototype for shmat(). Otherwise, it is up to the program to 1930 * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess, 1931 * but not always right so it should be emitted by the program only 1932 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs. 1933 */ 1934#define Shmat_t $shmattype /**/ 1935#$d_shmatprototype HAS_SHMAT_PROTOTYPE /**/ 1936 1937/* HAS_SOCKET: 1938 * This symbol, if defined, indicates that the BSD socket interface is 1939 * supported. 1940 */ 1941/* HAS_SOCKETPAIR: 1942 * This symbol, if defined, indicates that the BSD socketpair() call is 1943 * supported. 1944 */ 1945/* HAS_SOCKADDR_SA_LEN: 1946 * This symbol, if defined, indicates that the struct sockaddr 1947 * structure has a member called sa_len, indicating the length of 1948 * the structure. 1949 */ 1950/* HAS_SOCKADDR_IN6: 1951 * This symbol, if defined, indicates the availability of 1952 * struct sockaddr_in6; 1953 */ 1954/* HAS_SOCKADDR_STORAGE: 1955 * This symbol, if defined, indicates the availability of 1956 * struct sockaddr_storage; 1957 */ 1958/* HAS_SIN6_SCOPE_ID: 1959 * This symbol, if defined, indicates that the struct sockaddr_in6 1960 * structure has a member called sin6_scope_id. 1961 */ 1962/* HAS_IP_MREQ: 1963 * This symbol, if defined, indicates the availability of 1964 * struct ip_mreq; 1965 */ 1966/* HAS_IP_MREQ_SOURCE: 1967 * This symbol, if defined, indicates the availability of 1968 * struct ip_mreq_source; 1969 */ 1970/* HAS_IPV6_MREQ: 1971 * This symbol, if defined, indicates the availability of 1972 * struct ipv6_mreq; 1973 */ 1974/* HAS_IPV6_MREQ_SOURCE: 1975 * This symbol, if defined, indicates the availability of 1976 * struct ipv6_mreq_source; 1977 */ 1978#$d_socket HAS_SOCKET /**/ 1979#$d_sockpair HAS_SOCKETPAIR /**/ 1980#$d_sockaddr_sa_len HAS_SOCKADDR_SA_LEN /**/ 1981#$d_sockaddr_in6 HAS_SOCKADDR_IN6 /**/ 1982#$d_sockaddr_storage HAS_SOCKADDR_STORAGE /**/ 1983#$d_sin6_scope_id HAS_SIN6_SCOPE_ID /**/ 1984#$d_ip_mreq HAS_IP_MREQ /**/ 1985#$d_ip_mreq_source HAS_IP_MREQ_SOURCE /**/ 1986#$d_ipv6_mreq HAS_IPV6_MREQ /**/ 1987#$d_ipv6_mreq_source HAS_IPV6_MREQ_SOURCE /**/ 1988 1989/* USE_STAT_BLOCKS: 1990 * This symbol is defined if this system has a stat structure declaring 1991 * st_blksize and st_blocks. 1992 */ 1993#ifndef USE_STAT_BLOCKS 1994#$d_statblks USE_STAT_BLOCKS /**/ 1995#endif 1996 1997/* HAS_SYS_ERRLIST: 1998 * This symbol, if defined, indicates that the sys_errlist array is 1999 * available to translate error numbers to strings. The extern int 2000 * sys_nerr gives the size of that table. 2001 */ 2002#$d_syserrlst HAS_SYS_ERRLIST /**/ 2003 2004/* HAS_STRTOUL: 2005 * This symbol, if defined, indicates that the strtoul routine is 2006 * available to provide conversion of strings to unsigned long. 2007 */ 2008#$d_strtoul HAS_STRTOUL /**/ 2009 2010/* HAS_UNION_SEMUN: 2011 * This symbol, if defined, indicates that the union semun is 2012 * defined by including <sys/sem.h>. If not, the user code 2013 * probably needs to define it as: 2014 * union semun { 2015 * int val; 2016 * struct semid_ds *buf; 2017 * unsigned short *array; 2018 * } 2019 */ 2020/* USE_SEMCTL_SEMUN: 2021 * This symbol, if defined, indicates that union semun is 2022 * used for semctl IPC_STAT. 2023 */ 2024/* USE_SEMCTL_SEMID_DS: 2025 * This symbol, if defined, indicates that struct semid_ds * is 2026 * used for semctl IPC_STAT. 2027 */ 2028#$d_union_semun HAS_UNION_SEMUN /**/ 2029#$d_semctl_semun USE_SEMCTL_SEMUN /**/ 2030#$d_semctl_semid_ds USE_SEMCTL_SEMID_DS /**/ 2031 2032/* HAS_VFORK: 2033 * This symbol, if defined, indicates that vfork() exists. 2034 */ 2035#$d_vfork HAS_VFORK /**/ 2036 2037/* HAS_PSEUDOFORK: 2038 * This symbol, if defined, indicates that an emulation of the 2039 * fork routine is available. 2040 */ 2041#$d_pseudofork HAS_PSEUDOFORK /**/ 2042 2043/* Signal_t: 2044 * This symbol's value is either "void" or "int", corresponding to the 2045 * appropriate return type of a signal handler. Thus, you can declare 2046 * a signal handler using "Signal_t (*handler)()", and define the 2047 * handler using "Signal_t handler(sig)". 2048 */ 2049#define Signal_t $signal_t /* Signal handler's return type */ 2050 2051/* I_DIRENT: 2052 * This symbol, if defined, indicates to the C program that it should 2053 * include <dirent.h>. Using this symbol also triggers the definition 2054 * of the Direntry_t define which ends up being 'struct dirent' or 2055 * 'struct direct' depending on the availability of <dirent.h>. 2056 */ 2057/* DIRNAMLEN: 2058 * This symbol, if defined, indicates to the C program that the length 2059 * of directory entry names is provided by a d_namlen field. Otherwise 2060 * you need to do strlen() on the d_name field. 2061 */ 2062/* Direntry_t: 2063 * This symbol is set to 'struct direct' or 'struct dirent' depending on 2064 * whether dirent is available or not. You should use this pseudo type to 2065 * portably declare your directory entries. 2066 */ 2067#$i_dirent I_DIRENT /**/ 2068#$d_dirnamlen DIRNAMLEN /**/ 2069#define Direntry_t $direntrytype 2070 2071/* I_EXECINFO: 2072 * This symbol, if defined, indicates to the C program that it should 2073 * include <execinfo.h> for backtrace() support. 2074 */ 2075#$i_execinfo I_EXECINFO /**/ 2076 2077/* I_GRP: 2078 * This symbol, if defined, indicates to the C program that it should 2079 * include <grp.h>. 2080 */ 2081/* GRPASSWD: 2082 * This symbol, if defined, indicates to the C program that struct group 2083 * in <grp.h> contains gr_passwd. 2084 */ 2085#$i_grp I_GRP /**/ 2086#$d_grpasswd GRPASSWD /**/ 2087 2088/* I_NDBM: 2089 * This symbol, if defined, indicates that <ndbm.h> exists and should 2090 * be included. 2091 */ 2092/* I_GDBMNDBM: 2093 * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should 2094 * be included. This was the location of the ndbm.h compatibility file 2095 * in RedHat 7.1. 2096 */ 2097/* I_GDBM_NDBM: 2098 * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should 2099 * be included. This is the location of the ndbm.h compatibility file 2100 * in Debian 4.0. 2101 */ 2102/* NDBM_H_USES_PROTOTYPES: 2103 * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C 2104 * prototypes instead of K&R style function declarations without any 2105 * parameter information. While ANSI C prototypes are supported in C++, 2106 * K&R style function declarations will yield errors. 2107 */ 2108/* GDBMNDBM_H_USES_PROTOTYPES: 2109 * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C 2110 * prototypes instead of K&R style function declarations without any 2111 * parameter information. While ANSI C prototypes are supported in C++, 2112 * K&R style function declarations will yield errors. 2113 */ 2114/* GDBM_NDBM_H_USES_PROTOTYPES: 2115 * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C 2116 * prototypes instead of K&R style function declarations without any 2117 * parameter information. While ANSI C prototypes are supported in C++, 2118 * K&R style function declarations will yield errors. 2119 */ 2120#$i_ndbm I_NDBM /**/ 2121#$i_gdbmndbm I_GDBMNDBM /**/ 2122#$i_gdbm_ndbm I_GDBM_NDBM /**/ 2123#$d_ndbm_h_uses_prototypes NDBM_H_USES_PROTOTYPES /**/ 2124#$d_gdbmndbm_h_uses_prototypes GDBMNDBM_H_USES_PROTOTYPES /**/ 2125#$d_gdbm_ndbm_h_uses_prototypes GDBM_NDBM_H_USES_PROTOTYPES /**/ 2126 2127/* I_NETDB: 2128 * This symbol, if defined, indicates that <netdb.h> exists and 2129 * should be included. 2130 */ 2131#$i_netdb I_NETDB /**/ 2132 2133/* I_NET_ERRNO: 2134 * This symbol, if defined, indicates that <net/errno.h> exists and 2135 * should be included. 2136 */ 2137#$i_neterrno I_NET_ERRNO /**/ 2138 2139/* I_PWD: 2140 * This symbol, if defined, indicates to the C program that it should 2141 * include <pwd.h>. 2142 */ 2143/* PWQUOTA: 2144 * This symbol, if defined, indicates to the C program that struct passwd 2145 * contains pw_quota. 2146 */ 2147/* PWAGE: 2148 * This symbol, if defined, indicates to the C program that struct passwd 2149 * contains pw_age. 2150 */ 2151/* PWCHANGE: 2152 * This symbol, if defined, indicates to the C program that struct passwd 2153 * contains pw_change. 2154 */ 2155/* PWCLASS: 2156 * This symbol, if defined, indicates to the C program that struct passwd 2157 * contains pw_class. 2158 */ 2159/* PWEXPIRE: 2160 * This symbol, if defined, indicates to the C program that struct passwd 2161 * contains pw_expire. 2162 */ 2163/* PWCOMMENT: 2164 * This symbol, if defined, indicates to the C program that struct passwd 2165 * contains pw_comment. 2166 */ 2167/* PWGECOS: 2168 * This symbol, if defined, indicates to the C program that struct passwd 2169 * contains pw_gecos. 2170 */ 2171/* PWPASSWD: 2172 * This symbol, if defined, indicates to the C program that struct passwd 2173 * contains pw_passwd. 2174 */ 2175#$i_pwd I_PWD /**/ 2176#$d_pwquota PWQUOTA /**/ 2177#$d_pwage PWAGE /**/ 2178#$d_pwchange PWCHANGE /**/ 2179#$d_pwclass PWCLASS /**/ 2180#$d_pwexpire PWEXPIRE /**/ 2181#$d_pwcomment PWCOMMENT /**/ 2182#$d_pwgecos PWGECOS /**/ 2183#$d_pwpasswd PWPASSWD /**/ 2184 2185/* I_SYSUIO: 2186 * This symbol, if defined, indicates that <sys/uio.h> exists and 2187 * should be included. 2188 */ 2189#$i_sysuio I_SYSUIO /**/ 2190 2191/* I_TERMIO: 2192 * This symbol, if defined, indicates that the program should include 2193 * <termio.h> rather than <sgtty.h>. There are also differences in 2194 * the ioctl() calls that depend on the value of this symbol. 2195 */ 2196/* I_TERMIOS: 2197 * This symbol, if defined, indicates that the program should include 2198 * the POSIX termios.h rather than sgtty.h or termio.h. 2199 * There are also differences in the ioctl() calls that depend on the 2200 * value of this symbol. 2201 */ 2202/* I_SGTTY: 2203 * This symbol, if defined, indicates that the program should include 2204 * <sgtty.h> rather than <termio.h>. There are also differences in 2205 * the ioctl() calls that depend on the value of this symbol. 2206 */ 2207#$i_termio I_TERMIO /**/ 2208#$i_termios I_TERMIOS /**/ 2209#$i_sgtty I_SGTTY /**/ 2210 2211/* Free_t: 2212 * This variable contains the return type of free(). It is usually 2213 * void, but occasionally int. 2214 */ 2215/* Malloc_t: 2216 * This symbol is the type of pointer returned by malloc and realloc. 2217 */ 2218#define Malloc_t $malloctype /**/ 2219#define Free_t $freetype /**/ 2220 2221/* PERL_MALLOC_WRAP: 2222 * This symbol, if defined, indicates that we'd like malloc wrap checks. 2223 */ 2224#$usemallocwrap PERL_MALLOC_WRAP /**/ 2225 2226/* MYMALLOC: 2227 * This symbol, if defined, indicates that we're using our own malloc. 2228 */ 2229#$d_mymalloc MYMALLOC /**/ 2230 2231/* SH_PATH: 2232 * This symbol contains the full pathname to the shell used on this 2233 * on this system to execute Bourne shell scripts. Usually, this will be 2234 * /bin/sh, though it's possible that some systems will have /bin/ksh, 2235 * /bin/pdksh, /bin/ash, /bin/bash, or even something such as 2236 * D:/bin/sh.exe. 2237 */ 2238#define SH_PATH "$targetsh" /**/ 2239 2240/* SIG_NAME: 2241 * This symbol contains a list of signal names in order of 2242 * signal number. This is intended 2243 * to be used as a static array initialization, like this: 2244 * char *sig_name[] = { SIG_NAME }; 2245 * The signals in the list are separated with commas, and each signal 2246 * is surrounded by double quotes. There is no leading SIG in the signal 2247 * name, i.e. SIGQUIT is known as "QUIT". 2248 * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn, 2249 * etc., where nn is the actual signal number (e.g. NUM37). 2250 * The signal number for sig_name[i] is stored in sig_num[i]. 2251 * The last element is 0 to terminate the list with a NULL. This 2252 * corresponds to the 0 at the end of the sig_name_init list. 2253 * Note that this variable is initialized from the sig_name_init, 2254 * not from sig_name (which is unused). 2255 */ 2256/* SIG_NUM: 2257 * This symbol contains a list of signal numbers, in the same order as the 2258 * SIG_NAME list. It is suitable for static array initialization, as in: 2259 * int sig_num[] = { SIG_NUM }; 2260 * The signals in the list are separated with commas, and the indices 2261 * within that list and the SIG_NAME list match, so it's easy to compute 2262 * the signal name from a number or vice versa at the price of a small 2263 * dynamic linear lookup. 2264 * Duplicates are allowed, but are moved to the end of the list. 2265 * The signal number corresponding to sig_name[i] is sig_number[i]. 2266 * if (i < NSIG) then sig_number[i] == i. 2267 * The last element is 0, corresponding to the 0 at the end of 2268 * the sig_name_init list. 2269 * Note that this variable is initialized from the sig_num_init, 2270 * not from sig_num (which is unused). 2271 */ 2272/* SIG_SIZE: 2273 * This variable contains the number of elements of the SIG_NAME 2274 * and SIG_NUM arrays, excluding the final NULL entry. 2275 */ 2276#define SIG_NAME $sig_name_init /**/ 2277#define SIG_NUM $sig_num_init /**/ 2278#define SIG_SIZE $sig_size /**/ 2279 2280/* USE_CROSS_COMPILE: 2281 * This symbol, if defined, indicates that Perl is being cross-compiled. 2282 */ 2283/* PERL_TARGETARCH: 2284 * This symbol, if defined, indicates the target architecture 2285 * Perl has been cross-compiled to. Undefined if not a cross-compile. 2286 */ 2287#ifndef USE_CROSS_COMPILE 2288#$usecrosscompile USE_CROSS_COMPILE /**/ 2289#define PERL_TARGETARCH "$targetarch" /**/ 2290#endif 2291 2292/* PERL_USE_DEVEL: 2293 * This symbol, if defined, indicates that Perl was configured with 2294 * -Dusedevel, to enable development features. This should not be 2295 * done for production builds. 2296 */ 2297#$usedevel PERL_USE_DEVEL /**/ 2298 2299/* HAS_ATOLF: 2300 * This symbol, if defined, indicates that the atolf routine is 2301 * available to convert strings into long doubles. 2302 */ 2303#$d_atolf HAS_ATOLF /**/ 2304 2305/* HAS_ATOLL: 2306 * This symbol, if defined, indicates that the atoll routine is 2307 * available to convert strings into long longs. 2308 */ 2309#$d_atoll HAS_ATOLL /**/ 2310 2311/* HAS__FWALK: 2312 * This symbol, if defined, indicates that the _fwalk system call is 2313 * available to apply a function to all the file handles. 2314 */ 2315#$d__fwalk HAS__FWALK /**/ 2316 2317/* HAS_ACCEPT4: 2318 * This symbol, if defined, indicates that the accept4 routine is 2319 * available to accept socket connections. 2320 */ 2321#$d_accept4 HAS_ACCEPT4 /**/ 2322 2323/* HAS_ACOSH: 2324 * This symbol, if defined, indicates that the acosh routine is 2325 * available to do the inverse hyperbolic cosine function. 2326 */ 2327#$d_acosh HAS_ACOSH /**/ 2328 2329/* HAS_AINTL: 2330 * This symbol, if defined, indicates that the aintl routine is 2331 * available. If copysignl is also present we can emulate modfl. 2332 */ 2333#$d_aintl HAS_AINTL /**/ 2334 2335/* HAS_ASINH: 2336 * This symbol, if defined, indicates that the asinh routine is 2337 * available to do the inverse hyperbolic sine function. 2338 */ 2339#$d_asinh HAS_ASINH /**/ 2340 2341/* HAS_ATANH: 2342 * This symbol, if defined, indicates that the atanh routine is 2343 * available to do the inverse hyperbolic tangent function. 2344 */ 2345#$d_atanh HAS_ATANH /**/ 2346 2347/* HAS_NON_INT_BITFIELDS: 2348 * This symbol, if defined, indicates that the C compiler accepts, without 2349 * error or warning, struct bitfields that are declared with sizes other 2350 * than plain 'int'; for example 'unsigned char' is accepted. 2351 */ 2352#$d_non_int_bitfields HAS_NON_INT_BITFIELDS /**/ 2353 2354/* HAS_BUILTIN_CHOOSE_EXPR: 2355 * Can we handle GCC builtin for compile-time ternary-like expressions 2356 */ 2357/* HAS_BUILTIN_EXPECT: 2358 * Can we handle GCC builtin for telling that certain values are more 2359 * likely 2360 */ 2361#$d_builtin_expect HAS_BUILTIN_EXPECT /**/ 2362#$d_builtin_choose_expr HAS_BUILTIN_CHOOSE_EXPR /**/ 2363 2364/* HAS_BUILTIN_ADD_OVERFLOW: 2365 * This symbol, if defined, indicates that the compiler supports 2366 * __builtin_add_overflow for adding integers with overflow checks. 2367 */ 2368/* HAS_BUILTIN_SUB_OVERFLOW: 2369 * This symbol, if defined, indicates that the compiler supports 2370 * __builtin_sub_overflow for subtracting integers with overflow checks. 2371 */ 2372/* HAS_BUILTIN_MUL_OVERFLOW: 2373 * This symbol, if defined, indicates that the compiler supports 2374 * __builtin_mul_overflow for multiplying integers with overflow checks. 2375 */ 2376#$d_builtin_add_overflow HAS_BUILTIN_ADD_OVERFLOW /**/ 2377#$d_builtin_sub_overflow HAS_BUILTIN_SUB_OVERFLOW /**/ 2378#$d_builtin_mul_overflow HAS_BUILTIN_MUL_OVERFLOW /**/ 2379 2380/* HAS_C99_VARIADIC_MACROS: 2381 * If defined, the compiler supports C99 variadic macros. 2382 */ 2383#$d_c99_variadic_macros HAS_C99_VARIADIC_MACROS /**/ 2384 2385/* HAS_CLASS: 2386 * This symbol, if defined, indicates that the class routine is 2387 * available to classify doubles. Available for example in AIX. 2388 * The returned values are defined in <float.h> and are: 2389 * 2390 * FP_PLUS_NORM Positive normalized, nonzero 2391 * FP_MINUS_NORM Negative normalized, nonzero 2392 * FP_PLUS_DENORM Positive denormalized, nonzero 2393 * FP_MINUS_DENORM Negative denormalized, nonzero 2394 * FP_PLUS_ZERO +0.0 2395 * FP_MINUS_ZERO -0.0 2396 * FP_PLUS_INF +INF 2397 * FP_MINUS_INF -INF 2398 * FP_NANS Signaling Not a Number (NaNS) 2399 * FP_NANQ Quiet Not a Number (NaNQ) 2400 */ 2401#$d_class HAS_CLASS /**/ 2402 2403/* HAS_CLEARENV: 2404 * This symbol, if defined, indicates that the clearenv () routine is 2405 * available for use. 2406 */ 2407#$d_clearenv HAS_CLEARENV /**/ 2408 2409/* HAS_STRUCT_CMSGHDR: 2410 * This symbol, if defined, indicates that the struct cmsghdr 2411 * is supported. 2412 */ 2413#$d_cmsghdr_s HAS_STRUCT_CMSGHDR /**/ 2414 2415/* HAS_COPYSIGN: 2416 * This symbol, if defined, indicates that the copysign routine is 2417 * available to do the copysign function. 2418 */ 2419#$d_copysign HAS_COPYSIGN /**/ 2420 2421/* HAS_COPYSIGNL: 2422 * This symbol, if defined, indicates that the copysignl routine is 2423 * available. If aintl is also present we can emulate modfl. 2424 */ 2425#$d_copysignl HAS_COPYSIGNL /**/ 2426 2427/* USE_CPLUSPLUS: 2428 * This symbol, if defined, indicates that a C++ compiler was 2429 * used to compiled Perl and will be used to compile extensions. 2430 */ 2431#$d_cplusplus USE_CPLUSPLUS /**/ 2432 2433/* HAS_DBMINIT_PROTO: 2434 * This symbol, if defined, indicates that the system provides 2435 * a prototype for the dbminit() function. Otherwise, it is up 2436 * to the program to supply one. A good guess is 2437 * extern int dbminit(char *); 2438 */ 2439#$d_dbminitproto HAS_DBMINIT_PROTO /**/ 2440 2441/* HAS_DIR_DD_FD: 2442 * This symbol, if defined, indicates that the DIR* dirstream 2443 * structure contains a member variable named dd_fd. 2444 */ 2445#$d_dir_dd_fd HAS_DIR_DD_FD /**/ 2446 2447/* HAS_DIRFD: 2448 * This manifest constant lets the C program know that dirfd 2449 * is available. 2450 */ 2451#$d_dirfd HAS_DIRFD /**/ 2452 2453/* DLSYM_NEEDS_UNDERSCORE: 2454 * This symbol, if defined, indicates that we need to prepend an 2455 * underscore to the symbol name before calling dlsym(). This only 2456 * makes sense if you *have* dlsym, which we will presume is the 2457 * case if you're using dl_dlopen.xs. 2458 */ 2459#$d_dlsymun DLSYM_NEEDS_UNDERSCORE /**/ 2460 2461/* HAS_DUP3: 2462 * This symbol, if defined, indicates that the dup3 routine is 2463 * available to duplicate file descriptors. 2464 */ 2465#$d_dup3 HAS_DUP3 /**/ 2466 2467/* HAS_ERF: 2468 * This symbol, if defined, indicates that the erf routine is 2469 * available to do the error function. 2470 */ 2471#$d_erf HAS_ERF /**/ 2472 2473/* HAS_ERFC: 2474 * This symbol, if defined, indicates that the erfc routine is 2475 * available to do the complementary error function. 2476 */ 2477#$d_erfc HAS_ERFC /**/ 2478 2479/* HAS_EXP2: 2480 * This symbol, if defined, indicates that the exp2 routine is 2481 * available to do the 2**x function. 2482 */ 2483#$d_exp2 HAS_EXP2 /**/ 2484 2485/* HAS_EXPM1: 2486 * This symbol, if defined, indicates that the expm1 routine is 2487 * available to do the exp(x) - 1 when x is near 1 function. 2488 */ 2489#$d_expm1 HAS_EXPM1 /**/ 2490 2491/* HAS_FAST_STDIO: 2492 * This symbol, if defined, indicates that the "fast stdio" 2493 * is available to manipulate the stdio buffers directly. 2494 */ 2495#$d_faststdio HAS_FAST_STDIO /**/ 2496 2497/* HAS_FCHDIR: 2498 * This symbol, if defined, indicates that the fchdir routine is 2499 * available to change directory using a file descriptor. 2500 */ 2501#$d_fchdir HAS_FCHDIR /**/ 2502 2503/* FCNTL_CAN_LOCK: 2504 * This symbol, if defined, indicates that fcntl() can be used 2505 * for file locking. Normally on Unix systems this is defined. 2506 * It may be undefined on VMS. 2507 */ 2508#$d_fcntl_can_lock FCNTL_CAN_LOCK /**/ 2509 2510/* HAS_FDCLOSE: 2511 * This symbol, if defined, indicates that the fdclose routine is 2512 * available to free a FILE structure without closing the underlying 2513 * file descriptor. This function appeared in FreeBSD 10.2. 2514 */ 2515#$d_fdclose HAS_FDCLOSE /**/ 2516 2517/* HAS_FDIM: 2518 * This symbol, if defined, indicates that the fdim routine is 2519 * available to do the positive difference function. 2520 */ 2521#$d_fdim HAS_FDIM /**/ 2522 2523/* HAS_FEGETROUND: 2524 * This symbol, if defined, indicates that the fegetround routine is 2525 * available to return the macro corresponding to the current rounding 2526 * mode. 2527 */ 2528#$d_fegetround HAS_FEGETROUND /**/ 2529 2530/* HAS_FFS: 2531 * This symbol, if defined, indicates that the ffs routine is available 2532 * to find the first bit set in its argument. If it's not available, 2533 * roll your own. 2534 */ 2535/* HAS_FFSL: 2536 * This symbol, if defined, indicates that the ffsl routine is available 2537 * to find the first bit set in its argument. If it's not available, 2538 * roll your own. 2539 */ 2540#$d_ffs HAS_FFS /**/ 2541#$d_ffsl HAS_FFSL /**/ 2542 2543/* HAS_FINITE: 2544 * This symbol, if defined, indicates that the finite routine is 2545 * available to check whether a double is finite (non-infinity non-NaN). 2546 */ 2547#$d_finite HAS_FINITE /**/ 2548 2549/* HAS_FINITEL: 2550 * This symbol, if defined, indicates that the finitel routine is 2551 * available to check whether a long double is finite 2552 * (non-infinity non-NaN). 2553 */ 2554#$d_finitel HAS_FINITEL /**/ 2555 2556/* HAS_FLOCK_PROTO: 2557 * This symbol, if defined, indicates that the system provides 2558 * a prototype for the flock() function. Otherwise, it is up 2559 * to the program to supply one. A good guess is 2560 * extern int flock(int, int); 2561 */ 2562#$d_flockproto HAS_FLOCK_PROTO /**/ 2563 2564/* HAS_FMA: 2565 * This symbol, if defined, indicates that the fma routine is 2566 * available to do the multiply-add function. 2567 */ 2568#$d_fma HAS_FMA /**/ 2569 2570/* HAS_FMAX: 2571 * This symbol, if defined, indicates that the fmax routine is 2572 * available to do the maximum function. 2573 */ 2574#$d_fmax HAS_FMAX /**/ 2575 2576/* HAS_FMIN: 2577 * This symbol, if defined, indicates that the fmin routine is 2578 * available to do the minimum function. 2579 */ 2580#$d_fmin HAS_FMIN /**/ 2581 2582/* HAS_FP_CLASS: 2583 * This symbol, if defined, indicates that the fp_class routine is 2584 * available to classify doubles. Available for example in Digital UNIX. 2585 * The returned values are defined in <math.h> and are: 2586 * 2587 * FP_SNAN Signaling NaN (Not-a-Number) 2588 * FP_QNAN Quiet NaN (Not-a-Number) 2589 * FP_POS_INF +infinity 2590 * FP_NEG_INF -infinity 2591 * FP_POS_NORM Positive normalized 2592 * FP_NEG_NORM Negative normalized 2593 * FP_POS_DENORM Positive denormalized 2594 * FP_NEG_DENORM Negative denormalized 2595 * FP_POS_ZERO +0.0 (positive zero) 2596 * FP_NEG_ZERO -0.0 (negative zero) 2597 */ 2598#$d_fp_class HAS_FP_CLASS /**/ 2599 2600/* HAS_FP_CLASSL: 2601 * This symbol, if defined, indicates that the fp_classl routine is 2602 * available to classify long doubles. Available for example in 2603 * Digital UNIX. See for possible values HAS_FP_CLASS. 2604 */ 2605#$d_fp_classl HAS_FP_CLASSL /**/ 2606 2607/* HAS_FPCLASS: 2608 * This symbol, if defined, indicates that the fpclass routine is 2609 * available to classify doubles. Available for example in Solaris/SVR4. 2610 * The returned values are defined in <ieeefp.h> and are: 2611 * 2612 * FP_SNAN signaling NaN 2613 * FP_QNAN quiet NaN 2614 * FP_NINF negative infinity 2615 * FP_PINF positive infinity 2616 * FP_NDENORM negative denormalized non-zero 2617 * FP_PDENORM positive denormalized non-zero 2618 * FP_NZERO negative zero 2619 * FP_PZERO positive zero 2620 * FP_NNORM negative normalized non-zero 2621 * FP_PNORM positive normalized non-zero 2622 */ 2623#$d_fpclass HAS_FPCLASS /**/ 2624 2625/* HAS_FPCLASSIFY: 2626 * This symbol, if defined, indicates that the fpclassify routine is 2627 * available to classify doubles. Available for example in HP-UX. 2628 * The returned values are defined in <math.h> and are 2629 * 2630 * FP_NORMAL Normalized 2631 * FP_ZERO Zero 2632 * FP_INFINITE Infinity 2633 * FP_SUBNORMAL Denormalized 2634 * FP_NAN NaN 2635 * 2636 */ 2637/* HAS_FP_CLASSIFY: 2638 * This symbol, if defined, indicates that the fp_classify routine is 2639 * available to classify doubles. The values are defined in <math.h> 2640 * 2641 * FP_NORMAL Normalized 2642 * FP_ZERO Zero 2643 * FP_INFINITE Infinity 2644 * FP_SUBNORMAL Denormalized 2645 * FP_NAN NaN 2646 * 2647 */ 2648#$d_fpclassify HAS_FPCLASSIFY /**/ 2649#$d_fp_classify HAS_FP_CLASSIFY /**/ 2650 2651/* HAS_FPCLASSL: 2652 * This symbol, if defined, indicates that the fpclassl routine is 2653 * available to classify long doubles. Available for example in IRIX. 2654 * The returned values are defined in <ieeefp.h> and are: 2655 * 2656 * FP_SNAN signaling NaN 2657 * FP_QNAN quiet NaN 2658 * FP_NINF negative infinity 2659 * FP_PINF positive infinity 2660 * FP_NDENORM negative denormalized non-zero 2661 * FP_PDENORM positive denormalized non-zero 2662 * FP_NZERO negative zero 2663 * FP_PZERO positive zero 2664 * FP_NNORM negative normalized non-zero 2665 * FP_PNORM positive normalized non-zero 2666 */ 2667#$d_fpclassl HAS_FPCLASSL /**/ 2668 2669/* HAS_FPGETROUND: 2670 * This symbol, if defined, indicates that the fpgetround routine is 2671 * available to get the floating point rounding mode. 2672 */ 2673#$d_fpgetround HAS_FPGETROUND /**/ 2674 2675/* HAS_FPOS64_T: 2676 * This symbol will be defined if the C compiler supports fpos64_t. 2677 */ 2678#$d_fpos64_t HAS_FPOS64_T /**/ 2679 2680/* HAS_FREXPL: 2681 * This symbol, if defined, indicates that the frexpl routine is 2682 * available to break a long double floating-point number into 2683 * a normalized fraction and an integral power of 2. 2684 */ 2685#$d_frexpl HAS_FREXPL /**/ 2686 2687/* HAS_STRUCT_FS_DATA: 2688 * This symbol, if defined, indicates that the struct fs_data 2689 * to do statfs() is supported. 2690 */ 2691#$d_fs_data_s HAS_STRUCT_FS_DATA /**/ 2692 2693/* HAS_FCHMODAT: 2694 * This symbol is defined if the fchmodat() routine is available. 2695 */ 2696/* HAS_LINKAT: 2697 * This symbol is defined if the linkat() routine is available. 2698 */ 2699/* HAS_OPENAT: 2700 * This symbol is defined if the openat() routine is available. 2701 */ 2702/* HAS_RENAMEAT: 2703 * This symbol is defined if the renameat() routine is available. 2704 */ 2705/* HAS_UNLINKAT: 2706 * This symbol is defined if the unlinkat() routine is available. 2707 */ 2708#$d_fchmodat HAS_FCHMODAT /**/ 2709#$d_linkat HAS_LINKAT /**/ 2710#$d_openat HAS_OPENAT /**/ 2711#$d_renameat HAS_RENAMEAT /**/ 2712#$d_unlinkat HAS_UNLINKAT /**/ 2713 2714/* HAS_FSEEKO: 2715 * This symbol, if defined, indicates that the fseeko routine is 2716 * available to fseek beyond 32 bits (useful for ILP32 hosts). 2717 */ 2718#$d_fseeko HAS_FSEEKO /**/ 2719 2720/* HAS_FSTATFS: 2721 * This symbol, if defined, indicates that the fstatfs routine is 2722 * available to stat filesystems by file descriptors. 2723 */ 2724#$d_fstatfs HAS_FSTATFS /**/ 2725 2726/* HAS_FSYNC: 2727 * This symbol, if defined, indicates that the fsync routine is 2728 * available to write a file's modified data and attributes to 2729 * permanent storage. 2730 */ 2731#$d_fsync HAS_FSYNC /**/ 2732 2733/* HAS_FTELLO: 2734 * This symbol, if defined, indicates that the ftello routine is 2735 * available to ftell beyond 32 bits (useful for ILP32 hosts). 2736 */ 2737#$d_ftello HAS_FTELLO /**/ 2738 2739/* HAS_FUTIMES: 2740 * This symbol, if defined, indicates that the futimes routine is 2741 * available to change file descriptor time stamps with struct timevals. 2742 */ 2743#$d_futimes HAS_FUTIMES /**/ 2744 2745/* HAS_GAI_STRERROR: 2746 * This symbol, if defined, indicates that the gai_strerror routine 2747 * is available to translate error codes returned by getaddrinfo() 2748 * into human readable strings. 2749 */ 2750#$d_gai_strerror HAS_GAI_STRERROR /**/ 2751 2752/* HAS_GETADDRINFO: 2753 * This symbol, if defined, indicates that the getaddrinfo() function 2754 * is available for use. 2755 */ 2756#$d_getaddrinfo HAS_GETADDRINFO /**/ 2757 2758/* HAS_GETCWD: 2759 * This symbol, if defined, indicates that the getcwd routine is 2760 * available to get the current working directory. 2761 */ 2762#$d_getcwd HAS_GETCWD /**/ 2763 2764/* HAS_GETESPWNAM: 2765 * This symbol, if defined, indicates that the getespwnam system call is 2766 * available to retrieve enhanced (shadow) password entries by name. 2767 */ 2768#$d_getespwnam HAS_GETESPWNAM /**/ 2769 2770/* HAS_GETFSSTAT: 2771 * This symbol, if defined, indicates that the getfsstat routine is 2772 * available to stat filesystems in bulk. 2773 */ 2774#$d_getfsstat HAS_GETFSSTAT /**/ 2775 2776/* HAS_GETITIMER: 2777 * This symbol, if defined, indicates that the getitimer routine is 2778 * available to return interval timers. 2779 */ 2780#$d_getitimer HAS_GETITIMER /**/ 2781 2782/* HAS_GETMNT: 2783 * This symbol, if defined, indicates that the getmnt routine is 2784 * available to get filesystem mount info by filename. 2785 */ 2786#$d_getmnt HAS_GETMNT /**/ 2787 2788/* HAS_GETMNTENT: 2789 * This symbol, if defined, indicates that the getmntent routine is 2790 * available to iterate through mounted file systems to get their info. 2791 */ 2792#$d_getmntent HAS_GETMNTENT /**/ 2793 2794/* HAS_GETNAMEINFO: 2795 * This symbol, if defined, indicates that the getnameinfo() function 2796 * is available for use. 2797 */ 2798#$d_getnameinfo HAS_GETNAMEINFO /**/ 2799 2800/* HAS_GETPRPWNAM: 2801 * This symbol, if defined, indicates that the getprpwnam system call is 2802 * available to retrieve protected (shadow) password entries by name. 2803 */ 2804#$d_getprpwnam HAS_GETPRPWNAM /**/ 2805 2806/* HAS_GETSPNAM: 2807 * This symbol, if defined, indicates that the getspnam system call is 2808 * available to retrieve SysV shadow password entries by name. 2809 */ 2810#$d_getspnam HAS_GETSPNAM /**/ 2811 2812/* HAS_HASMNTOPT: 2813 * This symbol, if defined, indicates that the hasmntopt routine is 2814 * available to query the mount options of file systems. 2815 */ 2816#$d_hasmntopt HAS_HASMNTOPT /**/ 2817 2818/* HAS_HYPOT: 2819 * This symbol, if defined, indicates that the hypot routine is 2820 * available to do the hypotenuse function. 2821 */ 2822#$d_hypot HAS_HYPOT /**/ 2823 2824/* HAS_ILOGB: 2825 * This symbol, if defined, indicates that the ilogb routine is 2826 * available to get integer exponent of a floating-point value. 2827 */ 2828#$d_ilogb HAS_ILOGB /**/ 2829 2830/* HAS_ILOGBL: 2831 * This symbol, if defined, indicates that the ilogbl routine is 2832 * available. If scalbnl is also present we can emulate frexpl. 2833 */ 2834#$d_ilogbl HAS_ILOGBL /**/ 2835 2836/* HAS_INETNTOP: 2837 * This symbol, if defined, indicates that the inet_ntop() function 2838 * is available to parse IPv4 and IPv6 strings. 2839 */ 2840#$d_inetntop HAS_INETNTOP /**/ 2841 2842/* HAS_INETPTON: 2843 * This symbol, if defined, indicates that the inet_pton() function 2844 * is available to parse IPv4 and IPv6 strings. 2845 */ 2846#$d_inetpton HAS_INETPTON /**/ 2847 2848/* HAS_INT64_T: 2849 * This symbol will defined if the C compiler supports int64_t. 2850 * Usually the <inttypes.h> needs to be included, but sometimes 2851 * <sys/types.h> is enough. 2852 */ 2853#$d_int64_t HAS_INT64_T /**/ 2854 2855/* HAS_ISBLANK: 2856 * This manifest constant lets the C program know that isblank 2857 * is available. 2858 */ 2859#$d_isblank HAS_ISBLANK /**/ 2860 2861/* HAS_ISFINITE: 2862 * This symbol, if defined, indicates that the isfinite routine is 2863 * available to check whether a double is finite (non-infinity non-NaN). 2864 */ 2865#$d_isfinite HAS_ISFINITE /**/ 2866 2867/* HAS_ISFINITEL: 2868 * This symbol, if defined, indicates that the isfinitel routine is 2869 * available to check whether a long double is finite. 2870 * (non-infinity non-NaN). 2871 */ 2872#$d_isfinitel HAS_ISFINITEL /**/ 2873 2874/* HAS_ISINF: 2875 * This symbol, if defined, indicates that the isinf routine is 2876 * available to check whether a double is an infinity. 2877 */ 2878#$d_isinf HAS_ISINF /**/ 2879 2880/* HAS_ISINFL: 2881 * This symbol, if defined, indicates that the isinfl routine is 2882 * available to check whether a long double is an infinity. 2883 */ 2884#$d_isinfl HAS_ISINFL /**/ 2885 2886/* HAS_ISLESS: 2887 * This symbol, if defined, indicates that the isless routine is 2888 * available to do the isless function. 2889 */ 2890#$d_isless HAS_ISLESS /**/ 2891 2892/* HAS_ISNAN: 2893 * This symbol, if defined, indicates that the isnan routine is 2894 * available to check whether a double is a NaN. 2895 */ 2896#$d_isnan HAS_ISNAN /**/ 2897 2898/* HAS_ISNANL: 2899 * This symbol, if defined, indicates that the isnanl routine is 2900 * available to check whether a long double is a NaN. 2901 */ 2902#$d_isnanl HAS_ISNANL /**/ 2903 2904/* HAS_ISNORMAL: 2905 * This symbol, if defined, indicates that the isnormal routine is 2906 * available to check whether a double is normal (non-zero normalized). 2907 */ 2908#$d_isnormal HAS_ISNORMAL /**/ 2909 2910/* HAS_J0: 2911 * This symbol, if defined, indicates to the C program that the 2912 * j0() function is available for Bessel functions of the first 2913 * kind of the order zero, for doubles. 2914 */ 2915/* HAS_J0L: 2916 * This symbol, if defined, indicates to the C program that the 2917 * j0l() function is available for Bessel functions of the first 2918 * kind of the order zero, for long doubles. 2919 */ 2920#$d_j0 HAS_J0 /**/ 2921#$d_j0l HAS_J0L /**/ 2922 2923/* HAS_LC_MONETARY_2008: 2924 * This symbol, if defined, indicates that the localeconv routine is 2925 * available and has the additional members added in POSIX 1003.1-2008. 2926 */ 2927#$d_lc_monetary_2008 HAS_LC_MONETARY_2008 /**/ 2928 2929/* HAS_LDBL_DIG: 2930 * This symbol, if defined, indicates that this system's <float.h> 2931 * or <limits.h> defines the symbol LDBL_DIG, which is the number 2932 * of significant digits in a long double precision number. Unlike 2933 * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined. 2934 */ 2935#$d_ldbl_dig HAS_LDBL_DIG /* */ 2936 2937/* HAS_LGAMMA: 2938 * This symbol, if defined, indicates that the lgamma routine is 2939 * available to do the log gamma function. See also HAS_TGAMMA and 2940 * HAS_LGAMMA_R. 2941 */ 2942#$d_lgamma HAS_LGAMMA /**/ 2943 2944/* HAS_LGAMMA_R: 2945 * This symbol, if defined, indicates that the lgamma_r routine is 2946 * available to do the log gamma function without using the global 2947 * signgam variable. 2948 */ 2949#$d_lgamma_r HAS_LGAMMA_R /**/ 2950 2951/* LIBM_LIB_VERSION: 2952 * This symbol, if defined, indicates that libm exports _LIB_VERSION 2953 * and that math.h defines the enum to manipulate it. 2954 */ 2955#$d_libm_lib_version LIBM_LIB_VERSION /**/ 2956 2957/* HAS_LLRINT: 2958 * This symbol, if defined, indicates that the llrint routine is 2959 * available to return the long long value closest to a double 2960 * (according to the current rounding mode). 2961 */ 2962#$d_llrint HAS_LLRINT /**/ 2963 2964/* HAS_LLRINTL: 2965 * This symbol, if defined, indicates that the llrintl routine is 2966 * available to return the long long value closest to a long double 2967 * (according to the current rounding mode). 2968 */ 2969#$d_llrintl HAS_LLRINTL /**/ 2970 2971/* HAS_LLROUND: 2972 * This symbol, if defined, indicates that the llround routine is 2973 * available to return the nearest long long value. 2974 */ 2975#$d_llround HAS_LLROUND /**/ 2976 2977/* HAS_LLROUNDL: 2978 * This symbol, if defined, indicates that the llroundl routine is 2979 * available to return the nearest long long value away from zero of 2980 * the long double argument value. 2981 */ 2982#$d_llroundl HAS_LLROUNDL /**/ 2983 2984/* HAS_LOG1P: 2985 * This symbol, if defined, indicates that the log1p routine is 2986 * available to do the logarithm of 1 plus argument function. 2987 */ 2988#$d_log1p HAS_LOG1P /**/ 2989 2990/* HAS_LOG2: 2991 * This symbol, if defined, indicates that the log2 routine is 2992 * available to do the log2 function. 2993 */ 2994#$d_log2 HAS_LOG2 /**/ 2995 2996/* HAS_LOGB: 2997 * This symbol, if defined, indicates that the logb routine is 2998 * available to do the logb function. 2999 */ 3000#$d_logb HAS_LOGB /**/ 3001 3002/* HAS_LRINT: 3003 * This symbol, if defined, indicates that the lrint routine is 3004 * available to return the integral value closest to a double 3005 * (according to the current rounding mode). 3006 */ 3007#$d_lrint HAS_LRINT /**/ 3008 3009/* HAS_LRINTL: 3010 * This symbol, if defined, indicates that the lrintl routine is 3011 * available to return the integral value closest to a long double 3012 * (according to the current rounding mode). 3013 */ 3014#$d_lrintl HAS_LRINTL /**/ 3015 3016/* HAS_LROUND: 3017 * This symbol, if defined, indicates that the lround routine is 3018 * available to return the nearest integral value. 3019 */ 3020#$d_lround HAS_LROUND /**/ 3021 3022/* HAS_LROUNDL: 3023 * This symbol, if defined, indicates that the lroundl routine is 3024 * available to return the nearest integral value away from zero of 3025 * the long double argument value. 3026 */ 3027#$d_lroundl HAS_LROUNDL /**/ 3028 3029/* HAS_MADVISE: 3030 * This symbol, if defined, indicates that the madvise system call is 3031 * available to map a file into memory. 3032 */ 3033#$d_madvise HAS_MADVISE /**/ 3034 3035/* HAS_MALLOC_SIZE: 3036 * This symbol, if defined, indicates that the malloc_size 3037 * routine is available for use. 3038 */ 3039#$d_malloc_size HAS_MALLOC_SIZE /**/ 3040 3041/* HAS_MALLOC_GOOD_SIZE: 3042 * This symbol, if defined, indicates that the malloc_good_size 3043 * routine is available for use. 3044 */ 3045#$d_malloc_good_size HAS_MALLOC_GOOD_SIZE /**/ 3046 3047/* HAS_MEMMEM: 3048 * This symbol, if defined, indicates that the memmem routine is 3049 * available to return a pointer to the start of the first occurrence 3050 * of a substring in a memory area (or NULL if not found). 3051 * In glibc, memmem is a GNU extension. The function is visible in 3052 * libc, but the prototype is only visible if _GNU_SOURCE is #defined. 3053 * Thus we only define this if both the prototype and symbol are found. 3054 */ 3055#$d_memmem HAS_MEMMEM /**/ 3056 3057/* HAS_MEMRCHR: 3058 * This symbol, if defined, indicates that the memrchr routine is 3059 * available to return a pointer to the last occurrence of a byte in 3060 * a memory area (or NULL if not found). 3061 */ 3062#$d_memrchr HAS_MEMRCHR /**/ 3063 3064/* HAS_MKDTEMP: 3065 * This symbol, if defined, indicates that the mkdtemp routine is 3066 * available to exclusively create a uniquely named temporary directory. 3067 */ 3068#$d_mkdtemp HAS_MKDTEMP /**/ 3069 3070/* HAS_MKOSTEMP: 3071 * This symbol, if defined, indicates that the mkostemp routine is 3072 * available to exclusively create and open a uniquely named (with a 3073 * suffix) temporary file. 3074 */ 3075#$d_mkostemp HAS_MKOSTEMP /**/ 3076 3077/* HAS_MKSTEMPS: 3078 * This symbol, if defined, indicates that the mkstemps routine is 3079 * available to exclusively create and open a uniquely named 3080 * (with a suffix) temporary file. 3081 */ 3082#$d_mkstemps HAS_MKSTEMPS /**/ 3083 3084/* HAS_MODFL: 3085 * This symbol, if defined, indicates that the modfl routine is 3086 * available to split a long double x into a fractional part f and 3087 * an integer part i such that |f| < 1.0 and (f + i) = x. 3088 */ 3089/* HAS_MODFL_PROTO: 3090 * This symbol, if defined, indicates that the system provides 3091 * a prototype for the modfl() function. Otherwise, it is up 3092 * to the program to supply one. 3093 */ 3094#$d_modfl HAS_MODFL /**/ 3095#$d_modflproto HAS_MODFL_PROTO /**/ 3096 3097/* HAS_MPROTECT: 3098 * This symbol, if defined, indicates that the mprotect system call is 3099 * available to modify the access protection of a memory mapped file. 3100 */ 3101#$d_mprotect HAS_MPROTECT /**/ 3102 3103/* HAS_STRUCT_MSGHDR: 3104 * This symbol, if defined, indicates that the struct msghdr 3105 * is supported. 3106 */ 3107#$d_msghdr_s HAS_STRUCT_MSGHDR /**/ 3108 3109/* HAS_NAN: 3110 * This symbol, if defined, indicates that the nan routine is 3111 * available to generate NaN. 3112 */ 3113#$d_nan HAS_NAN /**/ 3114 3115/* HAS_NANOSLEEP: 3116 * This symbol, if defined, indicates that the nanosleep 3117 * system call is available to sleep with 1E-9 sec accuracy. 3118 */ 3119#$d_nanosleep HAS_NANOSLEEP /**/ 3120 3121/* HAS_NEARBYINT: 3122 * This symbol, if defined, indicates that the nearbyint routine is 3123 * available to return the integral value closest to (according to 3124 * the current rounding mode) to x. 3125 */ 3126#$d_nearbyint HAS_NEARBYINT /**/ 3127 3128/* HAS_NEWLOCALE: 3129 * This symbol, if defined, indicates that the newlocale routine is 3130 * available to return a new locale object or modify an existing 3131 * locale object. 3132 */ 3133/* HAS_FREELOCALE: 3134 * This symbol, if defined, indicates that the freelocale routine is 3135 * available to deallocates the resources associated with a locale object. 3136 */ 3137/* HAS_USELOCALE: 3138 * This symbol, if defined, indicates that the uselocale routine is 3139 * available to set the current locale for the calling thread. 3140 */ 3141/* HAS_DUPLOCALE: 3142 * This symbol, if defined, indicates that the duplocale routine is 3143 * available to duplicate a locale object. 3144 */ 3145/* HAS_QUERYLOCALE: 3146 * This symbol, if defined, indicates that the querylocale routine is 3147 * available to return the name of the locale for a category mask. 3148 */ 3149/* I_XLOCALE: 3150 * This symbol, if defined, indicates to the C program that the 3151 * header xlocale.h is available. See also NEED_XLOCALE_H 3152 */ 3153/* NEED_XLOCALE_H: 3154 * This symbol, if defined, indicates that the C program should 3155 * include <xlocale.h> to get newlocale() and its friends. 3156 */ 3157#$d_newlocale HAS_NEWLOCALE /**/ 3158#$d_freelocale HAS_FREELOCALE /**/ 3159#$d_uselocale HAS_USELOCALE /**/ 3160#$d_duplocale HAS_DUPLOCALE /**/ 3161#$d_querylocale HAS_QUERYLOCALE /**/ 3162#$xlocale_needed NEED_XLOCALE_H /**/ 3163#$i_xlocale I_XLOCALE /**/ 3164 3165/* HAS_NEXTAFTER: 3166 * This symbol, if defined, indicates that the nextafter routine is 3167 * available to return the next machine representable double from 3168 * x in direction y. 3169 */ 3170#$d_nextafter HAS_NEXTAFTER /**/ 3171 3172/* HAS_NEXTTOWARD: 3173 * This symbol, if defined, indicates that the nexttoward routine is 3174 * available to return the next machine representable long double from 3175 * x in direction y. 3176 */ 3177#$d_nexttoward HAS_NEXTTOWARD /**/ 3178 3179/* HAS_NL_LANGINFO: 3180 * This symbol, if defined, indicates that the nl_langinfo routine is 3181 * available to return locale data. You will also need <langinfo.h> 3182 * and therefore I_LANGINFO. 3183 */ 3184/* HAS_NL_LANGINFO_L: 3185 * This symbol, if defined, indicates that the nl_langinfo_l routine is 3186 * available to return locale data. You will also need <langinfo.h> 3187 * and therefore I_LANGINFO. 3188 */ 3189#$d_nl_langinfo HAS_NL_LANGINFO /**/ 3190#$d_nl_langinfo_l HAS_NL_LANGINFO_L /**/ 3191 3192/* HAS_OFF64_T: 3193 * This symbol will be defined if the C compiler supports off64_t. 3194 */ 3195#$d_off64_t HAS_OFF64_T /**/ 3196 3197/* HAS_PIPE2: 3198 * This symbol, if defined, indicates that the pipe2 routine is 3199 * available to create an inter-process channel. 3200 */ 3201#$d_pipe2 HAS_PIPE2 /**/ 3202 3203/* HAS_PRCTL: 3204 * This symbol, if defined, indicates that the prctl routine is 3205 * available to set process title. 3206 * Note that there are at least two prctl variants: Linux and Irix. 3207 * While they are somewhat similar, they are incompatible. 3208 */ 3209/* HAS_PRCTL_SET_NAME: 3210 * This symbol, if defined, indicates that the prctl routine is 3211 * available to set process title and supports PR_SET_NAME. 3212 */ 3213#$d_prctl HAS_PRCTL /**/ 3214#$d_prctl_set_name HAS_PRCTL_SET_NAME /**/ 3215 3216/* HAS_PROCSELFEXE: 3217 * This symbol is defined if PROCSELFEXE_PATH is a symlink 3218 * to the absolute pathname of the executing program. 3219 */ 3220/* PROCSELFEXE_PATH: 3221 * If HAS_PROCSELFEXE is defined this symbol is the filename 3222 * of the symbolic link pointing to the absolute pathname of 3223 * the executing program. 3224 */ 3225#$d_procselfexe HAS_PROCSELFEXE /**/ 3226#if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH) 3227#define PROCSELFEXE_PATH $procselfexe /**/ 3228#endif 3229 3230/* HAS_PTHREAD_ATTR_SETSCOPE: 3231 * This symbol, if defined, indicates that the pthread_attr_setscope 3232 * system call is available to set the contention scope attribute of 3233 * a thread attribute object. 3234 */ 3235#$d_pthread_attr_setscope HAS_PTHREAD_ATTR_SETSCOPE /**/ 3236 3237/* HAS_PTRDIFF_T: 3238 * This symbol will be defined if the C compiler supports ptrdiff_t. 3239 */ 3240#$d_ptrdiff_t HAS_PTRDIFF_T /**/ 3241 3242/* HAS_READV: 3243 * This symbol, if defined, indicates that the readv routine is 3244 * available to do gather reads. You will also need <sys/uio.h> 3245 * and there I_SYSUIO. 3246 */ 3247#$d_readv HAS_READV /**/ 3248 3249/* HAS_RECVMSG: 3250 * This symbol, if defined, indicates that the recvmsg routine is 3251 * available to send structured socket messages. 3252 */ 3253#$d_recvmsg HAS_RECVMSG /**/ 3254 3255/* HAS_REMAINDER: 3256 * This symbol, if defined, indicates that the remainder routine is 3257 * available to return the floating-point remainder. 3258 */ 3259#$d_remainder HAS_REMAINDER /**/ 3260 3261/* HAS_REMQUO: 3262 * This symbol, if defined, indicates that the remquo routine is 3263 * available to return the remainder and part of quotient. 3264 */ 3265#$d_remquo HAS_REMQUO /**/ 3266 3267/* HAS_RINT: 3268 * This symbol, if defined, indicates that the rint routine is 3269 * available to return the nearest integral value to x as double 3270 * using the current rounding mode. 3271 */ 3272#$d_rint HAS_RINT /**/ 3273 3274/* HAS_ROUND: 3275 * This symbol, if defined, indicates that the round routine is 3276 * available to round to nearest integer, away from zero. 3277 */ 3278#$d_round HAS_ROUND /**/ 3279 3280/* HAS_SBRK_PROTO: 3281 * This symbol, if defined, indicates that the system provides 3282 * a prototype for the sbrk() function. Otherwise, it is up 3283 * to the program to supply one. Good guesses are 3284 * extern void* sbrk(int); 3285 * extern void* sbrk(size_t); 3286 */ 3287#$d_sbrkproto HAS_SBRK_PROTO /**/ 3288 3289/* HAS_SCALBN: 3290 * This symbol, if defined, indicates that the scalbn routine is 3291 * available to multiply floating-point number by integral power 3292 * of radix. 3293 */ 3294#$d_scalbn HAS_SCALBN /**/ 3295 3296/* HAS_SCALBNL: 3297 * This symbol, if defined, indicates that the scalbnl routine is 3298 * available. If ilogbl is also present we can emulate frexpl. 3299 */ 3300#$d_scalbnl HAS_SCALBNL /**/ 3301 3302/* HAS_SENDMSG: 3303 * This symbol, if defined, indicates that the sendmsg routine is 3304 * available to send structured socket messages. 3305 */ 3306#$d_sendmsg HAS_SENDMSG /**/ 3307 3308/* HAS_SETENV: 3309 * This symbol, if defined, indicates that the setenv routine is 3310 * available for use. 3311 */ 3312#$d_setenv HAS_SETENV /**/ 3313 3314/* HAS_SETITIMER: 3315 * This symbol, if defined, indicates that the setitimer routine is 3316 * available to set interval timers. 3317 */ 3318#$d_setitimer HAS_SETITIMER /**/ 3319 3320/* HAS_SETLOCALE: 3321 * This symbol, if defined, indicates that the setlocale routine is 3322 * available to handle locale-specific ctype implementations. 3323 */ 3324/* SETLOCALE_ACCEPTS_ANY_LOCALE_NAME: 3325 * This symbol, if defined, indicates that the setlocale routine is 3326 * available and it accepts any input locale name as valid. 3327 */ 3328#$d_setlocale HAS_SETLOCALE /**/ 3329#$d_setlocale_accepts_any_locale_name SETLOCALE_ACCEPTS_ANY_LOCALE_NAME /**/ 3330 3331/* HAS_SETPROCTITLE: 3332 * This symbol, if defined, indicates that the setproctitle routine is 3333 * available to set process title. 3334 */ 3335#$d_setproctitle HAS_SETPROCTITLE /**/ 3336 3337/* HAS_SIGNBIT: 3338 * This symbol, if defined, indicates that the signbit routine is 3339 * available to check if the given number has the sign bit set. 3340 * This should include correct testing of -0.0. This will only be set 3341 * if the signbit() routine is safe to use with the NV type used internally 3342 * in perl. Users should call Perl_signbit(), which will be #defined to 3343 * the system's signbit() function or macro if this symbol is defined. 3344 */ 3345#$d_signbit HAS_SIGNBIT /**/ 3346 3347/* HAS_SIGPROCMASK: 3348 * This symbol, if defined, indicates that the sigprocmask 3349 * system call is available to examine or change the signal mask 3350 * of the calling process. 3351 */ 3352#$d_sigprocmask HAS_SIGPROCMASK /**/ 3353 3354/* USE_SITECUSTOMIZE: 3355 * This symbol, if defined, indicates that sitecustomize should 3356 * be used. 3357 */ 3358#ifndef USE_SITECUSTOMIZE 3359#$usesitecustomize USE_SITECUSTOMIZE /**/ 3360#endif 3361 3362/* HAS_SNPRINTF: 3363 * This symbol, if defined, indicates that the snprintf () library 3364 * function is available for use. 3365 */ 3366/* HAS_VSNPRINTF: 3367 * This symbol, if defined, indicates that the vsnprintf () library 3368 * function is available for use. 3369 */ 3370#$d_snprintf HAS_SNPRINTF /**/ 3371#$d_vsnprintf HAS_VSNPRINTF /**/ 3372 3373/* HAS_SOCKATMARK: 3374 * This symbol, if defined, indicates that the sockatmark routine is 3375 * available to test whether a socket is at the out-of-band mark. 3376 */ 3377#$d_sockatmark HAS_SOCKATMARK /**/ 3378 3379/* HAS_SOCKATMARK_PROTO: 3380 * This symbol, if defined, indicates that the system provides 3381 * a prototype for the sockatmark() function. Otherwise, it is up 3382 * to the program to supply one. A good guess is 3383 * extern int sockatmark(int); 3384 */ 3385#$d_sockatmarkproto HAS_SOCKATMARK_PROTO /**/ 3386 3387/* HAS_SOCKS5_INIT: 3388 * This symbol, if defined, indicates that the socks5_init routine is 3389 * available to initialize SOCKS 5. 3390 */ 3391#$d_socks5_init HAS_SOCKS5_INIT /**/ 3392 3393/* HAS_SQRTL: 3394 * This symbol, if defined, indicates that the sqrtl routine is 3395 * available to do long double square roots. 3396 */ 3397#$d_sqrtl HAS_SQRTL /**/ 3398 3399/* HAS_SETRESGID_PROTO: 3400 * This symbol, if defined, indicates that the system provides 3401 * a prototype for the setresgid() function. Otherwise, it is up 3402 * to the program to supply one. Good guesses are 3403 * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); 3404 */ 3405#$d_sresgproto HAS_SETRESGID_PROTO /**/ 3406 3407/* HAS_SETRESUID_PROTO: 3408 * This symbol, if defined, indicates that the system provides 3409 * a prototype for the setresuid() function. Otherwise, it is up 3410 * to the program to supply one. Good guesses are 3411 * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); 3412 */ 3413#$d_sresuproto HAS_SETRESUID_PROTO /**/ 3414 3415/* HAS_STRUCT_STATFS_F_FLAGS: 3416 * This symbol, if defined, indicates that the struct statfs 3417 * does have the f_flags member containing the mount flags of 3418 * the filesystem containing the file. 3419 * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), 3420 * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not 3421 * have statfs() and struct statfs, they have ustat() and getmnt() 3422 * with struct ustat and struct fs_data. 3423 */ 3424#$d_statfs_f_flags HAS_STRUCT_STATFS_F_FLAGS /**/ 3425 3426/* HAS_STRUCT_STATFS: 3427 * This symbol, if defined, indicates that the struct statfs 3428 * to do statfs() is supported. 3429 */ 3430#$d_statfs_s HAS_STRUCT_STATFS /**/ 3431 3432/* HAS_FSTATVFS: 3433 * This symbol, if defined, indicates that the fstatvfs routine is 3434 * available to stat filesystems by file descriptors. 3435 */ 3436#$d_fstatvfs HAS_FSTATVFS /**/ 3437 3438/* HAS_STRERROR_L: 3439 * This symbol, if defined, indicates that the strerror_l routine is 3440 * available to return the error message for a given errno value in 3441 * a particular locale (identified by a locale_t object). 3442 */ 3443#$d_strerror_l HAS_STRERROR_L /**/ 3444 3445/* HAS_STRFTIME: 3446 * This symbol, if defined, indicates that the strftime routine is 3447 * available to do time formatting. 3448 */ 3449#$d_strftime HAS_STRFTIME /**/ 3450 3451/* HAS_STRLCAT: 3452 * This symbol, if defined, indicates that the strlcat () routine is 3453 * available to do string concatenation. 3454 */ 3455#$d_strlcat HAS_STRLCAT /**/ 3456 3457/* HAS_STRLCPY: 3458 * This symbol, if defined, indicates that the strlcpy () routine is 3459 * available to do string copying. 3460 */ 3461#$d_strlcpy HAS_STRLCPY /**/ 3462 3463/* HAS_STRNLEN: 3464 * This symbol, if defined, indicates that the strnlen () routine is 3465 * available to check the length of a string up to a maximum. 3466 */ 3467#$d_strnlen HAS_STRNLEN /**/ 3468 3469/* HAS_STRTOLD: 3470 * This symbol, if defined, indicates that the strtold routine is 3471 * available to convert strings to long doubles. 3472 */ 3473#$d_strtold HAS_STRTOLD /**/ 3474 3475/* HAS_STRTOLL: 3476 * This symbol, if defined, indicates that the strtoll routine is 3477 * available to convert strings to long longs. 3478 */ 3479#$d_strtoll HAS_STRTOLL /**/ 3480 3481/* HAS_STRTOQ: 3482 * This symbol, if defined, indicates that the strtoq routine is 3483 * available to convert strings to long longs (quads). 3484 */ 3485#$d_strtoq HAS_STRTOQ /**/ 3486 3487/* HAS_STRTOULL: 3488 * This symbol, if defined, indicates that the strtoull routine is 3489 * available to convert strings to unsigned long longs. 3490 */ 3491#$d_strtoull HAS_STRTOULL /**/ 3492 3493/* HAS_STRTOUQ: 3494 * This symbol, if defined, indicates that the strtouq routine is 3495 * available to convert strings to unsigned long longs (quads). 3496 */ 3497#$d_strtouq HAS_STRTOUQ /**/ 3498 3499/* HAS_STRXFRM_L: 3500 * This symbol, if defined, indicates that the strxfrm_l() routine is 3501 * available to transform strings. 3502 */ 3503#$d_strxfrm_l HAS_STRXFRM_L /**/ 3504 3505/* HAS_SYSCALL_PROTO: 3506 * This symbol, if defined, indicates that the system provides 3507 * a prototype for the syscall() function. Otherwise, it is up 3508 * to the program to supply one. Good guesses are 3509 * extern int syscall(int, ...); 3510 * extern int syscall(long, ...); 3511 */ 3512#$d_syscallproto HAS_SYSCALL_PROTO /**/ 3513 3514/* HAS_TELLDIR_PROTO: 3515 * This symbol, if defined, indicates that the system provides 3516 * a prototype for the telldir() function. Otherwise, it is up 3517 * to the program to supply one. A good guess is 3518 * extern long telldir(DIR*); 3519 */ 3520#$d_telldirproto HAS_TELLDIR_PROTO /**/ 3521 3522/* HAS_TGAMMA: 3523 * This symbol, if defined, indicates that the tgamma routine is 3524 * available to do the gamma function. See also HAS_LGAMMA. 3525 */ 3526#$d_tgamma HAS_TGAMMA /**/ 3527 3528/* HAS_CTIME64: 3529 * This symbol, if defined, indicates that the ctime64 () routine is 3530 * available to do the 64bit variant of ctime () 3531 */ 3532/* HAS_LOCALTIME64: 3533 * This symbol, if defined, indicates that the localtime64 () routine is 3534 * available to do the 64bit variant of localtime () 3535 */ 3536/* HAS_GMTIME64: 3537 * This symbol, if defined, indicates that the gmtime64 () routine is 3538 * available to do the 64bit variant of gmtime () 3539 */ 3540/* HAS_MKTIME64: 3541 * This symbol, if defined, indicates that the mktime64 () routine is 3542 * available to do the 64bit variant of mktime () 3543 */ 3544/* HAS_DIFFTIME64: 3545 * This symbol, if defined, indicates that the difftime64 () routine is 3546 * available to do the 64bit variant of difftime () 3547 */ 3548/* HAS_ASCTIME64: 3549 * This symbol, if defined, indicates that the asctime64 () routine is 3550 * available to do the 64bit variant of asctime () 3551 */ 3552#$d_ctime64 HAS_CTIME64 /**/ 3553#$d_localtime64 HAS_LOCALTIME64 /**/ 3554#$d_gmtime64 HAS_GMTIME64 /**/ 3555#$d_mktime64 HAS_MKTIME64 /**/ 3556#$d_difftime64 HAS_DIFFTIME64 /**/ 3557#$d_asctime64 HAS_ASCTIME64 /**/ 3558 3559/* HAS_TIMEGM: 3560 * This symbol, if defined, indicates that the timegm routine is 3561 * available to do the opposite of gmtime () 3562 */ 3563#$d_timegm HAS_TIMEGM /**/ 3564 3565/* HAS_TOWLOWER: 3566 * This symbol, if defined, indicates that the towlower () routine is 3567 * available to do case conversion. 3568 */ 3569#$d_towlower HAS_TOWLOWER /**/ 3570 3571/* HAS_TOWUPPER: 3572 * This symbol, if defined, indicates that the towupper () routine is 3573 * available to do case conversion. 3574 */ 3575#$d_towupper HAS_TOWUPPER /**/ 3576 3577/* HAS_TRUNC: 3578 * This symbol, if defined, indicates that the trunc routine is 3579 * available to round doubles towards zero. 3580 */ 3581#$d_trunc HAS_TRUNC /**/ 3582 3583/* HAS_TRUNCL: 3584 * This symbol, if defined, indicates that the truncl routine is 3585 * available. If copysignl is also present we can emulate modfl. 3586 */ 3587#$d_truncl HAS_TRUNCL /**/ 3588 3589/* U32_ALIGNMENT_REQUIRED: 3590 * This symbol, if defined, indicates that you must access 3591 * character data through U32-aligned pointers. 3592 */ 3593#ifndef U32_ALIGNMENT_REQUIRED 3594#$d_u32align U32_ALIGNMENT_REQUIRED /**/ 3595#endif 3596 3597/* HAS_UALARM: 3598 * This symbol, if defined, indicates that the ualarm routine is 3599 * available to do alarms with microsecond granularity. 3600 */ 3601#$d_ualarm HAS_UALARM /**/ 3602 3603/* HAS_UNORDERED: 3604 * This symbol, if defined, indicates that the unordered routine is 3605 * available to check whether two doubles are unordered 3606 * (effectively: whether either of them is NaN) 3607 */ 3608#$d_unordered HAS_UNORDERED /**/ 3609 3610/* HAS_UNSETENV: 3611 * This symbol, if defined, indicates that the unsetenv () routine is 3612 * available for use. 3613 */ 3614#$d_unsetenv HAS_UNSETENV /**/ 3615 3616/* HAS_USLEEP_PROTO: 3617 * This symbol, if defined, indicates that the system provides 3618 * a prototype for the usleep() function. Otherwise, it is up 3619 * to the program to supply one. A good guess is 3620 * extern int usleep(useconds_t); 3621 */ 3622#$d_usleepproto HAS_USLEEP_PROTO /**/ 3623 3624/* HAS_USTAT: 3625 * This symbol, if defined, indicates that the ustat system call is 3626 * available to query file system statistics by dev_t. 3627 */ 3628#$d_ustat HAS_USTAT /**/ 3629 3630/* HAS_WCSCMP: 3631 * This symbol, if defined, indicates that the wcscmp routine is 3632 * available to compare two wide character strings. 3633 */ 3634#$d_wcscmp HAS_WCSCMP /**/ 3635 3636/* HAS_WCSXFRM: 3637 * This symbol, if defined, indicates that the wcsxfrm routine is 3638 * available to transform a wide character string for wcscmp(). 3639 */ 3640#$d_wcsxfrm HAS_WCSXFRM /**/ 3641 3642/* HAS_WRITEV: 3643 * This symbol, if defined, indicates that the writev routine is 3644 * available to do scatter writes. 3645 */ 3646#$d_writev HAS_WRITEV /**/ 3647 3648/* DEFAULT_INC_EXCLUDES_DOT: 3649 * This symbol, if defined, removes the legacy default behavior of 3650 * including '.' at the end of @INC. 3651 */ 3652#$default_inc_excludes_dot DEFAULT_INC_EXCLUDES_DOT /**/ 3653 3654/* PERL_LC_ALL_USES_NAME_VALUE_PAIRS: 3655 * This symbol, if defined, indicates to the C program that the string 3656 * returned by setlocale(LC_ALL, NULL) uses 'name=value;' pairs to 3657 * indicate what each category's locale is when they aren't all set to the 3658 * same locale. For example, "LC_NUMERIC=C;LC_CTYPE=de_DE;..." 3659 * When not defined, the system uses positional notation. 3660 */ 3661/* PERL_LC_ALL_SEPARATOR: 3662 * This symbol, if defined, gives the string returned by 3663 * setlocale(LC_ALL, NULL) to separate categories that are in different 3664 * locales on systems that use a positional notation as opposed to 3665 * 'name=value' pairs. An example on some platforms could be the '/' in 3666 * "C/de_DE/C/en_UK/C/C" 3667 */ 3668/* PERL_LC_ALL_CATEGORY_POSITIONS_INIT: 3669 * This symbol, when defined, gives the C initializer for an array whose 3670 * element [0] is the first category in the string returned by 3671 * setlocale(LC_ALL, NULL) when not all categories are the same, on 3672 * systems that use a positional notation. After element [0] is 3673 * LC_ALL_SEPARATOR, then the category given by element [1] and so on. 3674 */ 3675#$d_perl_lc_all_uses_name_value_pairs PERL_LC_ALL_USES_NAME_VALUE_PAIRS /**/ 3676#$d_perl_lc_all_separator PERL_LC_ALL_SEPARATOR $perl_lc_all_separator /**/ 3677#$d_perl_lc_all_category_positions_init PERL_LC_ALL_CATEGORY_POSITIONS_INIT $perl_lc_all_category_positions_init /**/ 3678 3679/* USE_DYNAMIC_LOADING: 3680 * This symbol, if defined, indicates that dynamic loading of 3681 * some sort is available. 3682 */ 3683#$usedl USE_DYNAMIC_LOADING /**/ 3684 3685/* FFLUSH_NULL: 3686 * This symbol, if defined, tells that fflush(NULL) correctly 3687 * flushes all pending stdio output without side effects. In 3688 * particular, on some platforms calling fflush(NULL) *still* 3689 * corrupts STDIN if it is a pipe. 3690 */ 3691/* FFLUSH_ALL: 3692 * This symbol, if defined, tells that to flush 3693 * all pending stdio output one must loop through all 3694 * the stdio file handles stored in an array and fflush them. 3695 * Note that if fflushNULL is defined, fflushall will not 3696 * even be probed for and will be left undefined. 3697 */ 3698#$fflushNULL FFLUSH_NULL /**/ 3699#$fflushall FFLUSH_ALL /**/ 3700 3701/* I_BFD: 3702 * This symbol, if defined, indicates that <bfd.h> exists and 3703 * can be included. 3704 */ 3705#$i_bfd I_BFD /**/ 3706 3707/* I_CRYPT: 3708 * This symbol, if defined, indicates that <crypt.h> exists and 3709 * should be included. 3710 */ 3711#$i_crypt I_CRYPT /**/ 3712 3713/* DB_Prefix_t: 3714 * This symbol contains the type of the prefix structure element 3715 * in the <db.h> header file. In older versions of DB, it was 3716 * int, while in newer ones it is u_int32_t. 3717 */ 3718/* DB_Hash_t: 3719 * This symbol contains the type of the prefix structure element 3720 * in the <db.h> header file. In older versions of DB, it was 3721 * int, while in newer ones it is size_t. 3722 */ 3723/* DB_VERSION_MAJOR_CFG: 3724 * This symbol, if defined, defines the major version number of 3725 * Berkeley DB found in the <db.h> header when Perl was configured. 3726 */ 3727/* DB_VERSION_MINOR_CFG: 3728 * This symbol, if defined, defines the minor version number of 3729 * Berkeley DB found in the <db.h> header when Perl was configured. 3730 * For DB version 1 this is always 0. 3731 */ 3732/* DB_VERSION_PATCH_CFG: 3733 * This symbol, if defined, defines the patch version number of 3734 * Berkeley DB found in the <db.h> header when Perl was configured. 3735 * For DB version 1 this is always 0. 3736 */ 3737#define DB_Hash_t $db_hashtype /**/ 3738#define DB_Prefix_t $db_prefixtype /**/ 3739#define DB_VERSION_MAJOR_CFG $db_version_major /**/ 3740#define DB_VERSION_MINOR_CFG $db_version_minor /**/ 3741#define DB_VERSION_PATCH_CFG $db_version_patch /**/ 3742 3743/* I_FENV: 3744 * This symbol, if defined, indicates to the C program that it should 3745 * include <fenv.h> to get the floating point environment definitions. 3746 */ 3747#$i_fenv I_FENV /**/ 3748 3749/* I_FP: 3750 * This symbol, if defined, indicates that <fp.h> exists and 3751 * should be included. 3752 */ 3753#$i_fp I_FP /**/ 3754 3755/* I_FP_CLASS: 3756 * This symbol, if defined, indicates that <fp_class.h> exists and 3757 * should be included. 3758 */ 3759#$i_fp_class I_FP_CLASS /**/ 3760 3761/* I_IEEEFP: 3762 * This symbol, if defined, indicates that <ieeefp.h> exists and 3763 * should be included. 3764 */ 3765#$i_ieeefp I_IEEEFP /**/ 3766 3767/* I_INTTYPES: 3768 * This symbol, if defined, indicates to the C program that it should 3769 * include <inttypes.h>. 3770 */ 3771#$i_inttypes I_INTTYPES /**/ 3772 3773/* I_LANGINFO: 3774 * This symbol, if defined, indicates that <langinfo.h> exists and 3775 * should be included. 3776 */ 3777#$i_langinfo I_LANGINFO /**/ 3778 3779/* I_LIBUTIL: 3780 * This symbol, if defined, indicates that <libutil.h> exists and 3781 * should be included. 3782 */ 3783#$i_libutil I_LIBUTIL /**/ 3784 3785/* I_MALLOCMALLOC: 3786 * This symbol, if defined, indicates to the C program that it should 3787 * include <malloc/malloc.h>. 3788 */ 3789#$i_mallocmalloc I_MALLOCMALLOC /**/ 3790 3791/* I_MNTENT: 3792 * This symbol, if defined, indicates that <mntent.h> exists and 3793 * should be included. 3794 */ 3795#$i_mntent I_MNTENT /**/ 3796 3797/* I_NETINET_TCP: 3798 * This symbol, if defined, indicates to the C program that it should 3799 * include <netinet/tcp.h>. 3800 */ 3801#$i_netinettcp I_NETINET_TCP /**/ 3802 3803/* I_POLL: 3804 * This symbol, if defined, indicates that <poll.h> exists and 3805 * should be included. (see also HAS_POLL) 3806 */ 3807#$i_poll I_POLL /**/ 3808 3809/* I_PROT: 3810 * This symbol, if defined, indicates that <prot.h> exists and 3811 * should be included. 3812 */ 3813#$i_prot I_PROT /**/ 3814 3815/* I_QUADMATH: 3816 * This symbol, if defined, indicates that <quadmath.h> exists and 3817 * should be included. 3818 */ 3819#$i_quadmath I_QUADMATH /**/ 3820 3821/* I_SHADOW: 3822 * This symbol, if defined, indicates that <shadow.h> exists and 3823 * should be included. 3824 */ 3825#$i_shadow I_SHADOW /**/ 3826 3827/* I_SOCKS: 3828 * This symbol, if defined, indicates that <socks.h> exists and 3829 * should be included. 3830 */ 3831#$i_socks I_SOCKS /**/ 3832 3833/* I_STDBOOL: 3834 * This symbol, if defined, indicates that <stdbool.h> exists and 3835 * can be included. 3836 */ 3837#$i_stdbool I_STDBOOL /**/ 3838 3839/* I_STDINT: 3840 * This symbol, if defined, indicates that <stdint.h> exists and 3841 * should be included. 3842 */ 3843#$i_stdint I_STDINT /**/ 3844 3845/* I_SUNMATH: 3846 * This symbol, if defined, indicates that <sunmath.h> exists and 3847 * should be included. 3848 */ 3849#$i_sunmath I_SUNMATH /**/ 3850 3851/* I_SYSLOG: 3852 * This symbol, if defined, indicates that <syslog.h> exists and 3853 * should be included. 3854 */ 3855#$i_syslog I_SYSLOG /**/ 3856 3857/* I_SYSMODE: 3858 * This symbol, if defined, indicates that <sys/mode.h> exists and 3859 * should be included. 3860 */ 3861#$i_sysmode I_SYSMODE /**/ 3862 3863/* I_SYS_MOUNT: 3864 * This symbol, if defined, indicates that <sys/mount.h> exists and 3865 * should be included. 3866 */ 3867#$i_sysmount I_SYS_MOUNT /**/ 3868 3869/* I_SYS_STATFS: 3870 * This symbol, if defined, indicates that <sys/statfs.h> exists. 3871 */ 3872#$i_sysstatfs I_SYS_STATFS /**/ 3873 3874/* I_SYS_STATVFS: 3875 * This symbol, if defined, indicates that <sys/statvfs.h> exists and 3876 * should be included. 3877 */ 3878#$i_sysstatvfs I_SYS_STATVFS /**/ 3879 3880/* I_SYS_SYSCALL: 3881 * This symbol, if defined, indicates that <sys/syscall.h> exists. 3882 */ 3883#$i_syssyscall I_SYS_SYSCALL /**/ 3884 3885/* I_SYSUTSNAME: 3886 * This symbol, if defined, indicates that <sys/utsname.h> exists and 3887 * should be included. 3888 */ 3889#$i_sysutsname I_SYSUTSNAME /**/ 3890 3891/* I_SYS_VFS: 3892 * This symbol, if defined, indicates that <sys/vfs.h> exists and 3893 * should be included. 3894 */ 3895#$i_sysvfs I_SYS_VFS /**/ 3896 3897/* I_USTAT: 3898 * This symbol, if defined, indicates that <ustat.h> exists and 3899 * should be included. 3900 */ 3901#$i_ustat I_USTAT /**/ 3902 3903/* I_WCHAR: 3904 * This symbol, if defined, indicates to the C program that <wchar.h> 3905 * is available for inclusion 3906 */ 3907#$i_wchar I_WCHAR /**/ 3908 3909/* I_WCTYPE: 3910 * This symbol, if defined, indicates that <wctype.h> exists. 3911 */ 3912#$i_wctype I_WCTYPE /**/ 3913 3914/* DOUBLEINFBYTES: 3915 * This symbol, if defined, is a comma-separated list of 3916 * hexadecimal bytes for the double precision infinity. 3917 */ 3918/* DOUBLENANBYTES: 3919 * This symbol, if defined, is a comma-separated list of 3920 * hexadecimal bytes (0xHH) for the double precision not-a-number. 3921 */ 3922/* LONGDBLINFBYTES: 3923 * This symbol, if defined, is a comma-separated list of 3924 * hexadecimal bytes for the long double precision infinity. 3925 */ 3926/* LONGDBLNANBYTES: 3927 * This symbol, if defined, is a comma-separated list of 3928 * hexadecimal bytes (0xHH) for the long double precision not-a-number. 3929 */ 3930#define DOUBLEINFBYTES $doubleinfbytes /**/ 3931#define DOUBLENANBYTES $doublenanbytes /**/ 3932#define LONGDBLINFBYTES $longdblinfbytes /**/ 3933#define LONGDBLNANBYTES $longdblnanbytes /**/ 3934 3935/* PERL_PRIfldbl: 3936 * This symbol, if defined, contains the string used by stdio to 3937 * format long doubles (format 'f') for output. 3938 */ 3939/* PERL_PRIgldbl: 3940 * This symbol, if defined, contains the string used by stdio to 3941 * format long doubles (format 'g') for output. 3942 */ 3943/* PERL_PRIeldbl: 3944 * This symbol, if defined, contains the string used by stdio to 3945 * format long doubles (format 'e') for output. 3946 */ 3947/* PERL_SCNfldbl: 3948 * This symbol, if defined, contains the string used by stdio to 3949 * format long doubles (format 'f') for input. 3950 */ 3951/* DOUBLEKIND: 3952 * DOUBLEKIND will be one of 3953 * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 3954 * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 3955 * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3956 * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 3957 * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 3958 * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 3959 * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 3960 * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 3961 * DOUBLE_IS_VAX_F_FLOAT 3962 * DOUBLE_IS_VAX_D_FLOAT 3963 * DOUBLE_IS_VAX_G_FLOAT 3964 * DOUBLE_IS_IBM_SINGLE_32_BIT 3965 * DOUBLE_IS_IBM_DOUBLE_64_BIT 3966 * DOUBLE_IS_CRAY_SINGLE_64_BIT 3967 * DOUBLE_IS_UNKNOWN_FORMAT 3968 */ 3969/* DOUBLE_HAS_INF: 3970 * This symbol, if defined, indicates that the double has 3971 * the infinity. 3972 */ 3973/* DOUBLE_HAS_NAN: 3974 * This symbol, if defined, indicates that the double has 3975 * the not-a-number. 3976 */ 3977/* DOUBLE_HAS_NEGATIVE_ZERO: 3978 * This symbol, if defined, indicates that the double has 3979 * the negative_zero. 3980 */ 3981/* DOUBLE_HAS_SUBNORMALS: 3982 * This symbol, if defined, indicates that the double has 3983 * the subnormals (denormals). 3984 */ 3985/* DOUBLE_STYLE_CRAY: 3986 * This symbol, if defined, indicates that the double is 3987 * the 64-bit CRAY mainframe format. 3988 */ 3989/* DOUBLE_STYLE_IBM: 3990 * This symbol, if defined, indicates that the double is 3991 * the 64-bit IBM mainframe format. 3992 */ 3993/* DOUBLE_STYLE_IEEE: 3994 * This symbol, if defined, indicates that the double is 3995 * the 64-bit IEEE 754. 3996 */ 3997/* DOUBLE_STYLE_VAX: 3998 * This symbol, if defined, indicates that the double is 3999 * the 64-bit VAX format D or G. 4000 */ 4001#define DOUBLEKIND $doublekind /**/ 4002#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 4003#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 4004#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 4005#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4 4006#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5 4007#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6 4008#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7 4009#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8 4010#define DOUBLE_IS_VAX_F_FLOAT 9 4011#define DOUBLE_IS_VAX_D_FLOAT 10 4012#define DOUBLE_IS_VAX_G_FLOAT 11 4013#define DOUBLE_IS_IBM_SINGLE_32_BIT 12 4014#define DOUBLE_IS_IBM_DOUBLE_64_BIT 13 4015#define DOUBLE_IS_CRAY_SINGLE_64_BIT 14 4016#define DOUBLE_IS_UNKNOWN_FORMAT -1 4017#$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/ 4018#$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/ 4019#$d_PRIeldbl PERL_PRIeldbl $sPRIeldbl /**/ 4020#$d_SCNfldbl PERL_SCNfldbl $sSCNfldbl /**/ 4021#$d_double_has_inf DOUBLE_HAS_INF 4022#$d_double_has_nan DOUBLE_HAS_NAN 4023#$d_double_has_negative_zero DOUBLE_HAS_NEGATIVE_ZERO 4024#$d_double_has_subnormals DOUBLE_HAS_SUBNORMALS 4025#$d_double_style_cray DOUBLE_STYLE_CRAY 4026#$d_double_style_ibm DOUBLE_STYLE_IBM 4027#$d_double_style_ieee DOUBLE_STYLE_IEEE 4028#$d_double_style_vax DOUBLE_STYLE_VAX 4029 4030/* DOUBLEMANTBITS: 4031 * This symbol, if defined, tells how many mantissa bits 4032 * there are in double precision floating point format. 4033 * Note that this is usually DBL_MANT_DIG minus one, since 4034 * with the standard IEEE 754 formats DBL_MANT_DIG includes 4035 * the implicit bit, which doesn't really exist. 4036 */ 4037/* LONGDBLMANTBITS: 4038 * This symbol, if defined, tells how many mantissa bits 4039 * there are in long double precision floating point format. 4040 * Note that this can be LDBL_MANT_DIG minus one, 4041 * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. 4042 * The common x86-style 80-bit long double does not have 4043 * an implicit bit. 4044 */ 4045/* NVMANTBITS: 4046 * This symbol, if defined, tells how many mantissa bits 4047 * (not including implicit bit) there are in a Perl NV. 4048 * This depends on which floating point type was chosen. 4049 */ 4050#define DOUBLEMANTBITS $doublemantbits 4051#define LONGDBLMANTBITS $longdblmantbits 4052#define NVMANTBITS $nvmantbits 4053 4054/* NEED_VA_COPY: 4055 * This symbol, if defined, indicates that the system stores 4056 * the variable argument list datatype, va_list, in a format 4057 * that cannot be copied by simple assignment, so that some 4058 * other means must be used when copying is required. 4059 * As such systems vary in their provision (or non-provision) 4060 * of copying mechanisms, handy.h defines a platform- 4061 * independent macro, Perl_va_copy(src, dst), to do the job. 4062 */ 4063#$need_va_copy NEED_VA_COPY /**/ 4064 4065/* I32df: 4066 * This symbol defines the format string used for printing a Perl I32 4067 * as a signed decimal integer. 4068 */ 4069/* U32uf: 4070 * This symbol defines the format string used for printing a Perl U32 4071 * as an unsigned decimal integer. 4072 */ 4073/* U32of: 4074 * This symbol defines the format string used for printing a Perl U32 4075 * as an unsigned octal integer. 4076 */ 4077/* U32xf: 4078 * This symbol defines the format string used for printing a Perl U32 4079 * as an unsigned hexadecimal integer in lowercase abcdef. 4080 */ 4081/* U32Xf: 4082 * This symbol defines the format string used for printing a Perl U32 4083 * as an unsigned hexadecimal integer in uppercase ABCDEF. 4084 */ 4085#define I32df $i32dformat /**/ 4086#define U32of $u32oformat /**/ 4087#define U32uf $u32uformat /**/ 4088#define U32xf $u32xformat /**/ 4089#define U32Xf $u32XUformat /**/ 4090 4091/* IVTYPE: 4092 * This symbol defines the C type used for Perl's IV. 4093 */ 4094/* UVTYPE: 4095 * This symbol defines the C type used for Perl's UV. 4096 */ 4097/* I8TYPE: 4098 * This symbol defines the C type used for Perl's I8. 4099 */ 4100/* U8TYPE: 4101 * This symbol defines the C type used for Perl's U8. 4102 */ 4103/* I16TYPE: 4104 * This symbol defines the C type used for Perl's I16. 4105 */ 4106/* U16TYPE: 4107 * This symbol defines the C type used for Perl's U16. 4108 */ 4109/* I32TYPE: 4110 * This symbol defines the C type used for Perl's I32. 4111 */ 4112/* U32TYPE: 4113 * This symbol defines the C type used for Perl's U32. 4114 */ 4115/* I64TYPE: 4116 * This symbol defines the C type used for Perl's I64. 4117 */ 4118/* U64TYPE: 4119 * This symbol defines the C type used for Perl's U64. 4120 */ 4121/* NVTYPE: 4122 * This symbol defines the C type used for Perl's NV. 4123 */ 4124/* IVSIZE: 4125 * This symbol contains the sizeof(IV). 4126 */ 4127/* UVSIZE: 4128 * This symbol contains the sizeof(UV). 4129 */ 4130/* I8SIZE: 4131 * This symbol contains the sizeof(I8). 4132 */ 4133/* U8SIZE: 4134 * This symbol contains the sizeof(U8). 4135 */ 4136/* I16SIZE: 4137 * This symbol contains the sizeof(I16). 4138 */ 4139/* U16SIZE: 4140 * This symbol contains the sizeof(U16). 4141 */ 4142/* I32SIZE: 4143 * This symbol contains the sizeof(I32). 4144 */ 4145/* U32SIZE: 4146 * This symbol contains the sizeof(U32). 4147 */ 4148/* I64SIZE: 4149 * This symbol contains the sizeof(I64). 4150 */ 4151/* U64SIZE: 4152 * This symbol contains the sizeof(U64). 4153 */ 4154/* NVSIZE: 4155 * This symbol contains the sizeof(NV). 4156 * Note that some floating point formats have unused bytes. 4157 * The most notable example is the x86* 80-bit extended precision 4158 * which comes in byte sizes of 12 and 16 (for 32 and 64 bit 4159 * platforms, respectively), but which only uses 10 bytes. 4160 * Perl compiled with -Duselongdouble on x86* is like this. 4161 */ 4162/* NV_PRESERVES_UV: 4163 * This symbol, if defined, indicates that a variable of type NVTYPE 4164 * can preserve all the bits of a variable of type UVTYPE. 4165 */ 4166/* NV_PRESERVES_UV_BITS: 4167 * This symbol contains the number of bits a variable of type NVTYPE 4168 * can preserve of a variable of type UVTYPE. 4169 */ 4170/* NV_OVERFLOWS_INTEGERS_AT: 4171 * This symbol gives the largest integer value that NVs can hold. This 4172 * value + 1.0 cannot be stored accurately. It is expressed as constant 4173 * floating point expression to reduce the chance of decimal/binary 4174 * conversion issues. If it can not be determined, the value 0 is given. 4175 */ 4176/* NV_ZERO_IS_ALLBITS_ZERO: 4177 * This symbol, if defined, indicates that a variable of type NVTYPE 4178 * stores 0.0 in memory as all bits zero. 4179 */ 4180#define IVTYPE $ivtype /**/ 4181#define UVTYPE $uvtype /**/ 4182#define I8TYPE $i8type /**/ 4183#define U8TYPE $u8type /**/ 4184#define I16TYPE $i16type /**/ 4185#define U16TYPE $u16type /**/ 4186#define I32TYPE $i32type /**/ 4187#define U32TYPE $u32type /**/ 4188#ifdef HAS_QUAD 4189#define I64TYPE $i64type /**/ 4190#define U64TYPE $u64type /**/ 4191#endif 4192#define NVTYPE $nvtype /**/ 4193#define IVSIZE $ivsize /**/ 4194#define UVSIZE $uvsize /**/ 4195#define I8SIZE $i8size /**/ 4196#define U8SIZE $u8size /**/ 4197#define I16SIZE $i16size /**/ 4198#define U16SIZE $u16size /**/ 4199#define I32SIZE $i32size /**/ 4200#define U32SIZE $u32size /**/ 4201#ifdef HAS_QUAD 4202#define I64SIZE $i64size /**/ 4203#define U64SIZE $u64size /**/ 4204#endif 4205#define NVSIZE $nvsize /**/ 4206#$d_nv_preserves_uv NV_PRESERVES_UV 4207#define NV_PRESERVES_UV_BITS $nv_preserves_uv_bits 4208#define NV_OVERFLOWS_INTEGERS_AT ($nv_overflows_integers_at) 4209#$d_nv_zero_is_allbits_zero NV_ZERO_IS_ALLBITS_ZERO 4210#if UVSIZE == 8 4211# ifdef BYTEORDER 4212# if BYTEORDER == 0x1234 4213# undef BYTEORDER 4214# define BYTEORDER 0x12345678 4215# else 4216# if BYTEORDER == 0x4321 4217# undef BYTEORDER 4218# define BYTEORDER 0x87654321 4219# endif 4220# endif 4221# endif 4222#endif 4223 4224/* IVdf: 4225 * This symbol defines the format string used for printing a Perl IV 4226 * as a signed decimal integer. 4227 */ 4228/* UVuf: 4229 * This symbol defines the format string used for printing a Perl UV 4230 * as an unsigned decimal integer. 4231 */ 4232/* UVof: 4233 * This symbol defines the format string used for printing a Perl UV 4234 * as an unsigned octal integer. 4235 */ 4236/* UVxf: 4237 * This symbol defines the format string used for printing a Perl UV 4238 * as an unsigned hexadecimal integer in lowercase abcdef. 4239 */ 4240/* UVXf: 4241 * This symbol defines the format string used for printing a Perl UV 4242 * as an unsigned hexadecimal integer in uppercase ABCDEF. 4243 */ 4244/* NVef: 4245 * This symbol defines the format string used for printing a Perl NV 4246 * using %e-ish floating point format. 4247 */ 4248/* NVff: 4249 * This symbol defines the format string used for printing a Perl NV 4250 * using %f-ish floating point format. 4251 */ 4252/* NVgf: 4253 * This symbol defines the format string used for printing a Perl NV 4254 * using %g-ish floating point format. 4255 */ 4256#define IVdf $ivdformat /**/ 4257#define UVuf $uvuformat /**/ 4258#define UVof $uvoformat /**/ 4259#define UVxf $uvxformat /**/ 4260#define UVXf $uvXUformat /**/ 4261#define NVef $nveformat /**/ 4262#define NVff $nvfformat /**/ 4263#define NVgf $nvgformat /**/ 4264 4265/* SELECT_MIN_BITS: 4266 * This symbol holds the minimum number of bits operated by select. 4267 * That is, if you do select(n, ...), how many bits at least will be 4268 * cleared in the masks if some activity is detected. Usually this 4269 * is either n or 32*ceil(n/32), especially many little-endians do 4270 * the latter. This is only useful if you have select(), naturally. 4271 */ 4272#define SELECT_MIN_BITS $selectminbits /**/ 4273 4274/* ST_DEV_SIZE: 4275 * This variable contains the size of struct stat's st_dev in bytes. 4276 */ 4277/* ST_DEV_SIGN: 4278 * This symbol holds the signedness of struct stat's st_dev. 4279 * 1 for unsigned, -1 for signed. 4280 */ 4281#define ST_DEV_SIGN $st_dev_sign /* st_dev sign */ 4282#define ST_DEV_SIZE $st_dev_size /* st_dev size */ 4283 4284/* ST_INO_SIZE: 4285 * This variable contains the size of struct stat's st_ino in bytes. 4286 */ 4287/* ST_INO_SIGN: 4288 * This symbol holds the signedness of struct stat's st_ino. 4289 * 1 for unsigned, -1 for signed. 4290 */ 4291#define ST_INO_SIGN $st_ino_sign /* st_ino sign */ 4292#define ST_INO_SIZE $st_ino_size /* st_ino size */ 4293 4294/* STARTPERL: 4295 * This variable contains the string to put in front of a perl 4296 * script to make sure (one hopes) that it runs with perl and not 4297 * some shell. 4298 */ 4299#define STARTPERL "$startperl" /**/ 4300 4301/* HAS_STDIO_STREAM_ARRAY: 4302 * This symbol, if defined, tells that there is an array 4303 * holding the stdio streams. 4304 */ 4305/* STDIO_STREAM_ARRAY: 4306 * This symbol tells the name of the array holding the stdio streams. 4307 * Usual values include _iob, __iob, and __sF. 4308 */ 4309#$d_stdio_stream_array HAS_STDIO_STREAM_ARRAY /**/ 4310#ifdef HAS_STDIO_STREAM_ARRAY 4311#define STDIO_STREAM_ARRAY $stdio_stream_array 4312#endif 4313 4314/* GMTIME_MAX: 4315 * This symbol contains the maximum value for the time_t offset that 4316 * the system function gmtime () accepts, and defaults to 0 4317 */ 4318/* GMTIME_MIN: 4319 * This symbol contains the minimum value for the time_t offset that 4320 * the system function gmtime () accepts, and defaults to 0 4321 */ 4322/* LOCALTIME_MAX: 4323 * This symbol contains the maximum value for the time_t offset that 4324 * the system function localtime () accepts, and defaults to 0 4325 */ 4326/* LOCALTIME_MIN: 4327 * This symbol contains the minimum value for the time_t offset that 4328 * the system function localtime () accepts, and defaults to 0 4329 */ 4330#define GMTIME_MAX $sGMTIME_max /**/ 4331#define GMTIME_MIN $sGMTIME_min /**/ 4332#define LOCALTIME_MAX $sLOCALTIME_max /**/ 4333#define LOCALTIME_MIN $sLOCALTIME_min /**/ 4334 4335/* USE_64_BIT_INT: 4336 * This symbol, if defined, indicates that 64-bit integers should 4337 * be used when available. If not defined, the native integers 4338 * will be employed (be they 32 or 64 bits). The minimal possible 4339 * 64-bitness is used, just enough to get 64-bit integers into Perl. 4340 * This may mean using for example "long longs", while your memory 4341 * may still be limited to 2 gigabytes. 4342 */ 4343/* USE_64_BIT_ALL: 4344 * This symbol, if defined, indicates that 64-bit integers should 4345 * be used when available. If not defined, the native integers 4346 * will be used (be they 32 or 64 bits). The maximal possible 4347 * 64-bitness is employed: LP64 or ILP64, meaning that you will 4348 * be able to use more than 2 gigabytes of memory. This mode is 4349 * even more binary incompatible than USE_64_BIT_INT. You may not 4350 * be able to run the resulting executable in a 32-bit CPU at all or 4351 * you may need at least to reboot your OS to 64-bit mode. 4352 */ 4353#ifndef USE_64_BIT_INT 4354#$use64bitint USE_64_BIT_INT /**/ 4355#endif 4356#ifndef USE_64_BIT_ALL 4357#$use64bitall USE_64_BIT_ALL /**/ 4358#endif 4359 4360/* USE_C_BACKTRACE: 4361 * This symbol, if defined, indicates that Perl should 4362 * be built with support for backtrace. 4363 */ 4364#$usecbacktrace USE_C_BACKTRACE /**/ 4365 4366/* USE_STRICT_BY_DEFAULT: 4367 * This symbol, if defined, enables additional defaults. 4368 * At this time it only enables implicit strict by default. 4369 */ 4370#$usedefaultstrict USE_STRICT_BY_DEFAULT /* use strict by default */ 4371 4372/* USE_DTRACE: 4373 * This symbol, if defined, indicates that Perl should 4374 * be built with support for DTrace. 4375 */ 4376#$usedtrace USE_DTRACE /**/ 4377 4378/* USE_FAST_STDIO: 4379 * This symbol, if defined, indicates that Perl should 4380 * be built to use 'fast stdio'. 4381 * Defaults to define in Perls 5.8 and earlier, to undef later. 4382 */ 4383#ifndef USE_FAST_STDIO 4384#$usefaststdio USE_FAST_STDIO /**/ 4385#endif 4386 4387/* USE_KERN_PROC_PATHNAME: 4388 * This symbol, if defined, indicates that we can use sysctl with 4389 * KERN_PROC_PATHNAME to get a full path for the executable, and hence 4390 * convert $^X to an absolute path. 4391 */ 4392#$usekernprocpathname USE_KERN_PROC_PATHNAME /**/ 4393 4394/* USE_LARGE_FILES: 4395 * This symbol, if defined, indicates that large file support 4396 * should be used when available. 4397 */ 4398#ifndef USE_LARGE_FILES 4399#$uselargefiles USE_LARGE_FILES /**/ 4400#endif 4401 4402/* USE_LONG_DOUBLE: 4403 * This symbol, if defined, indicates that long doubles should 4404 * be used when available. 4405 */ 4406#ifndef USE_LONG_DOUBLE 4407#$uselongdouble USE_LONG_DOUBLE /**/ 4408#endif 4409 4410/* USE_MORE_BITS: 4411 * This symbol, if defined, indicates that 64-bit interfaces and 4412 * long doubles should be used when available. 4413 */ 4414#ifndef USE_MORE_BITS 4415#$usemorebits USE_MORE_BITS /**/ 4416#endif 4417 4418/* MULTIPLICITY: 4419 * This symbol, if defined, indicates that Perl should 4420 * be built to use multiplicity. 4421 */ 4422#ifndef MULTIPLICITY 4423#$usemultiplicity MULTIPLICITY /**/ 4424#endif 4425 4426/* USE_NSGETEXECUTABLEPATH: 4427 * This symbol, if defined, indicates that we can use _NSGetExecutablePath 4428 * and realpath to get a full path for the executable, and hence convert 4429 * $^X to an absolute path. 4430 */ 4431#$usensgetexecutablepath USE_NSGETEXECUTABLEPATH /**/ 4432 4433/* USE_PERLIO: 4434 * This symbol, if defined, indicates that the PerlIO abstraction should 4435 * be used throughout. If not defined, stdio should be 4436 * used in a fully backward compatible manner. 4437 */ 4438#ifndef USE_PERLIO 4439#$useperlio USE_PERLIO /**/ 4440#endif 4441 4442/* USE_QUADMATH: 4443 * This symbol, if defined, indicates that the quadmath library should 4444 * be used when available. 4445 */ 4446#ifndef USE_QUADMATH 4447#$usequadmath USE_QUADMATH /**/ 4448#endif 4449 4450/* USE_SOCKS: 4451 * This symbol, if defined, indicates that Perl should 4452 * be built to use socks. 4453 */ 4454#ifndef USE_SOCKS 4455#$usesocks USE_SOCKS /**/ 4456#endif 4457 4458/* HAS_DRAND48_PROTO: 4459 * This symbol, if defined, indicates that the system provides 4460 * a prototype for the drand48() function. Otherwise, it is up 4461 * to the program to supply one. A good guess is 4462 * extern double drand48(void); 4463 */ 4464#$d_drand48proto HAS_DRAND48_PROTO /**/ 4465 4466/* HAS_GETHOST_PROTOS: 4467 * This symbol, if defined, indicates that <netdb.h> includes 4468 * prototypes for gethostent(), gethostbyname(), and 4469 * gethostbyaddr(). Otherwise, it is up to the program to guess 4470 * them. See netdbtype.U for probing for various Netdb_xxx_t types. 4471 */ 4472#$d_gethostprotos HAS_GETHOST_PROTOS /**/ 4473 4474/* HAS_GETNET_PROTOS: 4475 * This symbol, if defined, indicates that <netdb.h> includes 4476 * prototypes for getnetent(), getnetbyname(), and 4477 * getnetbyaddr(). Otherwise, it is up to the program to guess 4478 * them. See netdbtype.U for probing for various Netdb_xxx_t types. 4479 */ 4480#$d_getnetprotos HAS_GETNET_PROTOS /**/ 4481 4482/* HAS_GETPROTO_PROTOS: 4483 * This symbol, if defined, indicates that <netdb.h> includes 4484 * prototypes for getprotoent(), getprotobyname(), and 4485 * getprotobyaddr(). Otherwise, it is up to the program to guess 4486 * them. See netdbtype.U for probing for various Netdb_xxx_t types. 4487 */ 4488#$d_getprotoprotos HAS_GETPROTO_PROTOS /**/ 4489 4490/* HAS_GETSERV_PROTOS: 4491 * This symbol, if defined, indicates that <netdb.h> includes 4492 * prototypes for getservent(), getservbyname(), and 4493 * getservbyaddr(). Otherwise, it is up to the program to guess 4494 * them. See netdbtype.U for probing for various Netdb_xxx_t types. 4495 */ 4496#$d_getservprotos HAS_GETSERV_PROTOS /**/ 4497 4498/* HAS_LSEEK_PROTO: 4499 * This symbol, if defined, indicates that the system provides 4500 * a prototype for the lseek() function. Otherwise, it is up 4501 * to the program to supply one. A good guess is 4502 * extern off_t lseek(int, off_t, int); 4503 */ 4504#$d_lseekproto HAS_LSEEK_PROTO /**/ 4505 4506/* Netdb_host_t: 4507 * This symbol holds the type used for the 1st argument 4508 * to gethostbyaddr(). 4509 */ 4510/* Netdb_hlen_t: 4511 * This symbol holds the type used for the 2nd argument 4512 * to gethostbyaddr(). 4513 */ 4514/* Netdb_name_t: 4515 * This symbol holds the type used for the argument to 4516 * gethostbyname(). 4517 */ 4518/* Netdb_net_t: 4519 * This symbol holds the type used for the 1st argument to 4520 * getnetbyaddr(). 4521 */ 4522#define Netdb_host_t $netdb_host_type /**/ 4523#define Netdb_hlen_t $netdb_hlen_type /**/ 4524#define Netdb_name_t $netdb_name_type /**/ 4525#define Netdb_net_t $netdb_net_type /**/ 4526 4527/* Select_fd_set_t: 4528 * This symbol holds the type used for the 2nd, 3rd, and 4th 4529 * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET 4530 * is defined, and 'int *' otherwise. This is only useful if you 4531 * have select(), of course. 4532 */ 4533#define Select_fd_set_t $selecttype /**/ 4534 4535/* Sock_size_t: 4536 * This symbol holds the type used for the size argument of 4537 * various socket calls (just the base type, not the pointer-to). 4538 */ 4539#define Sock_size_t $socksizetype /**/ 4540 4541/* ARCHNAME: 4542 * This symbol holds a string representing the architecture name. 4543 * It may be used to construct an architecture-dependant pathname 4544 * where library files may be held under a private library, for 4545 * instance. 4546 */ 4547#define ARCHNAME "$archname" /**/ 4548 4549/* HAS_ASCTIME_R: 4550 * This symbol, if defined, indicates that the asctime_r routine 4551 * is available to asctime re-entrantly. 4552 */ 4553/* ASCTIME_R_PROTO: 4554 * This symbol encodes the prototype of asctime_r. 4555 * It is zero if d_asctime_r is undef, and one of the 4556 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r 4557 * is defined. 4558 */ 4559#$d_asctime_r HAS_ASCTIME_R /**/ 4560#define ASCTIME_R_PROTO $asctime_r_proto /**/ 4561 4562/* HAS_CRYPT_R: 4563 * This symbol, if defined, indicates that the crypt_r routine 4564 * is available to crypt re-entrantly. 4565 */ 4566/* CRYPT_R_PROTO: 4567 * This symbol encodes the prototype of crypt_r. 4568 * It is zero if d_crypt_r is undef, and one of the 4569 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r 4570 * is defined. 4571 */ 4572#$d_crypt_r HAS_CRYPT_R /**/ 4573#define CRYPT_R_PROTO $crypt_r_proto /**/ 4574 4575/* HAS_CTERMID_R: 4576 * This symbol, if defined, indicates that the ctermid_r routine 4577 * is available to ctermid re-entrantly. 4578 */ 4579/* CTERMID_R_PROTO: 4580 * This symbol encodes the prototype of ctermid_r. 4581 * It is zero if d_ctermid_r is undef, and one of the 4582 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r 4583 * is defined. 4584 */ 4585#$d_ctermid_r HAS_CTERMID_R /**/ 4586#define CTERMID_R_PROTO $ctermid_r_proto /**/ 4587 4588/* HAS_CTIME_R: 4589 * This symbol, if defined, indicates that the ctime_r routine 4590 * is available to ctime re-entrantly. 4591 */ 4592/* CTIME_R_PROTO: 4593 * This symbol encodes the prototype of ctime_r. 4594 * It is zero if d_ctime_r is undef, and one of the 4595 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r 4596 * is defined. 4597 */ 4598#$d_ctime_r HAS_CTIME_R /**/ 4599#define CTIME_R_PROTO $ctime_r_proto /**/ 4600 4601/* HAS_DRAND48_R: 4602 * This symbol, if defined, indicates that the drand48_r routine 4603 * is available to drand48 re-entrantly. 4604 */ 4605/* DRAND48_R_PROTO: 4606 * This symbol encodes the prototype of drand48_r. 4607 * It is zero if d_drand48_r is undef, and one of the 4608 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r 4609 * is defined. 4610 */ 4611#$d_drand48_r HAS_DRAND48_R /**/ 4612#define DRAND48_R_PROTO $drand48_r_proto /**/ 4613 4614/* HAS_ENDGRENT_R: 4615 * This symbol, if defined, indicates that the endgrent_r routine 4616 * is available to endgrent re-entrantly. 4617 */ 4618/* ENDGRENT_R_PROTO: 4619 * This symbol encodes the prototype of endgrent_r. 4620 * It is zero if d_endgrent_r is undef, and one of the 4621 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r 4622 * is defined. 4623 */ 4624#$d_endgrent_r HAS_ENDGRENT_R /**/ 4625#define ENDGRENT_R_PROTO $endgrent_r_proto /**/ 4626 4627/* HAS_ENDHOSTENT_R: 4628 * This symbol, if defined, indicates that the endhostent_r routine 4629 * is available to endhostent re-entrantly. 4630 */ 4631/* ENDHOSTENT_R_PROTO: 4632 * This symbol encodes the prototype of endhostent_r. 4633 * It is zero if d_endhostent_r is undef, and one of the 4634 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r 4635 * is defined. 4636 */ 4637#$d_endhostent_r HAS_ENDHOSTENT_R /**/ 4638#define ENDHOSTENT_R_PROTO $endhostent_r_proto /**/ 4639 4640/* HAS_ENDNETENT_R: 4641 * This symbol, if defined, indicates that the endnetent_r routine 4642 * is available to endnetent re-entrantly. 4643 */ 4644/* ENDNETENT_R_PROTO: 4645 * This symbol encodes the prototype of endnetent_r. 4646 * It is zero if d_endnetent_r is undef, and one of the 4647 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r 4648 * is defined. 4649 */ 4650#$d_endnetent_r HAS_ENDNETENT_R /**/ 4651#define ENDNETENT_R_PROTO $endnetent_r_proto /**/ 4652 4653/* HAS_ENDPROTOENT_R: 4654 * This symbol, if defined, indicates that the endprotoent_r routine 4655 * is available to endprotoent re-entrantly. 4656 */ 4657/* ENDPROTOENT_R_PROTO: 4658 * This symbol encodes the prototype of endprotoent_r. 4659 * It is zero if d_endprotoent_r is undef, and one of the 4660 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r 4661 * is defined. 4662 */ 4663#$d_endprotoent_r HAS_ENDPROTOENT_R /**/ 4664#define ENDPROTOENT_R_PROTO $endprotoent_r_proto /**/ 4665 4666/* HAS_ENDPWENT_R: 4667 * This symbol, if defined, indicates that the endpwent_r routine 4668 * is available to endpwent re-entrantly. 4669 */ 4670/* ENDPWENT_R_PROTO: 4671 * This symbol encodes the prototype of endpwent_r. 4672 * It is zero if d_endpwent_r is undef, and one of the 4673 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r 4674 * is defined. 4675 */ 4676#$d_endpwent_r HAS_ENDPWENT_R /**/ 4677#define ENDPWENT_R_PROTO $endpwent_r_proto /**/ 4678 4679/* HAS_ENDSERVENT_R: 4680 * This symbol, if defined, indicates that the endservent_r routine 4681 * is available to endservent re-entrantly. 4682 */ 4683/* ENDSERVENT_R_PROTO: 4684 * This symbol encodes the prototype of endservent_r. 4685 * It is zero if d_endservent_r is undef, and one of the 4686 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r 4687 * is defined. 4688 */ 4689#$d_endservent_r HAS_ENDSERVENT_R /**/ 4690#define ENDSERVENT_R_PROTO $endservent_r_proto /**/ 4691 4692/* GETENV_PRESERVES_OTHER_THREAD: 4693 * This symbol, if defined, indicates that the getenv system call doesn't 4694 * zap the static buffer of getenv() in a different thread. 4695 * 4696 * The typical getenv() implementation will return a pointer to the proper 4697 * position in **environ. But some may instead copy them to a static 4698 * buffer in getenv(). If there is a per-thread instance of that buffer, 4699 * or the return points to **environ, then a many-reader/1-writer mutex 4700 * will work; otherwise an exclusive locking mutex is required to prevent 4701 * races. 4702 */ 4703#$d_getenv_preserves_other_thread GETENV_PRESERVES_OTHER_THREAD /**/ 4704 4705/* HAS_GETGRENT_R: 4706 * This symbol, if defined, indicates that the getgrent_r routine 4707 * is available to getgrent re-entrantly. 4708 */ 4709/* GETGRENT_R_PROTO: 4710 * This symbol encodes the prototype of getgrent_r. 4711 * It is zero if d_getgrent_r is undef, and one of the 4712 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r 4713 * is defined. 4714 */ 4715#$d_getgrent_r HAS_GETGRENT_R /**/ 4716#define GETGRENT_R_PROTO $getgrent_r_proto /**/ 4717 4718/* HAS_GETGRGID_R: 4719 * This symbol, if defined, indicates that the getgrgid_r routine 4720 * is available to getgrgid re-entrantly. 4721 */ 4722/* GETGRGID_R_PROTO: 4723 * This symbol encodes the prototype of getgrgid_r. 4724 * It is zero if d_getgrgid_r is undef, and one of the 4725 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r 4726 * is defined. 4727 */ 4728#$d_getgrgid_r HAS_GETGRGID_R /**/ 4729#define GETGRGID_R_PROTO $getgrgid_r_proto /**/ 4730 4731/* HAS_GETGRNAM_R: 4732 * This symbol, if defined, indicates that the getgrnam_r routine 4733 * is available to getgrnam re-entrantly. 4734 */ 4735/* GETGRNAM_R_PROTO: 4736 * This symbol encodes the prototype of getgrnam_r. 4737 * It is zero if d_getgrnam_r is undef, and one of the 4738 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r 4739 * is defined. 4740 */ 4741#$d_getgrnam_r HAS_GETGRNAM_R /**/ 4742#define GETGRNAM_R_PROTO $getgrnam_r_proto /**/ 4743 4744/* HAS_GETHOSTBYADDR_R: 4745 * This symbol, if defined, indicates that the gethostbyaddr_r routine 4746 * is available to gethostbyaddr re-entrantly. 4747 */ 4748/* GETHOSTBYADDR_R_PROTO: 4749 * This symbol encodes the prototype of gethostbyaddr_r. 4750 * It is zero if d_gethostbyaddr_r is undef, and one of the 4751 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r 4752 * is defined. 4753 */ 4754#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R /**/ 4755#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto /**/ 4756 4757/* HAS_GETHOSTBYNAME_R: 4758 * This symbol, if defined, indicates that the gethostbyname_r routine 4759 * is available to gethostbyname re-entrantly. 4760 */ 4761/* GETHOSTBYNAME_R_PROTO: 4762 * This symbol encodes the prototype of gethostbyname_r. 4763 * It is zero if d_gethostbyname_r is undef, and one of the 4764 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r 4765 * is defined. 4766 */ 4767#$d_gethostbyname_r HAS_GETHOSTBYNAME_R /**/ 4768#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto /**/ 4769 4770/* HAS_GETHOSTENT_R: 4771 * This symbol, if defined, indicates that the gethostent_r routine 4772 * is available to gethostent re-entrantly. 4773 */ 4774/* GETHOSTENT_R_PROTO: 4775 * This symbol encodes the prototype of gethostent_r. 4776 * It is zero if d_gethostent_r is undef, and one of the 4777 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r 4778 * is defined. 4779 */ 4780#$d_gethostent_r HAS_GETHOSTENT_R /**/ 4781#define GETHOSTENT_R_PROTO $gethostent_r_proto /**/ 4782 4783/* HAS_GETLOGIN_R: 4784 * This symbol, if defined, indicates that the getlogin_r routine 4785 * is available to getlogin re-entrantly. 4786 */ 4787/* GETLOGIN_R_PROTO: 4788 * This symbol encodes the prototype of getlogin_r. 4789 * It is zero if d_getlogin_r is undef, and one of the 4790 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r 4791 * is defined. 4792 */ 4793#$d_getlogin_r HAS_GETLOGIN_R /**/ 4794#define GETLOGIN_R_PROTO $getlogin_r_proto /**/ 4795 4796/* HAS_GETNETBYADDR_R: 4797 * This symbol, if defined, indicates that the getnetbyaddr_r routine 4798 * is available to getnetbyaddr re-entrantly. 4799 */ 4800/* GETNETBYADDR_R_PROTO: 4801 * This symbol encodes the prototype of getnetbyaddr_r. 4802 * It is zero if d_getnetbyaddr_r is undef, and one of the 4803 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r 4804 * is defined. 4805 */ 4806#$d_getnetbyaddr_r HAS_GETNETBYADDR_R /**/ 4807#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto /**/ 4808 4809/* HAS_GETNETBYNAME_R: 4810 * This symbol, if defined, indicates that the getnetbyname_r routine 4811 * is available to getnetbyname re-entrantly. 4812 */ 4813/* GETNETBYNAME_R_PROTO: 4814 * This symbol encodes the prototype of getnetbyname_r. 4815 * It is zero if d_getnetbyname_r is undef, and one of the 4816 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r 4817 * is defined. 4818 */ 4819#$d_getnetbyname_r HAS_GETNETBYNAME_R /**/ 4820#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto /**/ 4821 4822/* HAS_GETNETENT_R: 4823 * This symbol, if defined, indicates that the getnetent_r routine 4824 * is available to getnetent re-entrantly. 4825 */ 4826/* GETNETENT_R_PROTO: 4827 * This symbol encodes the prototype of getnetent_r. 4828 * It is zero if d_getnetent_r is undef, and one of the 4829 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r 4830 * is defined. 4831 */ 4832#$d_getnetent_r HAS_GETNETENT_R /**/ 4833#define GETNETENT_R_PROTO $getnetent_r_proto /**/ 4834 4835/* HAS_GETPROTOBYNAME_R: 4836 * This symbol, if defined, indicates that the getprotobyname_r routine 4837 * is available to getprotobyname re-entrantly. 4838 */ 4839/* GETPROTOBYNAME_R_PROTO: 4840 * This symbol encodes the prototype of getprotobyname_r. 4841 * It is zero if d_getprotobyname_r is undef, and one of the 4842 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r 4843 * is defined. 4844 */ 4845#$d_getprotobyname_r HAS_GETPROTOBYNAME_R /**/ 4846#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto /**/ 4847 4848/* HAS_GETPROTOBYNUMBER_R: 4849 * This symbol, if defined, indicates that the getprotobynumber_r routine 4850 * is available to getprotobynumber re-entrantly. 4851 */ 4852/* GETPROTOBYNUMBER_R_PROTO: 4853 * This symbol encodes the prototype of getprotobynumber_r. 4854 * It is zero if d_getprotobynumber_r is undef, and one of the 4855 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r 4856 * is defined. 4857 */ 4858#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R /**/ 4859#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto /**/ 4860 4861/* HAS_GETPROTOENT_R: 4862 * This symbol, if defined, indicates that the getprotoent_r routine 4863 * is available to getprotoent re-entrantly. 4864 */ 4865/* GETPROTOENT_R_PROTO: 4866 * This symbol encodes the prototype of getprotoent_r. 4867 * It is zero if d_getprotoent_r is undef, and one of the 4868 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r 4869 * is defined. 4870 */ 4871#$d_getprotoent_r HAS_GETPROTOENT_R /**/ 4872#define GETPROTOENT_R_PROTO $getprotoent_r_proto /**/ 4873 4874/* HAS_GETPWENT_R: 4875 * This symbol, if defined, indicates that the getpwent_r routine 4876 * is available to getpwent re-entrantly. 4877 */ 4878/* GETPWENT_R_PROTO: 4879 * This symbol encodes the prototype of getpwent_r. 4880 * It is zero if d_getpwent_r is undef, and one of the 4881 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r 4882 * is defined. 4883 */ 4884#$d_getpwent_r HAS_GETPWENT_R /**/ 4885#define GETPWENT_R_PROTO $getpwent_r_proto /**/ 4886 4887/* HAS_GETPWNAM_R: 4888 * This symbol, if defined, indicates that the getpwnam_r routine 4889 * is available to getpwnam re-entrantly. 4890 */ 4891/* GETPWNAM_R_PROTO: 4892 * This symbol encodes the prototype of getpwnam_r. 4893 * It is zero if d_getpwnam_r is undef, and one of the 4894 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r 4895 * is defined. 4896 */ 4897#$d_getpwnam_r HAS_GETPWNAM_R /**/ 4898#define GETPWNAM_R_PROTO $getpwnam_r_proto /**/ 4899 4900/* HAS_GETPWUID_R: 4901 * This symbol, if defined, indicates that the getpwuid_r routine 4902 * is available to getpwuid re-entrantly. 4903 */ 4904/* GETPWUID_R_PROTO: 4905 * This symbol encodes the prototype of getpwuid_r. 4906 * It is zero if d_getpwuid_r is undef, and one of the 4907 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r 4908 * is defined. 4909 */ 4910#$d_getpwuid_r HAS_GETPWUID_R /**/ 4911#define GETPWUID_R_PROTO $getpwuid_r_proto /**/ 4912 4913/* HAS_GETSERVBYNAME_R: 4914 * This symbol, if defined, indicates that the getservbyname_r routine 4915 * is available to getservbyname re-entrantly. 4916 */ 4917/* GETSERVBYNAME_R_PROTO: 4918 * This symbol encodes the prototype of getservbyname_r. 4919 * It is zero if d_getservbyname_r is undef, and one of the 4920 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r 4921 * is defined. 4922 */ 4923#$d_getservbyname_r HAS_GETSERVBYNAME_R /**/ 4924#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto /**/ 4925 4926/* HAS_GETSERVBYPORT_R: 4927 * This symbol, if defined, indicates that the getservbyport_r routine 4928 * is available to getservbyport re-entrantly. 4929 */ 4930/* GETSERVBYPORT_R_PROTO: 4931 * This symbol encodes the prototype of getservbyport_r. 4932 * It is zero if d_getservbyport_r is undef, and one of the 4933 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r 4934 * is defined. 4935 */ 4936#$d_getservbyport_r HAS_GETSERVBYPORT_R /**/ 4937#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto /**/ 4938 4939/* HAS_GETSERVENT_R: 4940 * This symbol, if defined, indicates that the getservent_r routine 4941 * is available to getservent re-entrantly. 4942 */ 4943/* GETSERVENT_R_PROTO: 4944 * This symbol encodes the prototype of getservent_r. 4945 * It is zero if d_getservent_r is undef, and one of the 4946 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r 4947 * is defined. 4948 */ 4949#$d_getservent_r HAS_GETSERVENT_R /**/ 4950#define GETSERVENT_R_PROTO $getservent_r_proto /**/ 4951 4952/* HAS_GETSPNAM_R: 4953 * This symbol, if defined, indicates that the getspnam_r routine 4954 * is available to getspnam re-entrantly. 4955 */ 4956/* GETSPNAM_R_PROTO: 4957 * This symbol encodes the prototype of getspnam_r. 4958 * It is zero if d_getspnam_r is undef, and one of the 4959 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r 4960 * is defined. 4961 */ 4962#$d_getspnam_r HAS_GETSPNAM_R /**/ 4963#define GETSPNAM_R_PROTO $getspnam_r_proto /**/ 4964 4965/* HAS_GMTIME_R: 4966 * This symbol, if defined, indicates that the gmtime_r routine 4967 * is available to gmtime re-entrantly. 4968 */ 4969/* GMTIME_R_PROTO: 4970 * This symbol encodes the prototype of gmtime_r. 4971 * It is zero if d_gmtime_r is undef, and one of the 4972 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r 4973 * is defined. 4974 */ 4975#$d_gmtime_r HAS_GMTIME_R /**/ 4976#define GMTIME_R_PROTO $gmtime_r_proto /**/ 4977 4978/* HAS_LOCALECONV_L: 4979 * This symbol, if defined, indicates that the localeconv_l routine is 4980 * available to query certain information about a locale. 4981 */ 4982#$d_localeconv_l HAS_LOCALECONV_L /**/ 4983 4984/* HAS_LOCALTIME_R: 4985 * This symbol, if defined, indicates that the localtime_r routine 4986 * is available to localtime re-entrantly. 4987 */ 4988/* LOCALTIME_R_NEEDS_TZSET: 4989 * Many libc's localtime_r implementations do not call tzset, 4990 * making them differ from localtime(), and making timezone 4991 * changes using \$ENV{TZ} without explicitly calling tzset 4992 * impossible. This symbol makes us call tzset before localtime_r 4993 */ 4994#$d_localtime_r_needs_tzset LOCALTIME_R_NEEDS_TZSET /**/ 4995#ifdef LOCALTIME_R_NEEDS_TZSET 4996#define L_R_TZSET tzset(), 4997#else 4998#define L_R_TZSET 4999#endif 5000 5001/* L_R_TZSET: 5002 * If localtime_r() needs tzset, it is defined in this define 5003 */ 5004/* LOCALTIME_R_PROTO: 5005 * This symbol encodes the prototype of localtime_r. 5006 * It is zero if d_localtime_r is undef, and one of the 5007 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r 5008 * is defined. 5009 */ 5010#$d_localtime_r HAS_LOCALTIME_R /**/ 5011#define LOCALTIME_R_PROTO $localtime_r_proto /**/ 5012 5013/* HAS_MBRLEN: 5014 * This symbol, if defined, indicates that the mbrlen routine is 5015 * available to get the length of multi-byte character strings. 5016 */ 5017#$d_mbrlen HAS_MBRLEN /**/ 5018 5019/* HAS_MBRTOWC: 5020 * This symbol, if defined, indicates that the mbrtowc routine is 5021 * available to convert a multi-byte character into a wide character. 5022 */ 5023#$d_mbrtowc HAS_MBRTOWC /**/ 5024 5025/* OLD_PTHREAD_CREATE_JOINABLE: 5026 * This symbol, if defined, indicates how to create pthread 5027 * in joinable (aka undetached) state. NOTE: not defined 5028 * if pthread.h already has defined PTHREAD_CREATE_JOINABLE 5029 * (the new version of the constant). 5030 * If defined, known values are PTHREAD_CREATE_UNDETACHED 5031 * and __UNDETACHED. 5032 */ 5033#$d_old_pthread_create_joinable OLD_PTHREAD_CREATE_JOINABLE $old_pthread_create_joinable /**/ 5034 5035/* HAS_PTHREAD_ATFORK: 5036 * This symbol, if defined, indicates that the pthread_atfork routine 5037 * is available to setup fork handlers. 5038 */ 5039#$d_pthread_atfork HAS_PTHREAD_ATFORK /**/ 5040 5041/* HAS_PTHREAD_YIELD: 5042 * This symbol, if defined, indicates that the pthread_yield 5043 * routine is available to yield the execution of the current 5044 * thread. sched_yield is preferable to pthread_yield. 5045 */ 5046/* SCHED_YIELD: 5047 * This symbol defines the way to yield the execution of 5048 * the current thread. Known ways are sched_yield, 5049 * pthread_yield, and pthread_yield with NULL. 5050 */ 5051/* HAS_SCHED_YIELD: 5052 * This symbol, if defined, indicates that the sched_yield 5053 * routine is available to yield the execution of the current 5054 * thread. sched_yield is preferable to pthread_yield. 5055 */ 5056#$d_pthread_yield HAS_PTHREAD_YIELD /**/ 5057#define SCHED_YIELD $sched_yield /**/ 5058#$d_sched_yield HAS_SCHED_YIELD /**/ 5059 5060/* HAS_RANDOM_R: 5061 * This symbol, if defined, indicates that the random_r routine 5062 * is available to random re-entrantly. 5063 */ 5064/* RANDOM_R_PROTO: 5065 * This symbol encodes the prototype of random_r. 5066 * It is zero if d_random_r is undef, and one of the 5067 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r 5068 * is defined. 5069 */ 5070#$d_random_r HAS_RANDOM_R /**/ 5071#define RANDOM_R_PROTO $random_r_proto /**/ 5072 5073/* HAS_READDIR64_R: 5074 * This symbol, if defined, indicates that the readdir64_r routine 5075 * is available to readdir64 re-entrantly. 5076 */ 5077/* READDIR64_R_PROTO: 5078 * This symbol encodes the prototype of readdir64_r. 5079 * It is zero if d_readdir64_r is undef, and one of the 5080 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r 5081 * is defined. 5082 */ 5083#$d_readdir64_r HAS_READDIR64_R /**/ 5084#define READDIR64_R_PROTO $readdir64_r_proto /**/ 5085 5086/* HAS_READDIR_R: 5087 * This symbol, if defined, indicates that the readdir_r routine 5088 * is available to readdir re-entrantly. 5089 */ 5090/* READDIR_R_PROTO: 5091 * This symbol encodes the prototype of readdir_r. 5092 * It is zero if d_readdir_r is undef, and one of the 5093 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r 5094 * is defined. 5095 */ 5096#$d_readdir_r HAS_READDIR_R /**/ 5097#define READDIR_R_PROTO $readdir_r_proto /**/ 5098 5099/* HAS_SETGRENT_R: 5100 * This symbol, if defined, indicates that the setgrent_r routine 5101 * is available to setgrent re-entrantly. 5102 */ 5103/* SETGRENT_R_PROTO: 5104 * This symbol encodes the prototype of setgrent_r. 5105 * It is zero if d_setgrent_r is undef, and one of the 5106 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r 5107 * is defined. 5108 */ 5109#$d_setgrent_r HAS_SETGRENT_R /**/ 5110#define SETGRENT_R_PROTO $setgrent_r_proto /**/ 5111 5112/* HAS_SETHOSTENT_R: 5113 * This symbol, if defined, indicates that the sethostent_r routine 5114 * is available to sethostent re-entrantly. 5115 */ 5116/* SETHOSTENT_R_PROTO: 5117 * This symbol encodes the prototype of sethostent_r. 5118 * It is zero if d_sethostent_r is undef, and one of the 5119 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r 5120 * is defined. 5121 */ 5122#$d_sethostent_r HAS_SETHOSTENT_R /**/ 5123#define SETHOSTENT_R_PROTO $sethostent_r_proto /**/ 5124 5125/* HAS_SETLOCALE_R: 5126 * This symbol, if defined, indicates that the setlocale_r routine 5127 * is available to setlocale re-entrantly. 5128 */ 5129/* SETLOCALE_R_PROTO: 5130 * This symbol encodes the prototype of setlocale_r. 5131 * It is zero if d_setlocale_r is undef, and one of the 5132 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r 5133 * is defined. 5134 */ 5135#$d_setlocale_r HAS_SETLOCALE_R /**/ 5136#define SETLOCALE_R_PROTO $setlocale_r_proto /**/ 5137 5138/* HAS_SETNETENT_R: 5139 * This symbol, if defined, indicates that the setnetent_r routine 5140 * is available to setnetent re-entrantly. 5141 */ 5142/* SETNETENT_R_PROTO: 5143 * This symbol encodes the prototype of setnetent_r. 5144 * It is zero if d_setnetent_r is undef, and one of the 5145 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r 5146 * is defined. 5147 */ 5148#$d_setnetent_r HAS_SETNETENT_R /**/ 5149#define SETNETENT_R_PROTO $setnetent_r_proto /**/ 5150 5151/* HAS_SETPROTOENT_R: 5152 * This symbol, if defined, indicates that the setprotoent_r routine 5153 * is available to setprotoent re-entrantly. 5154 */ 5155/* SETPROTOENT_R_PROTO: 5156 * This symbol encodes the prototype of setprotoent_r. 5157 * It is zero if d_setprotoent_r is undef, and one of the 5158 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r 5159 * is defined. 5160 */ 5161#$d_setprotoent_r HAS_SETPROTOENT_R /**/ 5162#define SETPROTOENT_R_PROTO $setprotoent_r_proto /**/ 5163 5164/* HAS_SETPWENT_R: 5165 * This symbol, if defined, indicates that the setpwent_r routine 5166 * is available to setpwent re-entrantly. 5167 */ 5168/* SETPWENT_R_PROTO: 5169 * This symbol encodes the prototype of setpwent_r. 5170 * It is zero if d_setpwent_r is undef, and one of the 5171 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r 5172 * is defined. 5173 */ 5174#$d_setpwent_r HAS_SETPWENT_R /**/ 5175#define SETPWENT_R_PROTO $setpwent_r_proto /**/ 5176 5177/* HAS_SETSERVENT_R: 5178 * This symbol, if defined, indicates that the setservent_r routine 5179 * is available to setservent re-entrantly. 5180 */ 5181/* SETSERVENT_R_PROTO: 5182 * This symbol encodes the prototype of setservent_r. 5183 * It is zero if d_setservent_r is undef, and one of the 5184 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r 5185 * is defined. 5186 */ 5187#$d_setservent_r HAS_SETSERVENT_R /**/ 5188#define SETSERVENT_R_PROTO $setservent_r_proto /**/ 5189 5190/* HAS_SRAND48_R: 5191 * This symbol, if defined, indicates that the srand48_r routine 5192 * is available to srand48 re-entrantly. 5193 */ 5194/* SRAND48_R_PROTO: 5195 * This symbol encodes the prototype of srand48_r. 5196 * It is zero if d_srand48_r is undef, and one of the 5197 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r 5198 * is defined. 5199 */ 5200#$d_srand48_r HAS_SRAND48_R /**/ 5201#define SRAND48_R_PROTO $srand48_r_proto /**/ 5202 5203/* HAS_SRANDOM_R: 5204 * This symbol, if defined, indicates that the srandom_r routine 5205 * is available to srandom re-entrantly. 5206 */ 5207/* SRANDOM_R_PROTO: 5208 * This symbol encodes the prototype of srandom_r. 5209 * It is zero if d_srandom_r is undef, and one of the 5210 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r 5211 * is defined. 5212 */ 5213#$d_srandom_r HAS_SRANDOM_R /**/ 5214#define SRANDOM_R_PROTO $srandom_r_proto /**/ 5215 5216/* HAS_STRERROR_R: 5217 * This symbol, if defined, indicates that the strerror_r routine 5218 * is available to strerror re-entrantly. 5219 */ 5220/* STRERROR_R_PROTO: 5221 * This symbol encodes the prototype of strerror_r. 5222 * It is zero if d_strerror_r is undef, and one of the 5223 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r 5224 * is defined. 5225 */ 5226#$d_strerror_r HAS_STRERROR_R /**/ 5227#define STRERROR_R_PROTO $strerror_r_proto /**/ 5228 5229/* HAS_STRTOD_L: 5230 * This symbol, if defined, indicates that the strtod_l routine is 5231 * available to convert strings to long doubles. 5232 */ 5233#$d_strtod_l HAS_STRTOD_L /**/ 5234 5235/* HAS_STRTOLD_L: 5236 * This symbol, if defined, indicates that the strtold_l routine is 5237 * available to convert strings to long doubles. 5238 */ 5239#$d_strtold_l HAS_STRTOLD_L /**/ 5240 5241/* PERL_THREAD_LOCAL: 5242 * This symbol, if defined, gives a linkage specification for thread-local 5243 * storage. For example, for a C11 compiler this will be _Thread_local. 5244 * Beware, some compilers are sensitive to the C language standard they are 5245 * told to parse. For example, suncc defaults to C11, so our probe will 5246 * report that _Thread_local can be used. However, if the -std=c99 is later 5247 * added to the compiler flags, then _Thread_local will become a syntax 5248 * error. Hence it is important for these flags to be consistent between 5249 * probing and use. 5250 */ 5251#$d_thread_local PERL_THREAD_LOCAL $perl_thread_local /**/ 5252 5253/* HAS_TMPNAM_R: 5254 * This symbol, if defined, indicates that the tmpnam_r routine 5255 * is available to tmpnam re-entrantly. 5256 */ 5257/* TMPNAM_R_PROTO: 5258 * This symbol encodes the prototype of tmpnam_r. 5259 * It is zero if d_tmpnam_r is undef, and one of the 5260 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r 5261 * is defined. 5262 */ 5263#$d_tmpnam_r HAS_TMPNAM_R /**/ 5264#define TMPNAM_R_PROTO $tmpnam_r_proto /**/ 5265 5266/* HAS_TTYNAME_R: 5267 * This symbol, if defined, indicates that the ttyname_r routine 5268 * is available to ttyname re-entrantly. 5269 */ 5270/* TTYNAME_R_PROTO: 5271 * This symbol encodes the prototype of ttyname_r. 5272 * It is zero if d_ttyname_r is undef, and one of the 5273 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r 5274 * is defined. 5275 */ 5276#$d_ttyname_r HAS_TTYNAME_R /**/ 5277#define TTYNAME_R_PROTO $ttyname_r_proto /**/ 5278 5279/* HAS_WCRTOMB: 5280 * This symbol, if defined, indicates that the wcrtomb routine is 5281 * available to convert a wide character into a multi-byte character. 5282 */ 5283#$d_wcrtomb HAS_WCRTOMB /**/ 5284 5285/* I_MACH_CTHREADS: 5286 * This symbol, if defined, indicates to the C program that it should 5287 * include <mach/cthreads.h>. 5288 */ 5289#$i_machcthr I_MACH_CTHREADS /**/ 5290 5291/* I_PTHREAD: 5292 * This symbol, if defined, indicates to the C program that it should 5293 * include <pthread.h>. 5294 */ 5295#$i_pthread I_PTHREAD /**/ 5296 5297/* USE_ITHREADS: 5298 * This symbol, if defined, indicates that Perl should be built to 5299 * use the interpreter-based threading implementation. 5300 */ 5301/* USE_THREADS: 5302 * This symbol, if defined, indicates that Perl should 5303 * be built to use threads. At present, it is a synonym for 5304 * and USE_ITHREADS, but eventually the source ought to be 5305 * changed to use this to mean _any_ threading implementation. 5306 */ 5307/* OLD_PTHREADS_API: 5308 * This symbol, if defined, indicates that Perl should 5309 * be built to use the old draft POSIX threads API. 5310 */ 5311/* USE_REENTRANT_API: 5312 * This symbol, if defined, indicates that Perl should 5313 * try to use the various _r versions of library functions. 5314 * This is extremely experimental. 5315 */ 5316#$useithreads USE_ITHREADS /**/ 5317#$usethreads USE_THREADS /**/ 5318#$d_oldpthreads OLD_PTHREADS_API /**/ 5319#$usereentrant USE_REENTRANT_API /**/ 5320 5321/* HAS_TIME: 5322 * This symbol, if defined, indicates that the time() routine exists. 5323 */ 5324/* Time_t: 5325 * This symbol holds the type returned by time(). It can be long, 5326 * or time_t on BSD sites (in which case <sys/types.h> should be 5327 * included). 5328 */ 5329#$d_time HAS_TIME /**/ 5330#define Time_t $timetype /* Time type */ 5331 5332/* HAS_TIMES: 5333 * This symbol, if defined, indicates that the times() routine exists. 5334 * Note that this became obsolete on some systems (SUNOS), which now 5335 * use getrusage(). It may be necessary to include <sys/times.h>. 5336 */ 5337#$d_times HAS_TIMES /**/ 5338 5339/* Fpos_t: 5340 * This symbol holds the type used to declare file positions in libc. 5341 * It can be fpos_t, long, uint, etc... It may be necessary to include 5342 * <sys/types.h> to get any typedef'ed information. 5343 */ 5344#define Fpos_t $fpostype /* File position type */ 5345 5346/* Gid_t_f: 5347 * This symbol defines the format string used for printing a Gid_t. 5348 */ 5349#define Gid_t_f $gidformat /**/ 5350 5351/* Gid_t_sign: 5352 * This symbol holds the signedness of a Gid_t. 5353 * 1 for unsigned, -1 for signed. 5354 */ 5355#define Gid_t_sign $gidsign /* GID sign */ 5356 5357/* Gid_t_size: 5358 * This symbol holds the size of a Gid_t in bytes. 5359 */ 5360#define Gid_t_size $gidsize /* GID size */ 5361 5362/* Gid_t: 5363 * This symbol holds the return type of getgid() and the type of 5364 * argument to setrgid() and related functions. Typically, 5365 * it is the type of group ids in the kernel. It can be int, ushort, 5366 * gid_t, etc... It may be necessary to include <sys/types.h> to get 5367 * any typedef'ed information. 5368 */ 5369#define Gid_t $gidtype /* Type for getgid(), etc... */ 5370 5371/* Off_t: 5372 * This symbol holds the type used to declare offsets in the kernel. 5373 * It can be int, long, off_t, etc... It may be necessary to include 5374 * <sys/types.h> to get any typedef'ed information. 5375 */ 5376/* LSEEKSIZE: 5377 * This symbol holds the number of bytes used by the Off_t. 5378 */ 5379/* Off_t_size: 5380 * This symbol holds the number of bytes used by the Off_t. 5381 */ 5382#define Off_t $lseektype /* <offset> type */ 5383#define LSEEKSIZE $lseeksize /* <offset> size */ 5384#define Off_t_size $lseeksize /* <offset> size */ 5385 5386/* Mode_t: 5387 * This symbol holds the type used to declare file modes 5388 * for systems calls. It is usually mode_t, but may be 5389 * int or unsigned short. It may be necessary to include <sys/types.h> 5390 * to get any typedef'ed information. 5391 */ 5392#define Mode_t $modetype /* file mode parameter for system calls */ 5393 5394/* Pid_t: 5395 * This symbol holds the type used to declare process ids in the kernel. 5396 * It can be int, uint, pid_t, etc... It may be necessary to include 5397 * <sys/types.h> to get any typedef'ed information. 5398 */ 5399#define Pid_t $pidtype /* PID type */ 5400 5401/* Size_t_size: 5402 * This symbol holds the size of a Size_t in bytes. 5403 */ 5404#define Size_t_size $sizesize /**/ 5405 5406/* Size_t: 5407 * This symbol holds the type used to declare length parameters 5408 * for string functions. It is usually size_t, but may be 5409 * unsigned long, int, etc. It may be necessary to include 5410 * <sys/types.h> to get any typedef'ed information. 5411 */ 5412#define Size_t $sizetype /* length parameter for string functions */ 5413 5414/* Uid_t_f: 5415 * This symbol defines the format string used for printing a Uid_t. 5416 */ 5417#define Uid_t_f $uidformat /**/ 5418 5419/* Uid_t_sign: 5420 * This symbol holds the signedness of a Uid_t. 5421 * 1 for unsigned, -1 for signed. 5422 */ 5423#define Uid_t_sign $uidsign /* UID sign */ 5424 5425/* Uid_t_size: 5426 * This symbol holds the size of a Uid_t in bytes. 5427 */ 5428#define Uid_t_size $uidsize /* UID size */ 5429 5430/* Uid_t: 5431 * This symbol holds the type used to declare user ids in the kernel. 5432 * It can be int, ushort, uid_t, etc... It may be necessary to include 5433 * <sys/types.h> to get any typedef'ed information. 5434 */ 5435#define Uid_t $uidtype /* UID type */ 5436 5437#endif 5438!GROK!THIS! 5439;; 5440esac 5441