1*60128Selan: make config.h.SH 2*60128Selancase $CONFIG in 3*60128Selan'') 4*60128Selan if test ! -f config.sh; then 5*60128Selan ln ../config.sh . || \ 6*60128Selan ln ../../config.sh . || \ 7*60128Selan ln ../../../config.sh . || \ 8*60128Selan (echo "Can't find config.sh."; exit 1) 9*60128Selan echo "Using config.sh from above..." 10*60128Selan fi 2>/dev/null 11*60128Selan . ./config.sh 12*60128Selan ;; 13*60128Selanesac 14*60128Selanecho "Extracting config.h (with variable substitutions)" 15*60128Selansed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' 16*60128Selan#ifndef config_h 17*60128Selan#define config_h 18*60128Selan/* config.h 19*60128Selan * This file was produced by running the config.h.SH script, which 20*60128Selan * gets its values from config.sh, which is generally produced by 21*60128Selan * running Configure. 22*60128Selan * 23*60128Selan * Feel free to modify any of this as the need arises. Note, however, 24*60128Selan * that running config.h.SH again will wipe out any changes you've made. 25*60128Selan * For a more permanent change edit config.sh and rerun config.h.SH. 26*60128Selan */ 27*60128Selan /*SUPPRESS 460*/ 28*60128Selan 29*60128Selan 30*60128Selan/* EUNICE 31*60128Selan * This symbol, if defined, indicates that the program is being compiled 32*60128Selan * under the EUNICE package under VMS. The program will need to handle 33*60128Selan * things like files that don't go away the first time you unlink them, 34*60128Selan * due to version numbering. It will also need to compensate for lack 35*60128Selan * of a respectable link() command. 36*60128Selan */ 37*60128Selan/* VMS 38*60128Selan * This symbol, if defined, indicates that the program is running under 39*60128Selan * VMS. It is currently only set in conjunction with the EUNICE symbol. 40*60128Selan */ 41*60128Selan#$d_eunice EUNICE /**/ 42*60128Selan#$d_eunice VMS /**/ 43*60128Selan 44*60128Selan/* LOC_SED 45*60128Selan * This symbol holds the complete pathname to the sed program. 46*60128Selan */ 47*60128Selan#define LOC_SED "$sed" /**/ 48*60128Selan 49*60128Selan/* BIN 50*60128Selan * This symbol holds the name of the directory in which the user wants 51*60128Selan * to keep publicly executable images for the package in question. It 52*60128Selan * is most often a local directory such as /usr/local/bin. 53*60128Selan */ 54*60128Selan#define BIN "$bin" /**/ 55*60128Selan 56*60128Selan/* BYTEORDER 57*60128Selan * This symbol contains an encoding of the order of bytes in a long. 58*60128Selan * Usual values (in hex) are 0x1234, 0x4321, 0x2143, 0x3412... 59*60128Selan */ 60*60128Selan#define BYTEORDER 0x$byteorder /**/ 61*60128Selan 62*60128Selan/* CPPSTDIN 63*60128Selan * This symbol contains the first part of the string which will invoke 64*60128Selan * the C preprocessor on the standard input and produce to standard 65*60128Selan * output. Typical value of "cc -E" or "/lib/cpp". 66*60128Selan */ 67*60128Selan/* CPPMINUS 68*60128Selan * This symbol contains the second part of the string which will invoke 69*60128Selan * the C preprocessor on the standard input and produce to standard 70*60128Selan * output. This symbol will have the value "-" if CPPSTDIN needs a minus 71*60128Selan * to specify standard input, otherwise the value is "". 72*60128Selan */ 73*60128Selan#define CPPSTDIN "$cppstdin" 74*60128Selan#define CPPMINUS "$cppminus" 75*60128Selan 76*60128Selan/* HAS_BCMP 77*60128Selan * This symbol, if defined, indicates that the bcmp routine is available 78*60128Selan * to compare blocks of memory. If undefined, use memcmp. If that's 79*60128Selan * not available, roll your own. 80*60128Selan */ 81*60128Selan#$d_bcmp HAS_BCMP /**/ 82*60128Selan 83*60128Selan/* HAS_BCOPY 84*60128Selan * This symbol, if defined, indicates that the bcopy routine is available 85*60128Selan * to copy blocks of memory. Otherwise you should probably use memcpy(). 86*60128Selan * If neither is defined, roll your own. 87*60128Selan */ 88*60128Selan/* SAFE_BCOPY 89*60128Selan * This symbol, if defined, indicates that the bcopy routine is available 90*60128Selan * to copy potentially overlapping copy blocks of bcopy. Otherwise you 91*60128Selan * should probably use memmove() or memcpy(). If neither is defined, 92*60128Selan * roll your own. 93*60128Selan */ 94*60128Selan#$d_bcopy HAS_BCOPY /**/ 95*60128Selan#$d_safebcpy SAFE_BCOPY /**/ 96*60128Selan 97*60128Selan/* HAS_BZERO 98*60128Selan * This symbol, if defined, indicates that the bzero routine is available 99*60128Selan * to zero blocks of memory. Otherwise you should probably use memset() 100*60128Selan * or roll your own. 101*60128Selan */ 102*60128Selan#$d_bzero HAS_BZERO /**/ 103*60128Selan 104*60128Selan/* CASTNEGFLOAT 105*60128Selan * This symbol, if defined, indicates that this C compiler knows how to 106*60128Selan * cast negative or large floating point numbers to unsigned longs, ints 107*60128Selan * and shorts. 108*60128Selan */ 109*60128Selan/* CASTFLAGS 110*60128Selan * This symbol contains flags that say what difficulties the compiler 111*60128Selan * has casting odd floating values to unsigned long: 112*60128Selan * 1 = couldn't cast < 0 113*60128Selan * 2 = couldn't cast >= 0x80000000 114*60128Selan */ 115*60128Selan#$d_castneg CASTNEGFLOAT /**/ 116*60128Selan#define CASTFLAGS $castflags /**/ 117*60128Selan 118*60128Selan/* CHARSPRINTF 119*60128Selan * This symbol is defined if this system declares "char *sprintf()" in 120*60128Selan * stdio.h. The trend seems to be to declare it as "int sprintf()". It 121*60128Selan * is up to the package author to declare sprintf correctly based on the 122*60128Selan * symbol. 123*60128Selan */ 124*60128Selan#$d_charsprf CHARSPRINTF /**/ 125*60128Selan 126*60128Selan/* HAS_CHSIZE 127*60128Selan * This symbol, if defined, indicates that the chsize routine is available 128*60128Selan * to truncate files. You might need a -lx to get this routine. 129*60128Selan */ 130*60128Selan#$d_chsize HAS_CHSIZE /**/ 131*60128Selan 132*60128Selan/* HAS_CRYPT 133*60128Selan * This symbol, if defined, indicates that the crypt routine is available 134*60128Selan * to encrypt passwords and the like. 135*60128Selan */ 136*60128Selan#$d_crypt HAS_CRYPT /**/ 137*60128Selan 138*60128Selan/* CSH 139*60128Selan * This symbol, if defined, indicates that the C-shell exists. 140*60128Selan * If defined, contains the full pathname of csh. 141*60128Selan */ 142*60128Selan#$d_csh CSH "$csh" /**/ 143*60128Selan 144*60128Selan/* DOSUID 145*60128Selan * This symbol, if defined, indicates that the C program should 146*60128Selan * check the script that it is executing for setuid/setgid bits, and 147*60128Selan * attempt to emulate setuid/setgid on systems that have disabled 148*60128Selan * setuid #! scripts because the kernel can't do it securely. 149*60128Selan * It is up to the package designer to make sure that this emulation 150*60128Selan * is done securely. Among other things, it should do an fstat on 151*60128Selan * the script it just opened to make sure it really is a setuid/setgid 152*60128Selan * script, it should make sure the arguments passed correspond exactly 153*60128Selan * to the argument on the #! line, and it should not trust any 154*60128Selan * subprocesses to which it must pass the filename rather than the 155*60128Selan * file descriptor of the script to be executed. 156*60128Selan */ 157*60128Selan#$d_dosuid DOSUID /**/ 158*60128Selan 159*60128Selan/* HAS_DUP2 160*60128Selan * This symbol, if defined, indicates that the dup2 routine is available 161*60128Selan * to dup file descriptors. Otherwise you should use dup(). 162*60128Selan */ 163*60128Selan#$d_dup2 HAS_DUP2 /**/ 164*60128Selan 165*60128Selan/* HAS_FCHMOD 166*60128Selan * This symbol, if defined, indicates that the fchmod routine is available 167*60128Selan * to change mode of opened files. If unavailable, use chmod(). 168*60128Selan */ 169*60128Selan#$d_fchmod HAS_FCHMOD /**/ 170*60128Selan 171*60128Selan/* HAS_FCHOWN 172*60128Selan * This symbol, if defined, indicates that the fchown routine is available 173*60128Selan * to change ownership of opened files. If unavailable, use chown(). 174*60128Selan */ 175*60128Selan#$d_fchown HAS_FCHOWN /**/ 176*60128Selan 177*60128Selan/* HAS_FCNTL 178*60128Selan * This symbol, if defined, indicates to the C program that 179*60128Selan * the fcntl() function exists. 180*60128Selan */ 181*60128Selan#$d_fcntl HAS_FCNTL /**/ 182*60128Selan 183*60128Selan/* FLEXFILENAMES 184*60128Selan * This symbol, if defined, indicates that the system supports filenames 185*60128Selan * longer than 14 characters. 186*60128Selan */ 187*60128Selan#$d_flexfnam FLEXFILENAMES /**/ 188*60128Selan 189*60128Selan/* HAS_FLOCK 190*60128Selan * This symbol, if defined, indicates that the flock() routine is 191*60128Selan * available to do file locking. 192*60128Selan */ 193*60128Selan#$d_flock HAS_FLOCK /**/ 194*60128Selan 195*60128Selan/* HAS_GETGROUPS 196*60128Selan * This symbol, if defined, indicates that the getgroups() routine is 197*60128Selan * available to get the list of process groups. If unavailable, multiple 198*60128Selan * groups are probably not supported. 199*60128Selan */ 200*60128Selan#$d_getgrps HAS_GETGROUPS /**/ 201*60128Selan 202*60128Selan/* HAS_GETHOSTENT 203*60128Selan * This symbol, if defined, indicates that the gethostent() routine is 204*60128Selan * available to lookup host names in some data base or other. 205*60128Selan */ 206*60128Selan#$d_gethent HAS_GETHOSTENT /**/ 207*60128Selan 208*60128Selan/* HAS_GETPGRP 209*60128Selan * This symbol, if defined, indicates that the getpgrp() routine is 210*60128Selan * available to get the current process group. 211*60128Selan */ 212*60128Selan#$d_getpgrp HAS_GETPGRP /**/ 213*60128Selan 214*60128Selan/* HAS_GETPGRP2 215*60128Selan * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) 216*60128Selan * routine is available to get the current process group. 217*60128Selan */ 218*60128Selan#$d_getpgrp2 HAS_GETPGRP2 /**/ 219*60128Selan 220*60128Selan/* HAS_GETPRIORITY 221*60128Selan * This symbol, if defined, indicates that the getpriority() routine is 222*60128Selan * available to get a process's priority. 223*60128Selan */ 224*60128Selan#$d_getprior HAS_GETPRIORITY /**/ 225*60128Selan 226*60128Selan/* HAS_HTONS 227*60128Selan * This symbol, if defined, indicates that the htons routine (and friends) 228*60128Selan * are available to do network order byte swapping. 229*60128Selan */ 230*60128Selan/* HAS_HTONL 231*60128Selan * This symbol, if defined, indicates that the htonl routine (and friends) 232*60128Selan * are available to do network order byte swapping. 233*60128Selan */ 234*60128Selan/* HAS_NTOHS 235*60128Selan * This symbol, if defined, indicates that the ntohs routine (and friends) 236*60128Selan * are available to do network order byte swapping. 237*60128Selan */ 238*60128Selan/* HAS_NTOHL 239*60128Selan * This symbol, if defined, indicates that the ntohl routine (and friends) 240*60128Selan * are available to do network order byte swapping. 241*60128Selan */ 242*60128Selan#$d_htonl HAS_HTONS /**/ 243*60128Selan#$d_htonl HAS_HTONL /**/ 244*60128Selan#$d_htonl HAS_NTOHS /**/ 245*60128Selan#$d_htonl HAS_NTOHL /**/ 246*60128Selan 247*60128Selan/* index 248*60128Selan * This preprocessor symbol is defined, along with rindex, if the system 249*60128Selan * uses the strchr and strrchr routines instead. 250*60128Selan */ 251*60128Selan/* rindex 252*60128Selan * This preprocessor symbol is defined, along with index, if the system 253*60128Selan * uses the strchr and strrchr routines instead. 254*60128Selan */ 255*60128Selan#$d_index index strchr /* cultural */ 256*60128Selan#$d_index rindex strrchr /* differences? */ 257*60128Selan 258*60128Selan/* HAS_ISASCII 259*60128Selan * This symbol, if defined, indicates that the isascii routine is available 260*60128Selan * to test characters for asciiness. 261*60128Selan */ 262*60128Selan#$d_isascii HAS_ISASCII /**/ 263*60128Selan 264*60128Selan/* HAS_KILLPG 265*60128Selan * This symbol, if defined, indicates that the killpg routine is available 266*60128Selan * to kill process groups. If unavailable, you probably should use kill 267*60128Selan * with a negative process number. 268*60128Selan */ 269*60128Selan#$d_killpg HAS_KILLPG /**/ 270*60128Selan 271*60128Selan/* HAS_LSTAT 272*60128Selan * This symbol, if defined, indicates that the lstat() routine is 273*60128Selan * available to stat symbolic links. 274*60128Selan */ 275*60128Selan#$d_lstat HAS_LSTAT /**/ 276*60128Selan 277*60128Selan/* HAS_MEMCMP 278*60128Selan * This symbol, if defined, indicates that the memcmp routine is available 279*60128Selan * to compare blocks of memory. If undefined, roll your own. 280*60128Selan */ 281*60128Selan#$d_memcmp HAS_MEMCMP /**/ 282*60128Selan 283*60128Selan/* HAS_MEMCPY 284*60128Selan * This symbol, if defined, indicates that the memcpy routine is available 285*60128Selan * to copy blocks of memory. Otherwise you should probably use bcopy(). 286*60128Selan * If neither is defined, roll your own. 287*60128Selan */ 288*60128Selan/* SAFE_MEMCPY 289*60128Selan * This symbol, if defined, indicates that the memcpy routine is available 290*60128Selan * to copy potentially overlapping copy blocks of memory. Otherwise you 291*60128Selan * should probably use memmove() or bcopy(). If neither is defined, 292*60128Selan * roll your own. 293*60128Selan */ 294*60128Selan#$d_memcpy HAS_MEMCPY /**/ 295*60128Selan#$d_safemcpy SAFE_MEMCPY /**/ 296*60128Selan 297*60128Selan/* HAS_MEMMOVE 298*60128Selan * This symbol, if defined, indicates that the memmove routine is available 299*60128Selan * to move potentially overlapping blocks of memory. Otherwise you 300*60128Selan * should use bcopy() or roll your own. 301*60128Selan */ 302*60128Selan#$d_memmove HAS_MEMMOVE /**/ 303*60128Selan 304*60128Selan/* HAS_MEMSET 305*60128Selan * This symbol, if defined, indicates that the memset routine is available 306*60128Selan * to set a block of memory to a character. If undefined, roll your own. 307*60128Selan */ 308*60128Selan#$d_memset HAS_MEMSET /**/ 309*60128Selan 310*60128Selan/* HAS_MKDIR 311*60128Selan * This symbol, if defined, indicates that the mkdir routine is available 312*60128Selan * to create directories. Otherwise you should fork off a new process to 313*60128Selan * exec /bin/mkdir. 314*60128Selan */ 315*60128Selan#$d_mkdir HAS_MKDIR /**/ 316*60128Selan 317*60128Selan/* HAS_MSG 318*60128Selan * This symbol, if defined, indicates that the entire msg*(2) library is 319*60128Selan * supported. 320*60128Selan */ 321*60128Selan#$d_msg HAS_MSG /**/ 322*60128Selan 323*60128Selan/* HAS_MSGCTL 324*60128Selan * This symbol, if defined, indicates that the msgctl() routine is 325*60128Selan * available to control message passing. 326*60128Selan */ 327*60128Selan#$d_msgctl HAS_MSGCTL /**/ 328*60128Selan 329*60128Selan/* HAS_MSGGET 330*60128Selan * This symbol, if defined, indicates that the msgget() routine is 331*60128Selan * available to get messages. 332*60128Selan */ 333*60128Selan#$d_msgget HAS_MSGGET /**/ 334*60128Selan 335*60128Selan/* HAS_MSGRCV 336*60128Selan * This symbol, if defined, indicates that the msgrcv() routine is 337*60128Selan * available to receive messages. 338*60128Selan */ 339*60128Selan#$d_msgrcv HAS_MSGRCV /**/ 340*60128Selan 341*60128Selan/* HAS_MSGSND 342*60128Selan * This symbol, if defined, indicates that the msgsnd() routine is 343*60128Selan * available to send messages. 344*60128Selan */ 345*60128Selan#$d_msgsnd HAS_MSGSND /**/ 346*60128Selan 347*60128Selan/* HAS_NDBM 348*60128Selan * This symbol, if defined, indicates that ndbm.h exists and should 349*60128Selan * be included. 350*60128Selan */ 351*60128Selan#$d_ndbm HAS_NDBM /**/ 352*60128Selan 353*60128Selan/* HAS_ODBM 354*60128Selan * This symbol, if defined, indicates that dbm.h exists and should 355*60128Selan * be included. 356*60128Selan */ 357*60128Selan#$d_odbm HAS_ODBM /**/ 358*60128Selan 359*60128Selan/* HAS_OPEN3 360*60128Selan * This manifest constant lets the C program know that the three 361*60128Selan * argument form of open(2) is available. 362*60128Selan */ 363*60128Selan#$d_open3 HAS_OPEN3 /**/ 364*60128Selan 365*60128Selan/* HAS_READDIR 366*60128Selan * This symbol, if defined, indicates that the readdir routine is available 367*60128Selan * from the C library to read directories. 368*60128Selan */ 369*60128Selan#$d_readdir HAS_READDIR /**/ 370*60128Selan 371*60128Selan/* HAS_RENAME 372*60128Selan * This symbol, if defined, indicates that the rename routine is available 373*60128Selan * to rename files. Otherwise you should do the unlink(), link(), unlink() 374*60128Selan * trick. 375*60128Selan */ 376*60128Selan#$d_rename HAS_RENAME /**/ 377*60128Selan 378*60128Selan/* HAS_REWINDDIR 379*60128Selan * This symbol, if defined, indicates that the rewindir routine is 380*60128Selan * available to rewind directories. 381*60128Selan */ 382*60128Selan#$d_rewindir HAS_REWINDDIR /**/ 383*60128Selan 384*60128Selan/* HAS_RMDIR 385*60128Selan * This symbol, if defined, indicates that the rmdir routine is available 386*60128Selan * to remove directories. Otherwise you should fork off a new process to 387*60128Selan * exec /bin/rmdir. 388*60128Selan */ 389*60128Selan#$d_rmdir HAS_RMDIR /**/ 390*60128Selan 391*60128Selan/* HAS_SEEKDIR 392*60128Selan * This symbol, if defined, indicates that the seekdir routine is 393*60128Selan * available to seek into directories. 394*60128Selan */ 395*60128Selan#$d_seekdir HAS_SEEKDIR /**/ 396*60128Selan 397*60128Selan/* HAS_SELECT 398*60128Selan * This symbol, if defined, indicates that the select() subroutine 399*60128Selan * exists. 400*60128Selan */ 401*60128Selan#$d_select HAS_SELECT /**/ 402*60128Selan 403*60128Selan/* HAS_SEM 404*60128Selan * This symbol, if defined, indicates that the entire sem*(2) library is 405*60128Selan * supported. 406*60128Selan */ 407*60128Selan#$d_sem HAS_SEM /**/ 408*60128Selan 409*60128Selan/* HAS_SEMCTL 410*60128Selan * This symbol, if defined, indicates that the semctl() routine is 411*60128Selan * available to control semaphores. 412*60128Selan */ 413*60128Selan#$d_semctl HAS_SEMCTL /**/ 414*60128Selan 415*60128Selan/* HAS_SEMGET 416*60128Selan * This symbol, if defined, indicates that the semget() routine is 417*60128Selan * available to get semaphores ids. 418*60128Selan */ 419*60128Selan#$d_semget HAS_SEMGET /**/ 420*60128Selan 421*60128Selan/* HAS_SEMOP 422*60128Selan * This symbol, if defined, indicates that the semop() routine is 423*60128Selan * available to perform semaphore operations. 424*60128Selan */ 425*60128Selan#$d_semop HAS_SEMOP /**/ 426*60128Selan 427*60128Selan/* HAS_SETEGID 428*60128Selan * This symbol, if defined, indicates that the setegid routine is available 429*60128Selan * to change the effective gid of the current program. 430*60128Selan */ 431*60128Selan#$d_setegid HAS_SETEGID /**/ 432*60128Selan 433*60128Selan/* HAS_SETEUID 434*60128Selan * This symbol, if defined, indicates that the seteuid routine is available 435*60128Selan * to change the effective uid of the current program. 436*60128Selan */ 437*60128Selan#$d_seteuid HAS_SETEUID /**/ 438*60128Selan 439*60128Selan/* HAS_SETPGRP 440*60128Selan * This symbol, if defined, indicates that the setpgrp() routine is 441*60128Selan * available to set the current process group. 442*60128Selan */ 443*60128Selan#$d_setpgrp HAS_SETPGRP /**/ 444*60128Selan 445*60128Selan/* HAS_SETPGRP2 446*60128Selan * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) 447*60128Selan * routine is available to set the current process group. 448*60128Selan */ 449*60128Selan#$d_setpgrp2 HAS_SETPGRP2 /**/ 450*60128Selan 451*60128Selan/* HAS_SETPRIORITY 452*60128Selan * This symbol, if defined, indicates that the setpriority() routine is 453*60128Selan * available to set a process's priority. 454*60128Selan */ 455*60128Selan#$d_setprior HAS_SETPRIORITY /**/ 456*60128Selan 457*60128Selan/* HAS_SETREGID 458*60128Selan * This symbol, if defined, indicates that the setregid routine is 459*60128Selan * available to change the real and effective gid of the current program. 460*60128Selan */ 461*60128Selan/* HAS_SETRESGID 462*60128Selan * This symbol, if defined, indicates that the setresgid routine is 463*60128Selan * available to change the real, effective and saved gid of the current 464*60128Selan * program. 465*60128Selan */ 466*60128Selan#$d_setregid HAS_SETREGID /**/ 467*60128Selan#$d_setresgid HAS_SETRESGID /**/ 468*60128Selan 469*60128Selan/* HAS_SETREUID 470*60128Selan * This symbol, if defined, indicates that the setreuid routine is 471*60128Selan * available to change the real and effective uid of the current program. 472*60128Selan */ 473*60128Selan/* HAS_SETRESUID 474*60128Selan * This symbol, if defined, indicates that the setresuid routine is 475*60128Selan * available to change the real, effective and saved uid of the current 476*60128Selan * program. 477*60128Selan */ 478*60128Selan#$d_setreuid HAS_SETREUID /**/ 479*60128Selan#$d_setresuid HAS_SETRESUID /**/ 480*60128Selan 481*60128Selan/* HAS_SETRGID 482*60128Selan * This symbol, if defined, indicates that the setrgid routine is available 483*60128Selan * to change the real gid of the current program. 484*60128Selan */ 485*60128Selan#$d_setrgid HAS_SETRGID /**/ 486*60128Selan 487*60128Selan/* HAS_SETRUID 488*60128Selan * This symbol, if defined, indicates that the setruid routine is available 489*60128Selan * to change the real uid of the current program. 490*60128Selan */ 491*60128Selan#$d_setruid HAS_SETRUID /**/ 492*60128Selan 493*60128Selan/* HAS_SHM 494*60128Selan * This symbol, if defined, indicates that the entire shm*(2) library is 495*60128Selan * supported. 496*60128Selan */ 497*60128Selan#$d_shm HAS_SHM /**/ 498*60128Selan 499*60128Selan/* HAS_SHMAT 500*60128Selan * This symbol, if defined, indicates that the shmat() routine is 501*60128Selan * available to attach a shared memory segment. 502*60128Selan */ 503*60128Selan/* VOID_SHMAT 504*60128Selan * This symbol, if defined, indicates that the shmat() routine 505*60128Selan * returns a pointer of type void*. 506*60128Selan */ 507*60128Selan#$d_shmat HAS_SHMAT /**/ 508*60128Selan 509*60128Selan#$d_voidshmat VOIDSHMAT /**/ 510*60128Selan 511*60128Selan/* HAS_SHMCTL 512*60128Selan * This symbol, if defined, indicates that the shmctl() routine is 513*60128Selan * available to control a shared memory segment. 514*60128Selan */ 515*60128Selan#$d_shmctl HAS_SHMCTL /**/ 516*60128Selan 517*60128Selan/* HAS_SHMDT 518*60128Selan * This symbol, if defined, indicates that the shmdt() routine is 519*60128Selan * available to detach a shared memory segment. 520*60128Selan */ 521*60128Selan#$d_shmdt HAS_SHMDT /**/ 522*60128Selan 523*60128Selan/* HAS_SHMGET 524*60128Selan * This symbol, if defined, indicates that the shmget() routine is 525*60128Selan * available to get a shared memory segment id. 526*60128Selan */ 527*60128Selan#$d_shmget HAS_SHMGET /**/ 528*60128Selan 529*60128Selan/* HAS_SOCKET 530*60128Selan * This symbol, if defined, indicates that the BSD socket interface is 531*60128Selan * supported. 532*60128Selan */ 533*60128Selan/* HAS_SOCKETPAIR 534*60128Selan * This symbol, if defined, indicates that the BSD socketpair call is 535*60128Selan * supported. 536*60128Selan */ 537*60128Selan/* OLDSOCKET 538*60128Selan * This symbol, if defined, indicates that the 4.1c BSD socket interface 539*60128Selan * is supported instead of the 4.2/4.3 BSD socket interface. 540*60128Selan */ 541*60128Selan#$d_socket HAS_SOCKET /**/ 542*60128Selan 543*60128Selan#$d_sockpair HAS_SOCKETPAIR /**/ 544*60128Selan 545*60128Selan#$d_oldsock OLDSOCKET /**/ 546*60128Selan 547*60128Selan/* STATBLOCKS 548*60128Selan * This symbol is defined if this system has a stat structure declaring 549*60128Selan * st_blksize and st_blocks. 550*60128Selan */ 551*60128Selan#$d_statblks STATBLOCKS /**/ 552*60128Selan 553*60128Selan/* STDSTDIO 554*60128Selan * This symbol is defined if this system has a FILE structure declaring 555*60128Selan * _ptr and _cnt in stdio.h. 556*60128Selan */ 557*60128Selan#$d_stdstdio STDSTDIO /**/ 558*60128Selan 559*60128Selan/* STRUCTCOPY 560*60128Selan * This symbol, if defined, indicates that this C compiler knows how 561*60128Selan * to copy structures. If undefined, you'll need to use a block copy 562*60128Selan * routine of some sort instead. 563*60128Selan */ 564*60128Selan#$d_strctcpy STRUCTCOPY /**/ 565*60128Selan 566*60128Selan/* HAS_STRERROR 567*60128Selan * This symbol, if defined, indicates that the strerror() routine is 568*60128Selan * available to translate error numbers to strings. 569*60128Selan */ 570*60128Selan#$d_strerror HAS_STRERROR /**/ 571*60128Selan 572*60128Selan/* HAS_SYMLINK 573*60128Selan * This symbol, if defined, indicates that the symlink routine is available 574*60128Selan * to create symbolic links. 575*60128Selan */ 576*60128Selan#$d_symlink HAS_SYMLINK /**/ 577*60128Selan 578*60128Selan/* HAS_SYSCALL 579*60128Selan * This symbol, if defined, indicates that the syscall routine is available 580*60128Selan * to call arbitrary system calls. If undefined, that's tough. 581*60128Selan */ 582*60128Selan#$d_syscall HAS_SYSCALL /**/ 583*60128Selan 584*60128Selan/* HAS_TELLDIR 585*60128Selan * This symbol, if defined, indicates that the telldir routine is 586*60128Selan * available to tell your location in directories. 587*60128Selan */ 588*60128Selan#$d_telldir HAS_TELLDIR /**/ 589*60128Selan 590*60128Selan/* HAS_TRUNCATE 591*60128Selan * This symbol, if defined, indicates that the truncate routine is 592*60128Selan * available to truncate files. 593*60128Selan */ 594*60128Selan#$d_truncate HAS_TRUNCATE /**/ 595*60128Selan 596*60128Selan/* HAS_VFORK 597*60128Selan * This symbol, if defined, indicates that vfork() exists. 598*60128Selan */ 599*60128Selan#$d_vfork HAS_VFORK /**/ 600*60128Selan 601*60128Selan/* VOIDSIG 602*60128Selan * This symbol is defined if this system declares "void (*signal())()" in 603*60128Selan * signal.h. The old way was to declare it as "int (*signal())()". It 604*60128Selan * is up to the package author to declare things correctly based on the 605*60128Selan * symbol. 606*60128Selan */ 607*60128Selan/* TO_SIGNAL 608*60128Selan * This symbol's value is either "void" or "int", corresponding to the 609*60128Selan * appropriate return "type" of a signal handler. Thus, one can declare 610*60128Selan * a signal handler using "TO_SIGNAL (*handler())()", and define the 611*60128Selan * handler using "TO_SIGNAL handler(sig)". 612*60128Selan */ 613*60128Selan#$d_voidsig VOIDSIG /**/ 614*60128Selan#$define TO_SIGNAL $d_tosignal /**/ 615*60128Selan 616*60128Selan/* HASVOLATILE 617*60128Selan * This symbol, if defined, indicates that this C compiler knows about 618*60128Selan * the volatile declaration. 619*60128Selan */ 620*60128Selan#$d_volatile HASVOLATILE /**/ 621*60128Selan 622*60128Selan/* HAS_VPRINTF 623*60128Selan * This symbol, if defined, indicates that the vprintf routine is available 624*60128Selan * to printf with a pointer to an argument list. If unavailable, you 625*60128Selan * may need to write your own, probably in terms of _doprnt(). 626*60128Selan */ 627*60128Selan/* CHARVSPRINTF 628*60128Selan * This symbol is defined if this system has vsprintf() returning type 629*60128Selan * (char*). The trend seems to be to declare it as "int vsprintf()". It 630*60128Selan * is up to the package author to declare vsprintf correctly based on the 631*60128Selan * symbol. 632*60128Selan */ 633*60128Selan#$d_vprintf HAS_VPRINTF /**/ 634*60128Selan#$d_charvspr CHARVSPRINTF /**/ 635*60128Selan 636*60128Selan/* HAS_WAIT4 637*60128Selan * This symbol, if defined, indicates that wait4() exists. 638*60128Selan */ 639*60128Selan#$d_wait4 HAS_WAIT4 /**/ 640*60128Selan 641*60128Selan/* HAS_WAITPID 642*60128Selan * This symbol, if defined, indicates that waitpid() exists. 643*60128Selan */ 644*60128Selan#$d_waitpid HAS_WAITPID /**/ 645*60128Selan 646*60128Selan/* GIDTYPE 647*60128Selan * This symbol has a value like gid_t, int, ushort, or whatever type is 648*60128Selan * used to declare group ids in the kernel. 649*60128Selan */ 650*60128Selan#define GIDTYPE $gidtype /**/ 651*60128Selan 652*60128Selan/* GROUPSTYPE 653*60128Selan * This symbol has a value like gid_t, int, ushort, or whatever type is 654*60128Selan * used in the return value of getgroups(). 655*60128Selan */ 656*60128Selan#define GROUPSTYPE $groupstype /**/ 657*60128Selan 658*60128Selan/* I_FCNTL 659*60128Selan * This manifest constant tells the C program to include <fcntl.h>. 660*60128Selan */ 661*60128Selan#$i_fcntl I_FCNTL /**/ 662*60128Selan 663*60128Selan/* I_GDBM 664*60128Selan * This symbol, if defined, indicates that gdbm.h exists and should 665*60128Selan * be included. 666*60128Selan */ 667*60128Selan#$i_gdbm I_GDBM /**/ 668*60128Selan 669*60128Selan/* I_GRP 670*60128Selan * This symbol, if defined, indicates to the C program that it should 671*60128Selan * include grp.h. 672*60128Selan */ 673*60128Selan#$i_grp I_GRP /**/ 674*60128Selan 675*60128Selan/* I_NETINET_IN 676*60128Selan * This symbol, if defined, indicates to the C program that it should 677*60128Selan * include netinet/in.h. 678*60128Selan */ 679*60128Selan/* I_SYS_IN 680*60128Selan * This symbol, if defined, indicates to the C program that it should 681*60128Selan * include sys/in.h. 682*60128Selan */ 683*60128Selan#$i_niin I_NETINET_IN /**/ 684*60128Selan#$i_sysin I_SYS_IN /**/ 685*60128Selan 686*60128Selan/* I_PWD 687*60128Selan * This symbol, if defined, indicates to the C program that it should 688*60128Selan * include pwd.h. 689*60128Selan */ 690*60128Selan/* PWQUOTA 691*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 692*60128Selan * contains pw_quota. 693*60128Selan */ 694*60128Selan/* PWAGE 695*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 696*60128Selan * contains pw_age. 697*60128Selan */ 698*60128Selan/* PWCHANGE 699*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 700*60128Selan * contains pw_change. 701*60128Selan */ 702*60128Selan/* PWCLASS 703*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 704*60128Selan * contains pw_class. 705*60128Selan */ 706*60128Selan/* PWEXPIRE 707*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 708*60128Selan * contains pw_expire. 709*60128Selan */ 710*60128Selan/* PWCOMMENT 711*60128Selan * This symbol, if defined, indicates to the C program that struct passwd 712*60128Selan * contains pw_comment. 713*60128Selan */ 714*60128Selan#$i_pwd I_PWD /**/ 715*60128Selan#$d_pwquota PWQUOTA /**/ 716*60128Selan#$d_pwage PWAGE /**/ 717*60128Selan#$d_pwchange PWCHANGE /**/ 718*60128Selan#$d_pwclass PWCLASS /**/ 719*60128Selan#$d_pwexpire PWEXPIRE /**/ 720*60128Selan#$d_pwcomment PWCOMMENT /**/ 721*60128Selan 722*60128Selan/* I_SYS_FILE 723*60128Selan * This manifest constant tells the C program to include <sys/file.h>. 724*60128Selan */ 725*60128Selan#$i_sys_file I_SYS_FILE /**/ 726*60128Selan 727*60128Selan/* I_SYSIOCTL 728*60128Selan * This symbol, if defined, indicates that sys/ioctl.h exists and should 729*60128Selan * be included. 730*60128Selan */ 731*60128Selan#$i_sysioctl I_SYSIOCTL /**/ 732*60128Selan 733*60128Selan/* I_TIME 734*60128Selan * This symbol is defined if the program should include <time.h>. 735*60128Selan */ 736*60128Selan/* I_SYS_TIME 737*60128Selan * This symbol is defined if the program should include <sys/time.h>. 738*60128Selan */ 739*60128Selan/* SYSTIMEKERNEL 740*60128Selan * This symbol is defined if the program should include <sys/time.h> 741*60128Selan * with KERNEL defined. 742*60128Selan */ 743*60128Selan/* I_SYS_SELECT 744*60128Selan * This symbol is defined if the program should include <sys/select.h>. 745*60128Selan */ 746*60128Selan#$i_time I_TIME /**/ 747*60128Selan#$i_sys_time I_SYS_TIME /**/ 748*60128Selan#$d_systimekernel SYSTIMEKERNEL /**/ 749*60128Selan#$i_sys_select I_SYS_SELECT /**/ 750*60128Selan 751*60128Selan/* I_UTIME 752*60128Selan * This symbol, if defined, indicates to the C program that it should 753*60128Selan * include utime.h. 754*60128Selan */ 755*60128Selan#$i_utime I_UTIME /**/ 756*60128Selan 757*60128Selan/* I_VARARGS 758*60128Selan * This symbol, if defined, indicates to the C program that it should 759*60128Selan * include varargs.h. 760*60128Selan */ 761*60128Selan#$i_varargs I_VARARGS /**/ 762*60128Selan 763*60128Selan/* I_VFORK 764*60128Selan * This symbol, if defined, indicates to the C program that it should 765*60128Selan * include vfork.h. 766*60128Selan */ 767*60128Selan#$i_vfork I_VFORK /**/ 768*60128Selan 769*60128Selan/* INTSIZE 770*60128Selan * This symbol contains the size of an int, so that the C preprocessor 771*60128Selan * can make decisions based on it. 772*60128Selan */ 773*60128Selan#define INTSIZE $intsize /**/ 774*60128Selan 775*60128Selan/* I_DIRENT 776*60128Selan * This symbol, if defined, indicates that the program should use the 777*60128Selan * P1003-style directory routines, and include <dirent.h>. 778*60128Selan */ 779*60128Selan/* I_SYS_DIR 780*60128Selan * This symbol, if defined, indicates that the program should use the 781*60128Selan * directory functions by including <sys/dir.h>. 782*60128Selan */ 783*60128Selan/* I_NDIR 784*60128Selan * This symbol, if defined, indicates that the program should include the 785*60128Selan * system's version of ndir.h, rather than the one with this package. 786*60128Selan */ 787*60128Selan/* I_SYS_NDIR 788*60128Selan * This symbol, if defined, indicates that the program should include the 789*60128Selan * system's version of sys/ndir.h, rather than the one with this package. 790*60128Selan */ 791*60128Selan/* I_MY_DIR 792*60128Selan * This symbol, if defined, indicates that the program should compile 793*60128Selan * the ndir.c code provided with the package. 794*60128Selan */ 795*60128Selan/* DIRNAMLEN 796*60128Selan * This symbol, if defined, indicates to the C program that the length 797*60128Selan * of directory entry names is provided by a d_namlen field. Otherwise 798*60128Selan * you need to do strlen() on the d_name field. 799*60128Selan */ 800*60128Selan#$i_dirent I_DIRENT /**/ 801*60128Selan#$i_sys_dir I_SYS_DIR /**/ 802*60128Selan#$i_ndir I_NDIR /**/ 803*60128Selan#$i_sys_ndir I_SYS_NDIR /**/ 804*60128Selan#$i_my_dir I_MY_DIR /**/ 805*60128Selan#$d_dirnamlen DIRNAMLEN /**/ 806*60128Selan 807*60128Selan/* MYMALLOC 808*60128Selan * This symbol, if defined, indicates that we're using our own malloc. 809*60128Selan */ 810*60128Selan/* MALLOCPTRTYPE 811*60128Selan * This symbol defines the kind of ptr returned by malloc and realloc. 812*60128Selan */ 813*60128Selan#$d_mymalloc MYMALLOC /**/ 814*60128Selan 815*60128Selan#define MALLOCPTRTYPE $mallocptrtype /**/ 816*60128Selan 817*60128Selan 818*60128Selan/* RANDBITS 819*60128Selan * This symbol contains the number of bits of random number the rand() 820*60128Selan * function produces. Usual values are 15, 16, and 31. 821*60128Selan */ 822*60128Selan#define RANDBITS $randbits /**/ 823*60128Selan 824*60128Selan/* SCRIPTDIR 825*60128Selan * This symbol holds the name of the directory in which the user wants 826*60128Selan * to keep publicly executable scripts for the package in question. It 827*60128Selan * is often a directory that is mounted across diverse architectures. 828*60128Selan */ 829*60128Selan#define SCRIPTDIR "$scriptdir" /**/ 830*60128Selan 831*60128Selan/* SIG_NAME 832*60128Selan * This symbol contains an list of signal names in order. 833*60128Selan */ 834*60128Selan#define SIG_NAME "`echo $sig_name | sed 's/ /","/g'`" /**/ 835*60128Selan 836*60128Selan/* STDCHAR 837*60128Selan * This symbol is defined to be the type of char used in stdio.h. 838*60128Selan * It has the values "unsigned char" or "char". 839*60128Selan */ 840*60128Selan#define STDCHAR $stdchar /**/ 841*60128Selan 842*60128Selan/* UIDTYPE 843*60128Selan * This symbol has a value like uid_t, int, ushort, or whatever type is 844*60128Selan * used to declare user ids in the kernel. 845*60128Selan */ 846*60128Selan#define UIDTYPE $uidtype /**/ 847*60128Selan 848*60128Selan/* VOIDHAVE 849*60128Selan * This symbol indicates how much support of the void type is given by this 850*60128Selan * compiler. What various bits mean: 851*60128Selan * 852*60128Selan * 1 = supports declaration of void 853*60128Selan * 2 = supports arrays of pointers to functions returning void 854*60128Selan * 4 = supports comparisons between pointers to void functions and 855*60128Selan * addresses of void functions 856*60128Selan * 857*60128Selan * The package designer should define VOIDWANT to indicate the requirements 858*60128Selan * of the package. This can be done either by #defining VOIDWANT before 859*60128Selan * including config.h, or by defining voidwant in Myinit.U. If the level 860*60128Selan * of void support necessary is not present, config.h defines void to "int", 861*60128Selan * VOID to the empty string, and VOIDP to "char *". 862*60128Selan */ 863*60128Selan/* void 864*60128Selan * This symbol is used for void casts. On implementations which support 865*60128Selan * void appropriately, its value is "void". Otherwise, its value maps 866*60128Selan * to "int". 867*60128Selan */ 868*60128Selan/* VOID 869*60128Selan * This symbol's value is "void" if the implementation supports void 870*60128Selan * appropriately. Otherwise, its value is the empty string. The primary 871*60128Selan * use of this symbol is in specifying void parameter lists for function 872*60128Selan * prototypes. 873*60128Selan */ 874*60128Selan/* VOIDP 875*60128Selan * This symbol is used for casting generic pointers. On implementations 876*60128Selan * which support void appropriately, its value is "void *". Otherwise, 877*60128Selan * its value is "char *". 878*60128Selan */ 879*60128Selan#ifndef VOIDWANT 880*60128Selan#define VOIDWANT $voidwant 881*60128Selan#endif 882*60128Selan#define VOIDHAVE $voidhave 883*60128Selan#if (VOIDHAVE & VOIDWANT) != VOIDWANT 884*60128Selan#define void int /* is void to be avoided? */ 885*60128Selan#define VOID 886*60128Selan#define VOIDP (char *) 887*60128Selan#define M_VOID /* Xenix strikes again */ 888*60128Selan#else 889*60128Selan#define VOID void 890*60128Selan#define VOIDP (void *) 891*60128Selan#endif 892*60128Selan 893*60128Selan/* PRIVLIB 894*60128Selan * This symbol contains the name of the private library for this package. 895*60128Selan * The library is private in the sense that it needn't be in anyone's 896*60128Selan * execution path, but it should be accessible by the world. The program 897*60128Selan * should be prepared to do ~ expansion. 898*60128Selan */ 899*60128Selan#define PRIVLIB "$privlib" /**/ 900*60128Selan 901*60128Selan#endif 902*60128Selan!GROK!THIS! 903