📄 config_h.sh
字号:
: make config.h.SHcase $CONFIG in'') if test ! -f config.sh; then ln ../config.sh . || \ ln ../../config.sh . || \ ln ../../../config.sh . || \ (echo "Can't find config.sh."; exit 1) echo "Using config.sh from above..." fi 2>/dev/null . ./config.sh ;;esacecho "Extracting config.h (with variable substitutions)"sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!'#ifndef config_h#define config_h/* config.h * This file was produced by running the config.h.SH script, which * gets its values from config.sh, which is generally produced by * running Configure. * * Feel free to modify any of this as the need arises. Note, however, * that running config.h.SH again will wipe out any changes you've made. * For a more permanent change edit config.sh and rerun config.h.SH. */ /*SUPPRESS 460*//* EUNICE * This symbol, if defined, indicates that the program is being compiled * under the EUNICE package under VMS. The program will need to handle * things like files that don't go away the first time you unlink them, * due to version numbering. It will also need to compensate for lack * of a respectable link() command. *//* VMS * This symbol, if defined, indicates that the program is running under * VMS. It is currently only set in conjunction with the EUNICE symbol. */#$d_eunice EUNICE /**/#$d_eunice VMS /**//* LOC_SED * This symbol holds the complete pathname to the sed program. */#define LOC_SED "$sed" /**//* BIN * This symbol holds the name of the directory in which the user wants * to keep publicly executable images for the package in question. It * is most often a local directory such as /usr/local/bin. */#define BIN "$bin" /**//* BYTEORDER * This symbol contains an encoding of the order of bytes in a long. * Usual values (in hex) are 0x1234, 0x4321, 0x2143, 0x3412... */#define BYTEORDER 0x$byteorder /**//* CPPSTDIN * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. Typical value of "cc -E" or "/lib/cpp". *//* CPPMINUS * This symbol contains the second part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. This symbol will have the value "-" if CPPSTDIN needs a minus * to specify standard input, otherwise the value is "". */#define CPPSTDIN "$cppstdin"#define CPPMINUS "$cppminus"/* HAS_BCMP * This symbol, if defined, indicates that the bcmp routine is available * to compare blocks of memory. If undefined, use memcmp. If that's * not available, roll your own. */#$d_bcmp HAS_BCMP /**//* HAS_BCOPY * This symbol, if defined, indicates that the bcopy routine is available * to copy blocks of memory. Otherwise you should probably use memcpy(). * If neither is defined, roll your own. *//* SAFE_BCOPY * This symbol, if defined, indicates that the bcopy routine is available * to copy potentially overlapping copy blocks of bcopy. Otherwise you * should probably use memmove() or memcpy(). If neither is defined, * roll your own. */#$d_bcopy HAS_BCOPY /**/#$d_safebcpy SAFE_BCOPY /**//* HAS_BZERO * This symbol, if defined, indicates that the bzero routine is available * to zero blocks of memory. Otherwise you should probably use memset() * or roll your own. */#$d_bzero HAS_BZERO /**//* CASTNEGFLOAT * This symbol, if defined, indicates that this C compiler knows how to * cast negative or large floating point numbers to unsigned longs, ints * and shorts. *//* CASTFLAGS * This symbol contains flags that say what difficulties the compiler * has casting odd floating values to unsigned long: * 1 = couldn't cast < 0 * 2 = couldn't cast >= 0x80000000 */#$d_castneg CASTNEGFLOAT /**/#define CASTFLAGS $castflags /**//* CHARSPRINTF * This symbol is defined if this system declares "char *sprintf()" in * stdio.h. The trend seems to be to declare it as "int sprintf()". It * is up to the package author to declare sprintf correctly based on the * symbol. */#$d_charsprf CHARSPRINTF /**//* HAS_CHSIZE * This symbol, if defined, indicates that the chsize routine is available * to truncate files. You might need a -lx to get this routine. */#$d_chsize HAS_CHSIZE /**//* HAS_CRYPT * This symbol, if defined, indicates that the crypt routine is available * to encrypt passwords and the like. */#$d_crypt HAS_CRYPT /**//* CSH * This symbol, if defined, indicates that the C-shell exists. * If defined, contains the full pathname of csh. */#$d_csh CSH "$csh" /**//* DOSUID * This symbol, if defined, indicates that the C program should * check the script that it is executing for setuid/setgid bits, and * attempt to emulate setuid/setgid on systems that have disabled * setuid #! scripts because the kernel can't do it securely. * It is up to the package designer to make sure that this emulation * is done securely. Among other things, it should do an fstat on * the script it just opened to make sure it really is a setuid/setgid * script, it should make sure the arguments passed correspond exactly * to the argument on the #! line, and it should not trust any * subprocesses to which it must pass the filename rather than the * file descriptor of the script to be executed. */#$d_dosuid DOSUID /**//* HAS_DUP2 * This symbol, if defined, indicates that the dup2 routine is available * to dup file descriptors. Otherwise you should use dup(). */#$d_dup2 HAS_DUP2 /**//* HAS_FCHMOD * This symbol, if defined, indicates that the fchmod routine is available * to change mode of opened files. If unavailable, use chmod(). */#$d_fchmod HAS_FCHMOD /**//* HAS_FCHOWN * This symbol, if defined, indicates that the fchown routine is available * to change ownership of opened files. If unavailable, use chown(). */#$d_fchown HAS_FCHOWN /**//* HAS_FCNTL * This symbol, if defined, indicates to the C program that * the fcntl() function exists. */#$d_fcntl HAS_FCNTL /**//* FLEXFILENAMES * This symbol, if defined, indicates that the system supports filenames * longer than 14 characters. */#$d_flexfnam FLEXFILENAMES /**//* HAS_FLOCK * This symbol, if defined, indicates that the flock() routine is * available to do file locking. */#$d_flock HAS_FLOCK /**//* HAS_GETGROUPS * This symbol, if defined, indicates that the getgroups() routine is * available to get the list of process groups. If unavailable, multiple * groups are probably not supported. */#$d_getgrps HAS_GETGROUPS /**//* HAS_GETHOSTENT * This symbol, if defined, indicates that the gethostent() routine is * available to lookup host names in some data base or other. */#$d_gethent HAS_GETHOSTENT /**//* HAS_GETPGRP * This symbol, if defined, indicates that the getpgrp() routine is * available to get the current process group. */#$d_getpgrp HAS_GETPGRP /**//* HAS_GETPGRP2 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) * routine is available to get the current process group. */#$d_getpgrp2 HAS_GETPGRP2 /**//* HAS_GETPRIORITY * This symbol, if defined, indicates that the getpriority() routine is * available to get a process's priority. */#$d_getprior HAS_GETPRIORITY /**//* HAS_HTONS * This symbol, if defined, indicates that the htons routine (and friends) * are available to do network order byte swapping. *//* HAS_HTONL * This symbol, if defined, indicates that the htonl routine (and friends) * are available to do network order byte swapping. *//* HAS_NTOHS * This symbol, if defined, indicates that the ntohs routine (and friends) * are available to do network order byte swapping. *//* HAS_NTOHL * This symbol, if defined, indicates that the ntohl routine (and friends) * are available to do network order byte swapping. */#$d_htonl HAS_HTONS /**/#$d_htonl HAS_HTONL /**/#$d_htonl HAS_NTOHS /**/#$d_htonl HAS_NTOHL /**//* index * This preprocessor symbol is defined, along with rindex, if the system * uses the strchr and strrchr routines instead. *//* rindex * This preprocessor symbol is defined, along with index, if the system * uses the strchr and strrchr routines instead. */#$d_index index strchr /* cultural */#$d_index rindex strrchr /* differences? *//* HAS_ISASCII * This symbol, if defined, indicates that the isascii routine is available * to test characters for asciiness. */#$d_isascii HAS_ISASCII /**//* HAS_KILLPG * This symbol, if defined, indicates that the killpg routine is available * to kill process groups. If unavailable, you probably should use kill * with a negative process number. */#$d_killpg HAS_KILLPG /**//* HAS_LSTAT * This symbol, if defined, indicates that the lstat() routine is * available to stat symbolic links. */#$d_lstat HAS_LSTAT /**//* HAS_MEMCMP * This symbol, if defined, indicates that the memcmp routine is available * to compare blocks of memory. If undefined, roll your own. */#$d_memcmp HAS_MEMCMP /**//* HAS_MEMCPY * This symbol, if defined, indicates that the memcpy routine is available * to copy blocks of memory. Otherwise you should probably use bcopy(). * If neither is defined, roll your own. *//* SAFE_MEMCPY * This symbol, if defined, indicates that the memcpy routine is available * to copy potentially overlapping copy blocks of memory. Otherwise you * should probably use memmove() or bcopy(). If neither is defined, * roll your own. */#$d_memcpy HAS_MEMCPY /**/#$d_safemcpy SAFE_MEMCPY /**//* HAS_MEMMOVE * This symbol, if defined, indicates that the memmove routine is available * to move potentially overlapping blocks of memory. Otherwise you * should use bcopy() or roll your own. */#$d_memmove HAS_MEMMOVE /**//* HAS_MEMSET * This symbol, if defined, indicates that the memset routine is available * to set a block of memory to a character. If undefined, roll your own. */#$d_memset HAS_MEMSET /**//* HAS_MKDIR * This symbol, if defined, indicates that the mkdir routine is available * to create directories. Otherwise you should fork off a new process to * exec /bin/mkdir. */#$d_mkdir HAS_MKDIR /**//* HAS_MSG * This symbol, if defined, indicates that the entire msg*(2) library is * supported. */#$d_msg HAS_MSG /**//* HAS_MSGCTL * This symbol, if defined, indicates that the msgctl() routine is * available to control message passing. */#$d_msgctl HAS_MSGCTL /**//* HAS_MSGGET * This symbol, if defined, indicates that the msgget() routine is * available to get messages. */#$d_msgget HAS_MSGGET /**//* HAS_MSGRCV * This symbol, if defined, indicates that the msgrcv() routine is * available to receive messages. */#$d_msgrcv HAS_MSGRCV /**//* HAS_MSGSND * This symbol, if defined, indicates that the msgsnd() routine is * available to send messages. */#$d_msgsnd HAS_MSGSND /**//* HAS_NDBM * This symbol, if defined, indicates that ndbm.h exists and should * be included. */#$d_ndbm HAS_NDBM /**//* HAS_ODBM * This symbol, if defined, indicates that dbm.h exists and should * be included. */#$d_odbm HAS_ODBM /**//* HAS_OPEN3 * This manifest constant lets the C program know that the three * argument form of open(2) is available. */#$d_open3 HAS_OPEN3 /**//* HAS_READDIR * This symbol, if defined, indicates that the readdir routine is available * from the C library to read directories. */#$d_readdir HAS_READDIR /**//* HAS_RENAME * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() * trick. */#$d_rename HAS_RENAME /**//* HAS_REWINDDIR * This symbol, if defined, indicates that the rewindir routine is * available to rewind directories. */#$d_rewindir HAS_REWINDDIR /**//* HAS_RMDIR * This symbol, if defined, indicates that the rmdir routine is available * to remove directories. Otherwise you should fork off a new process to * exec /bin/rmdir. */#$d_rmdir HAS_RMDIR /**//* HAS_SEEKDIR * This symbol, if defined, indicates that the seekdir routine is * available to seek into directories. */#$d_seekdir HAS_SEEKDIR /**//* HAS_SELECT * This symbol, if defined, indicates that the select() subroutine * exists. */#$d_select HAS_SELECT /**//* HAS_SEM * This symbol, if defined, indicates that the entire sem*(2) library is * supported. */#$d_sem HAS_SEM /**//* HAS_SEMCTL * This symbol, if defined, indicates that the semctl() routine is * available to control semaphores. */#$d_semctl HAS_SEMCTL /**//* HAS_SEMGET * This symbol, if defined, indicates that the semget() routine is * available to get semaphores ids. */#$d_semget HAS_SEMGET /**//* HAS_SEMOP * This symbol, if defined, indicates that the semop() routine is * available to perform semaphore operations. */#$d_semop HAS_SEMOP /**//* HAS_SETEGID * This symbol, if defined, indicates that the setegid routine is available * to change the effective gid of the current program. */#$d_setegid HAS_SETEGID /**//* HAS_SETEUID * This symbol, if defined, indicates that the seteuid routine is available * to change the effective uid of the current program. */#$d_seteuid HAS_SETEUID /**//* HAS_SETPGRP * This symbol, if defined, indicates that the setpgrp() routine is * available to set the current process group. */#$d_setpgrp HAS_SETPGRP /**//* HAS_SETPGRP2 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) * routine is available to set the current process group. */#$d_setpgrp2 HAS_SETPGRP2 /**//* HAS_SETPRIORITY * This symbol, if defined, indicates that the setpriority() routine is
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -