1 case $CONFIG in 2 '') 3 if test ! -f config.sh; then 4 ln ../config.sh . || \ 5 ln ../../config.sh . || \ 6 ln ../../../config.sh . || \ 7 (echo "Can't find config.sh."; exit 1) 8 echo "Using config.sh from above..." 9 fi 10 . config.sh 11 ;; 12 esac 13 echo "Extracting config.h (with variable substitutions)" 14 cat <<!GROK!THIS! >config.h 15 /* config.h 16 * This file was produced by running the config.h.SH script, which 17 * gets its values from config.sh, which is generally produced by 18 * running Configure. 19 * 20 * Feel free to modify any of this as the need arises. Note, however, 21 * that running config.h.SH again will wipe out any changes you've made. 22 * For a more permanent change edit config.sh and rerun config.h.SH. 23 */ 24 25 26 /* EUNICE: 27 * This symbol, if defined, indicates that the program is being compiled 28 * under the EUNICE package under VMS. The program will need to handle 29 * things like files that don't go away the first time you unlink them, 30 * due to version numbering. It will also need to compensate for lack 31 * of a respectable link() command. 32 */ 33 /* VMX: 34 * This symbol, if defined, indicates that the program is running under 35 * VMS. It is currently only set in conjunction with the EUNICE symbol. 36 */ 37 #$d_eunice EUNICE /**/ 38 #$d_eunice VMS /**/ 39 40 /* CHARSPRINTF: 41 * This symbol is defined if this system declares "char *snprintf()" in 42 * stdio.h. The trend seems to be to declare it as "int snprintf()". It 43 * is up to the package author to declare snprintf correctly based on the 44 * symbol. 45 */ 46 #$d_charsprf CHARSPRINTF /**/ 47 48 /* FCNTL: 49 * This symbol, if defined, indicates to the C program that it should 50 * include fcntl.h. 51 */ 52 #$d_fcntl FCNTL /**/ 53 54 /* FTIMER: 55 * This symbol, if defined, indicates that the ftime() routine exists. 56 */ 57 #$d_ftime FTIMER /**/ 58 59 /* GETHOSTNAME: 60 * This symbol, if defined, indicates that the C program may use the 61 * gethostname() routine to derive the host name. See also DOUNAME 62 * and PHOSTNAME. 63 */ 64 /* DOUNAME: 65 * This symbol, if defined, indicates that the C program may use the 66 * uname() routine to derive the host name. See also GETHOSTNAME and 67 * PHOSTNAME. 68 */ 69 /* PHOSTNAME: 70 * This symbol, if defined, indicates that the C program may use the 71 * contents of PHOSTNAME as a command to feed to the popen() routine 72 * to derive the host name. See also GETHOSTNAME and DOUNAME. 73 */ 74 #$d_gethname GETHOSTNAME /**/ 75 #$d_douname DOUNAME /**/ 76 #$d_phostname PHOSTNAME "$phostname" /**/ 77 78 /* GETPWENT: 79 * This symbol, if defined, indicates that the getpwent() routine 80 * should be used instead of the getpw() routine. 81 */ 82 #$d_getpwent GETPWENT /**/ 83 84 /* HAVETERMLIB: 85 * This symbol, when defined, indicates that termlib-style routines 86 * are available. There is nothing to include. 87 */ 88 #$d_havetlib HAVETERMLIB /**/ 89 90 /* strchr: 91 * This preprocessor symbol is defined, along with strrchr, if the system 92 * uses the strchr and strrchr routines instead. 93 */ 94 /* strrchr: 95 * This preprocessor symbol is defined, along with strchr, if the system 96 * uses the strchr and strrchr routines instead. 97 */ 98 #$d_strchr strchr strchr /* cultural */ 99 #$d_strchr strrchr strrchr /* differences? */ 100 101 /* IOCTL: 102 * This symbol, if defined, indicates that sys/ioctl.h exists and should 103 * be included. 104 */ 105 #$d_ioctl IOCTL /**/ 106 107 /* NORMSIG: 108 * This symbol, if defined, indicates that normal signal handling routines 109 * should be used, as opposed to the ones in 4.1bsd (sigset, etc.). 110 */ 111 #$d_normsig NORMSIG /**/ 112 113 /* PORTABLE: 114 * This symbol, if defined, indicates to the C program that it should 115 * not assume that it is running on the machine it was compiled on. 116 * The program should be prepared to look up the host name, translate 117 * generic filenames, use PATH, etc. 118 */ 119 #$d_portable PORTABLE /**/ 120 121 /* RDCHK: 122 * This symbol, if defined, indicates that the rdchk routine is available 123 * to find out if there is input pending on an IO channel. Generally 124 * the routine is used only if FIONREAD and O_NDELAY aren't available. 125 */ 126 #$d_rdchk RDCHK /**/ 127 128 /* SCOREFULL: 129 * This symbol, if defined, indicates that any scoreboard kept by the 130 * program should be kept on the basis of the user's full name as opposed 131 * to the user's login name. If the user can change his full name he 132 * can enter multiple scores if this is defined. 133 */ 134 #$d_scorfl SCOREFULL /**/ 135 136 /* SIGNEDCHAR: 137 * This symbol, if defined, indicates that characters are a signed type. 138 * If not defined, things declared as signed characters (and that make 139 * use of negative values) should probably be declared as shorts instead. 140 */ 141 #$d_sgndchr SIGNEDCHAR /**/ 142 143 /* TERMIO: 144 * This symbol, if defined, indicates that the program should include 145 * termio.h rather than sgtty.h. There are also differences in the 146 * ioctl() calls that depend on the value of this symbol. 147 */ 148 #$d_termio TERMIO /**/ 149 150 /* USENDIR: 151 * This symbol, if defined, indicates that the program should compile 152 * the ndir.c code provided with the package. 153 */ 154 /* LIBNDIR: 155 * This symbol, if defined, indicates that the program should include the 156 * system's version of ndir.h, rather than the one with this package. 157 */ 158 #$d_usendir USENDIR /**/ 159 #$d_libndir LIBNDIR /**/ 160 161 /* WHOAMI: 162 * This symbol, if defined, indicates that the program may include 163 * whoami.h. 164 */ 165 #$d_whoami WHOAMI /**/ 166 167 /* HOSTNAME: 168 * This symbol contains name of the host the program is going to run on. 169 * The domain is not kept with hostname, but must be gotten from MYDOMAIN. 170 * The dot comes with MYDOMAIN, and need not be supplied by the program. 171 * If gethostname() or uname() exist, HOSTNAME may be ignored. 172 */ 173 /* MYDOMAIN: 174 * This symbol contains the domain of the host the program is going to 175 * run on. The domain must be appended to HOSTNAME to form a complete 176 * host name. The dot comes with MYDOMAIN, and need not be supplied by 177 * the program. If the host name is derived from PHOSTNAME, the domain 178 * may or may not already be there, and the program should check. 179 */ 180 #define HOSTNAME "$hostname" /**/ 181 #define MYDOMAIN "$mydomain" /**/ 182 183 /* PASSNAMES: 184 * This symbol, if defined, indicates that full names are stored in 185 * the /etc/passwd file. 186 */ 187 /* BERKNAMES: 188 * This symbol, if defined, indicates that full names are stored in 189 * the /etc/passwd file in Berkeley format (name first thing, everything 190 * up to first comma, with & replaced by capitalized login id, yuck). 191 */ 192 /* USGNAMES: 193 * This symbol, if defined, indicates that full names are stored in 194 * the /etc/passwd file in USG format (everything after - and before ( is 195 * the name). 196 */ 197 #$d_passnames PASSNAMES /* (undef to take name from ~/.fullname) */ 198 #$d_berknames BERKNAMES /* (that is, ":name,stuff:") */ 199 #$d_usgnames USGNAMES /* (that is, ":stuff-name(stuff):") */ 200 201 /* PREFSHELL: 202 * This symbol contains the full name of the preferred user shell on this 203 * system. Usual values are /bin/csh, /bin/ksh, /bin/sh. 204 */ 205 #define PREFSHELL "$prefshell" /**/ 206 207 /* RANDBITS: 208 * This symbol contains the number of bits of random number the rand() 209 * function produces. Usual values are 15, 16, and 31. 210 */ 211 #define RANDBITS $randbits /**/ 212 213 /* Reg1: 214 * This symbol, along with Reg2, Reg3, etc. is either the word "register" 215 * or null, depending on whether the C compiler pays attention to this 216 * many register declarations. The intent is that you don't have to 217 * order your register declarations in the order of importance, so you 218 * can freely declare register variables in sub-blocks of code and as 219 * function parameters. Do not use Reg<n> more than once per routine. 220 */ 221 222 #define $reg1 /**/ 223 #define $reg2 /**/ 224 #define $reg3 /**/ 225 #define $reg4 /**/ 226 #define $reg5 /**/ 227 #define $reg6 /**/ 228 #define $reg7 /**/ 229 #define $reg8 /**/ 230 #define $reg9 /**/ 231 #define Reg10 $reg10 /**/ 232 #define Reg11 $reg11 /**/ 233 #define Reg12 $reg12 /**/ 234 #define Reg13 $reg13 /**/ 235 #define Reg14 $reg14 /**/ 236 #define Reg15 $reg15 /**/ 237 #define Reg16 $reg16 /**/ 238 239 /* ROOTID: 240 * This symbol contains the uid of root, normally 0. 241 */ 242 #define ROOTID $rootid /**/ 243 244 /* VOIDFLAGS: 245 * This symbol indicates how much support of the void type is given by this 246 * compiler. What various bits mean: 247 * 248 * 1 = supports declaration of void 249 * 2 = supports arrays of pointers to functions returning void 250 * 4 = supports comparisons between pointers to void functions and 251 * addresses of void functions 252 * 253 * The package designer should define VOIDUSED to indicate the requirements 254 * of the package. This can be done either by #defining VOIDUSED before 255 * including config.h, or by defining defvoidused in Myinit.U. 256 */ 257 #ifndef VOIDUSED 258 #define VOIDUSED $defvoidused 259 #endif 260 #define VOIDFLAGS $voidflags 261 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED 262 #$define void int /* is void to be avoided? */ 263 #$define M_VOID /* Xenix strikes again */ 264 #endif 265 266 /* $package private library, may use ~ expansion, %x and %l */ 267 #define PRIVLIB "$privlib" /**/ 268 269 !GROK!THIS! 270