3 if test ! -f config.sh; then
5 ln ../../config.sh . || \
6 ln ../../../config.sh . || \
7 (echo "Can't find config.sh."; exit 1)
8 echo "Using config.sh from above..."
13 echo "Extracting config.h (with variable substitutions)"
14 cat <<!GROK!THIS! >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
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.
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.
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.
37 #$d_eunice EUNICE /**/
41 * This symbol contains the first part of the string which will invoke
42 * the C preprocessor on the standard input and produce to standard
43 * output. Typical value of "cc -E" or "/lib/cpp".
46 * This symbol contains the second part of the string which will invoke
47 * the C preprocessor on the standard input and produce to standard
48 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
49 * to specify standard input, otherwise the value is "".
51 #define CPPSTDIN "$cppstdin"
52 #define CPPMINUS "$cppminus"
55 * This symbol, if defined, indicates that the bcopy routine is available
56 * to copy blocks of memory. Otherwise you should probably use memcpy().
61 * This symbol is defined if this system declares "char *sprintf()" in
62 * stdio.h. The trend seems to be to declare it as "int sprintf()". It
63 * is up to the package author to declare sprintf correctly based on the
66 #$d_charsprf CHARSPRINTF /**/
69 * This symbol, if defined, indicates that the crypt routine is available
70 * to encrypt passwords and the like.
75 * This symbol, if defined, indicates that the fchmod routine is available
76 * to change mode of opened files. If unavailable, use chmod().
78 #$d_fchmod FCHMOD /**/
81 * This symbol, if defined, indicates that the fchown routine is available
82 * to change ownership of opened files. If unavailable, use chown().
84 #$d_fchown FCHOWN /**/
87 * This symbol, if defined, indicates that the getgroups() routine is
88 * available to get the list of process groups. If unavailable, multiple
89 * groups are probably not supported.
91 #$d_getgrps GETGROUPS /**/
94 * This preprocessor symbol is defined, along with rindex, if the system
95 * uses the strchr and strrchr routines instead.
98 * This preprocessor symbol is defined, along with index, if the system
99 * uses the strchr and strrchr routines instead.
101 #$d_index index strchr /* cultural */
102 #$d_index rindex strrchr /* differences? */
105 * This symbol, if defined, indicates that the killpg routine is available
106 * to kill process groups. If unavailable, you probably should use kill
107 * with a negative process number.
109 #$d_killpg KILLPG /**/
112 * This symbol, if defined, indicates that the memcpy routine is available
113 * to copy blocks of memory. Otherwise you should probably use bcopy().
114 * If neither is defined, roll your own.
116 #$d_memcpy MEMCPY /**/
119 * This symbol, if defined, indicates that the rename routine is available
120 * to rename files. Otherwise you should do the unlink(), link(), unlink()
123 #$d_rename RENAME /**/
126 * This symbol, if defined, indicates that the setegid routine is available
127 * to change the effective gid of the current program.
129 #$d_setegid SETEGID /**/
132 * This symbol, if defined, indicates that the seteuid routine is available
133 * to change the effective uid of the current program.
135 #$d_seteuid SETEUID /**/
138 * This symbol, if defined, indicates that the setrgid routine is available
139 * to change the real gid of the current program.
141 #$d_setrgid SETRGID /**/
144 * This symbol, if defined, indicates that the setruid routine is available
145 * to change the real uid of the current program.
147 #$d_setruid SETRUID /**/
150 * This symbol is defined if this system has a stat structure declaring
151 * st_blksize and st_blocks.
153 #$d_statblks STATBLOCKS /**/
156 * This symbol is defined if this system has a FILE structure declaring
157 * _ptr and _cnt in stdio.h.
159 #$d_stdstdio STDSTDIO /**/
162 * This symbol, if defined, indicates that the strcspn routine is available
165 #$d_strcspn STRCSPN /**/
168 * This symbol, if defined, indicates that this C compiler knows how
169 * to copy structures. If undefined, you'll need to use a block copy
170 * routine of some sort instead.
172 #$d_strctcpy STRUCTCOPY /**/
175 * This symbol, if defined, indicates that the symlink routine is available
176 * to create symbolic links.
178 #$d_symlink SYMLINK /**/
181 * This symbol is defined if this system declares "struct tm" in
182 * in <sys/time.h> rather than <time.h>. We can't just say
183 * -I/usr/include/sys because some systems have both time files, and
184 * the -I trick gets the wrong one.
186 #$d_tminsys TMINSYS /**/
189 * This symbol, if defined, remaps the vfork routine to fork if the
190 * vfork() routine isn't supported here.
192 #$d_vfork vfork fork /**/
195 * This symbol is defined if this system declares "void (*signal())()" in
196 * signal.h. The old way was to declare it as "int (*signal())()". It
197 * is up to the package author to declare things correctly based on the
200 #$d_voidsig VOIDSIG /**/
203 * This symbol has a value like gid_t, int, ushort, or whatever type is
204 * used to declare group ids in the kernel.
206 #define GIDTYPE $gidtype /**/
209 * This symbol is defined to be the type of char used in stdio.h.
210 * It has the values "unsigned char" or "char".
212 #define STDCHAR $stdchar /**/
215 * This symbol has a value like uid_t, int, ushort, or whatever type is
216 * used to declare user ids in the kernel.
218 #define UIDTYPE $uidtype /**/
221 * This symbol indicates how much support of the void type is given by this
222 * compiler. What various bits mean:
224 * 1 = supports declaration of void
225 * 2 = supports arrays of pointers to functions returning void
226 * 4 = supports comparisons between pointers to void functions and
227 * addresses of void functions
229 * The package designer should define VOIDUSED to indicate the requirements
230 * of the package. This can be done either by #defining VOIDUSED before
231 * including config.h, or by defining defvoidused in Myinit.U. If the
232 * level of void support necessary is not present, defines void to int.
235 #define VOIDUSED $defvoidused
237 #define VOIDFLAGS $voidflags
238 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
239 #$define void int /* is void to be avoided? */
240 #$define M_VOID /* Xenix strikes again */
244 * This symbol contains the name of the private library for this package.
245 * The library is private in the sense that it needn't be in anyone's
246 * execution path, but it should be accessible by the world.
248 #define PRIVLIB "$privlib" /**/