Commit | Line | Data |
---|---|---|
8d063cd8 LW |
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 | |
378cc40b | 10 | . ./config.sh |
8d063cd8 LW |
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 | /* VMS: | |
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 | ||
378cc40b | 40 | /* CPPSTDIN: |
36ce8bec DFDL |
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". | |
44 | */ | |
45 | /* CPPMINUS: | |
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 | |
378cc40b | 48 | * output. This symbol will have the value "-" if CPPSTDIN needs a minus |
36ce8bec DFDL |
49 | * to specify standard input, otherwise the value is "". |
50 | */ | |
378cc40b | 51 | #define CPPSTDIN "$cppstdin" |
36ce8bec DFDL |
52 | #define CPPMINUS "$cppminus" |
53 | ||
c51b80d1 LW |
54 | /* BCOPY: |
55 | * This symbol, if defined, indicates that the bcopy routine is available | |
56 | * to copy blocks of memory. Otherwise you should probably use memcpy(). | |
57 | */ | |
58 | #$d_bcopy BCOPY /**/ | |
59 | ||
8d063cd8 LW |
60 | /* CHARSPRINTF: |
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 | |
64 | * symbol. | |
65 | */ | |
66 | #$d_charsprf CHARSPRINTF /**/ | |
67 | ||
2e1b3b7e KK |
68 | /* CRYPT: |
69 | * This symbol, if defined, indicates that the crypt routine is available | |
70 | * to encrypt passwords and the like. | |
71 | */ | |
72 | #$d_crypt CRYPT /**/ | |
73 | ||
378cc40b LW |
74 | /* FCHMOD: |
75 | * This symbol, if defined, indicates that the fchmod routine is available | |
76 | * to change mode of opened files. If unavailable, use chmod(). | |
77 | */ | |
78 | #$d_fchmod FCHMOD /**/ | |
79 | ||
80 | /* FCHOWN: | |
81 | * This symbol, if defined, indicates that the fchown routine is available | |
82 | * to change ownership of opened files. If unavailable, use chown(). | |
83 | */ | |
84 | #$d_fchown FCHOWN /**/ | |
85 | ||
86 | /* GETGROUPS: | |
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. | |
90 | */ | |
91 | #$d_getgrps GETGROUPS /**/ | |
92 | ||
8d063cd8 LW |
93 | /* index: |
94 | * This preprocessor symbol is defined, along with rindex, if the system | |
95 | * uses the strchr and strrchr routines instead. | |
96 | */ | |
97 | /* rindex: | |
98 | * This preprocessor symbol is defined, along with index, if the system | |
99 | * uses the strchr and strrchr routines instead. | |
100 | */ | |
101 | #$d_index index strchr /* cultural */ | |
102 | #$d_index rindex strrchr /* differences? */ | |
103 | ||
378cc40b LW |
104 | /* KILLPG: |
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. | |
108 | */ | |
109 | #$d_killpg KILLPG /**/ | |
110 | ||
111 | /* MEMCPY: | |
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. | |
115 | */ | |
116 | #$d_memcpy MEMCPY /**/ | |
117 | ||
118 | /* RENAME: | |
119 | * This symbol, if defined, indicates that the rename routine is available | |
120 | * to rename files. Otherwise you should do the unlink(), link(), unlink() | |
121 | * trick. | |
122 | */ | |
123 | #$d_rename RENAME /**/ | |
124 | ||
125 | /* SETEGID: | |
126 | * This symbol, if defined, indicates that the setegid routine is available | |
127 | * to change the effective gid of the current program. | |
128 | */ | |
129 | #$d_setegid SETEGID /**/ | |
130 | ||
131 | /* SETEUID: | |
132 | * This symbol, if defined, indicates that the seteuid routine is available | |
133 | * to change the effective uid of the current program. | |
134 | */ | |
135 | #$d_seteuid SETEUID /**/ | |
136 | ||
137 | /* SETRGID: | |
138 | * This symbol, if defined, indicates that the setrgid routine is available | |
139 | * to change the real gid of the current program. | |
140 | */ | |
141 | #$d_setrgid SETRGID /**/ | |
142 | ||
143 | /* SETRUID: | |
144 | * This symbol, if defined, indicates that the setruid routine is available | |
145 | * to change the real uid of the current program. | |
146 | */ | |
147 | #$d_setruid SETRUID /**/ | |
148 | ||
c51b80d1 LW |
149 | /* STATBLOCKS: |
150 | * This symbol is defined if this system has a stat structure declaring | |
151 | * st_blksize and st_blocks. | |
152 | */ | |
153 | #$d_statblks STATBLOCKS /**/ | |
154 | ||
36ce8bec DFDL |
155 | /* STDSTDIO: |
156 | * This symbol is defined if this system has a FILE structure declaring | |
157 | * _ptr and _cnt in stdio.h. | |
158 | */ | |
159 | #$d_stdstdio STDSTDIO /**/ | |
160 | ||
378cc40b LW |
161 | /* STRCSPN: |
162 | * This symbol, if defined, indicates that the strcspn routine is available | |
163 | * to scan strings. | |
164 | */ | |
165 | #$d_strcspn STRCSPN /**/ | |
166 | ||
8d063cd8 LW |
167 | /* STRUCTCOPY: |
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. | |
171 | */ | |
172 | #$d_strctcpy STRUCTCOPY /**/ | |
173 | ||
2e1b3b7e KK |
174 | /* SYMLINK: |
175 | * This symbol, if defined, indicates that the symlink routine is available | |
176 | * to create symbolic links. | |
177 | */ | |
178 | #$d_symlink SYMLINK /**/ | |
179 | ||
c51b80d1 LW |
180 | /* TMINSYS: |
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. | |
185 | */ | |
186 | #$d_tminsys TMINSYS /**/ | |
187 | ||
8d063cd8 LW |
188 | /* vfork: |
189 | * This symbol, if defined, remaps the vfork routine to fork if the | |
190 | * vfork() routine isn't supported here. | |
191 | */ | |
192 | #$d_vfork vfork fork /**/ | |
193 | ||
36ce8bec DFDL |
194 | /* VOIDSIG: |
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 | |
198 | * symbol. | |
199 | */ | |
200 | #$d_voidsig VOIDSIG /**/ | |
201 | ||
378cc40b LW |
202 | /* GIDTYPE: |
203 | * This symbol has a value like gid_t, int, ushort, or whatever type is | |
204 | * used to declare group ids in the kernel. | |
205 | */ | |
206 | #define GIDTYPE $gidtype /**/ | |
207 | ||
36ce8bec DFDL |
208 | /* STDCHAR: |
209 | * This symbol is defined to be the type of char used in stdio.h. | |
210 | * It has the values "unsigned char" or "char". | |
211 | */ | |
212 | #define STDCHAR $stdchar /**/ | |
213 | ||
378cc40b LW |
214 | /* UIDTYPE: |
215 | * This symbol has a value like uid_t, int, ushort, or whatever type is | |
216 | * used to declare user ids in the kernel. | |
217 | */ | |
218 | #define UIDTYPE $uidtype /**/ | |
219 | ||
8d063cd8 LW |
220 | /* VOIDFLAGS: |
221 | * This symbol indicates how much support of the void type is given by this | |
222 | * compiler. What various bits mean: | |
223 | * | |
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 | |
228 | * | |
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. | |
233 | */ | |
234 | #ifndef VOIDUSED | |
235 | #define VOIDUSED $defvoidused | |
236 | #endif | |
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 */ | |
241 | #endif | |
242 | ||
378cc40b LW |
243 | /* PRIVLIB: |
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. | |
247 | */ | |
248 | #define PRIVLIB "$privlib" /**/ | |
249 | ||
8d063cd8 | 250 | !GROK!THIS! |