summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch
blob: 893b55e5acd37f60e525f44dfa4bdf319984781a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
From 65db86f0161c393fd5b082c10837b278adadbff2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 7 Aug 2022 23:57:20 -0700
Subject: [PATCH] configure_func.sh: Add _GNU_SOURCE define and function
 signatures

Modern compilers are getting stricter about include paths and function
signature being known duting compilation e.g. clang-15 now errors out if
a function signature is not found

try.c:1:18: error: call to undeclared function 'getspnam'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]

This causes the test of function to fail even though the function is
available in libc. Therefore try to add proper include headers which
define these functions and also define _GNU_SOURCE in every test
since some of GNU/Linux funtions e.g. accept4 are guarged by this define

Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/137]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 cnf/configure_func.sh | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

--- a/cnf/configure_func.sh
+++ b/cnf/configure_func.sh
@@ -5,6 +5,7 @@ checkfunc() {
 	mstart "Checking for $2"
 	if not hinted $1 'found' 'missing'; then
 		try_start
+    try_add '#define _GNU_SOURCE'
 		funcincludes "$3" "$4" "$includes"
 		try_add "int main(void) { $2($3); return 0; }"
 		try_link -O0 -fno-builtin
@@ -42,115 +43,115 @@ checkfunc d_chroot 'chroot' "NULL" 'unis
 checkfunc d_chsize 'chsize' "0,0"
 checkfunc d_class 'class'
 checkfunc d_clearenv 'clearenv' "" 'stdlib.h'
-checkfunc d_closedir 'closedir' "NULL"
-checkfunc d_crypt 'crypt'
+checkfunc d_closedir 'closedir' "NULL" 'dirent.h sys/types.h'
+checkfunc d_crypt 'crypt' "NULL,NULL" 'crypt.h'
 checkfunc d_ctermid 'ctermid'
 checkfunc d_ctime64 'ctime64'
 checkfunc d_cuserid 'cuserid'
-checkfunc d_difftime 'difftime' "0,0"
+checkfunc d_difftime 'difftime' "0,0" 'time.h'
 checkfunc d_difftime64 'difftime64'
-checkfunc d_dirfd 'dirfd'
+checkfunc d_dirfd 'dirfd' "NULL" 'dirent.h sys/types.h'
 checkfunc d_dladdr 'dladdr' 'NULL, NULL' 'dlfcn.h'
-checkfunc d_dlerror 'dlerror'
-checkfunc d_dlopen 'dlopen'
-checkfunc d_drand48 'drand48'
+checkfunc d_dlerror 'dlerror' "" 'dlfcn.h'
+checkfunc d_dlopen 'dlopen' "NULL,0" "dlfcn.h"
+checkfunc d_drand48 'drand48' "" 'stdlib.h'
 checkfunc d_dup2 'dup2' "0,0" 'unistd.h'
 checkfunc d_dup3 'dup3' "0,0,0" 'fcntl.h unistd.h'
 checkfunc d_duplocale 'duplocale' '0' 'locale.h'
-checkfunc d_eaccess 'eaccess'
-checkfunc d_endgrent 'endgrent'
-checkfunc d_endhent 'endhostent'
-checkfunc d_endnent 'endnetent'
-checkfunc d_endpent 'endprotoent'
-checkfunc d_endpwent 'endpwent'
-checkfunc d_endservent 'endservent'
+checkfunc d_eaccess 'eaccess' "NULL,0" 'unistd.h'
+checkfunc d_endgrent 'endgrent' '' 'grp.h sys/types.h'
+checkfunc d_endhent 'endhostent' "" 'netdb.h'
+checkfunc d_endnent 'endnetent' "" 'netdb.h'
+checkfunc d_endpent 'endprotoent' "" 'netdb.h'
+checkfunc d_endpwent 'endpwent' "" 'sys/types.h pwd.h'
+checkfunc d_endservent 'endservent' "" 'netdb.h'
 checkfunc d_fchdir 'fchdir' "0" 'unistd.h'
-checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h'
-checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h'
+checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h sys/stat.h'
+checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h sys/stat.h'
 checkfunc d_fchown 'fchown' "0,0,0" 'unistd.h'
 checkfunc d_fcntl 'fcntl' "0,0" 'unistd.h fcntl.h'
 checkfunc d_fdclose 'fdclose'
-checkfunc d_ffs 'ffs' 'strings.h'
-checkfunc d_ffsl 'ffsl' 'strings.h'
+checkfunc d_ffs 'ffs' "0" 'strings.h'
+checkfunc d_ffsl 'ffsl' "0" 'strings.h'
 checkfunc d_fgetpos 'fgetpos' "NULL, 0" 'stdio.h'
-checkfunc d_flock 'flock' "0,0" 'unistd.h'
+checkfunc d_flock 'flock' "0,0" 'sys/file.h'
 checkfunc d_fork 'fork' "" 'unistd.h'
 checkfunc d_fp_class 'fp_class'
 checkfunc d_fpathconf 'fpathconf' "0,0" 'unistd.h'
-checkfunc d_freelocale 'freelocale' '0' 'locale.h'
-checkfunc d_fseeko 'fseeko' 'NULL,0,0'
-checkfunc d_fsetpos 'fsetpos' 'NULL,0'
-checkfunc d_fstatfs 'fstatfs'
-checkfunc d_fstatvfs 'fstatvfs'
-checkfunc d_fsync 'fsync'
-checkfunc d_ftello 'ftello'
-checkfunc d_futimes 'futimes'
+checkfunc d_freelocale 'freelocale' "0" 'locale.h'
+checkfunc d_fseeko 'fseeko' "NULL,0,0" 'stdio.h'
+checkfunc d_fsetpos 'fsetpos' "NULL,0" 'stdio.h'
+checkfunc d_fstatfs 'fstatfs' "0,NULL" 'sys/vfs.h'
+checkfunc d_fstatvfs 'fstatvfs' "0,NULL" 'sys/statvfs.h'
+checkfunc d_fsync 'fsync' "0" 'unistd.h'
+checkfunc d_ftello 'ftello' "NULL" 'stdio.h'
+checkfunc d_futimes 'futimes' '0,0' 'sys/time.h'
 checkfunc d_gai_strerror 'gai_strerror' '0' 'sys/types.h sys/socket.h netdb.h'
-checkfunc d_getaddrinfo 'getaddrinfo'
-checkfunc d_get_current_dir_name 'get_current_dir_name'
-checkfunc d_getcwd 'getcwd' 'NULL,0'
+checkfunc d_getaddrinfo 'getaddrinfo' "NULL,NULL,NULL,NULL" 'sys/types.h sys/socket.h netdb.h'
+checkfunc d_get_current_dir_name 'get_current_dir_name' "" 'unistd.h'
+checkfunc d_getcwd 'getcwd' 'NULL,0' 'unistd.h'
 checkfunc d_getespwnam 'getespwnam'
 checkfunc d_getfsstat 'getfsstat'
-checkfunc d_getgrent 'getgrent'
-checkfunc d_getgrps 'getgroups'
-checkfunc d_gethbyaddr 'gethostbyaddr'
-checkfunc d_gethbyname 'gethostbyname'
+checkfunc d_getgrent 'getgrent' "" 'sys/types.h grp.h'
+checkfunc d_getgrps 'getgroups' "0,NULL" 'unistd.h'
+checkfunc d_gethbyaddr 'gethostbyaddr' "NULL,0,0" 'netdb.h'
+checkfunc d_gethbyname 'gethostbyname' "NULL" 'netdb.h'
 checkfunc d_getnbyaddr 'getnetbyaddr' '0,0' 'netdb.h'
 checkfunc d_getnbyname 'getnetbyname' 'NULL' 'netdb.h'
-checkfunc d_gethent 'gethostent'
-checkfunc d_gethname 'gethostname'
-checkfunc d_getitimer 'getitimer'
-checkfunc d_getlogin 'getlogin'
+checkfunc d_gethent 'gethostent' "" 'netdb.h'
+checkfunc d_gethname 'gethostname' "NULL,0" 'unistd.h'
+checkfunc d_getitimer 'getitimer' "0,NULL" 'sys/time.h'
+checkfunc d_getlogin 'getlogin' "" 'unistd.h'
 checkfunc d_getmnt 'getmnt'
-checkfunc d_getmntent 'getmntent'
-checkfunc d_getnameinfo 'getnameinfo'
-checkfunc d_getnent 'getnetent'
-checkfunc d_getnetbyaddr 'getnetbyaddr'
-checkfunc d_getnetbyname 'getnetbyname'
-checkfunc d_getpagsz 'getpagesize'
+checkfunc d_getmntent 'getmntent' "NULL" 'stdio.h mntent.h'
+checkfunc d_getnameinfo 'getnameinfo' "NULL,0,NULL,0,NULL,0,0" 'sys/socket.h netdb.h'
+checkfunc d_getnent 'getnetent' "" 'netdb.h'
+checkfunc d_getnetbyaddr 'getnetbyaddr' "0,0" 'netdb.h'
+checkfunc d_getnetbyname 'getnetbyname' "NULL" 'netdb.h'
+checkfunc d_getpagsz 'getpagesize' "" 'unistd.h'
 checkfunc d_getpbyaddr 'getprotobyaddr'
-checkfunc d_getpbyname 'getprotobyname'
-checkfunc d_getpbynumber 'getprotobynumber'
-checkfunc d_getpent 'getprotoent'
-checkfunc d_getpgid 'getpgid'
+checkfunc d_getpbyname 'getprotobyname' "NULL" 'netdb.h'
+checkfunc d_getpbynumber 'getprotobynumber' "0" 'netdb.h'
+checkfunc d_getpent 'getprotoent' "" 'netdb.h'
+checkfunc d_getpgid 'getpgid' "0" 'unistd.h'
 checkfunc d_getpgrp 'getpgrp' "" 'unistd.h'
 checkfunc d_getpgrp2 'getpgrp2'
-checkfunc d_getppid 'getppid'
+checkfunc d_getppid 'getppid' "" 'unistd.h'
 checkfunc d_getprior 'getpriority' "0,0" 'sys/time.h sys/resource.h'
 checkfunc d_getprpwnam 'getprpwnam'
-checkfunc d_getpwent 'getpwent'
+checkfunc d_getpwent 'getpwent' "" 'sys/types.h pwd.h'
 checkfunc d_getsbyaddr 'getservbyaddr'
-checkfunc d_getsbyname 'getservbyname'
-checkfunc d_getsbyport 'getservbyport'
-checkfunc d_getsent 'getservent'
-checkfunc d_setsent 'setservent'
-checkfunc d_endsent 'endservent'
-checkfunc d_getspnam 'getspnam'
-checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL'
+checkfunc d_getsbyname 'getservbyname' "NULL,NULL" 'netdb.h'
+checkfunc d_getsbyport 'getservbyport' "0,NULL" 'netdb.h'
+checkfunc d_getsent 'getservent' "" 'netdb.h'
+checkfunc d_setsent 'setservent' "0" 'netdb.h'
+checkfunc d_endsent 'endservent' "" 'netdb.h'
+checkfunc d_getspnam 'getspnam' "NULL" 'shadow.h'
+checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL' 'sys/time.h'
 checkfunc d_gmtime64 'gmtime64'
-checkfunc d_hasmntopt 'hasmntopt'
+checkfunc d_hasmntopt 'hasmntopt' "NULL,NULL" 'stdio.h mntent.h'
 checkfunc d_htonl 'htonl' "0" 'stdio.h sys/types.h netinet/in.h arpa/inet.h'
-checkfunc d_ilogbl 'ilogbl'
+checkfunc d_ilogbl 'ilogbl' "0.0" 'math.h'
 checkfunc d_index 'index' "NULL,0" 'string.h strings.h'
-checkfunc d_inetaton 'inet_aton'
-checkfunc d_inetntop 'inet_ntop'
-checkfunc d_inetpton 'inet_pton'
+checkfunc d_inetaton 'inet_aton' "NULL,NULL" 'sys/socket.h netinet/in.h arpa/inet.h'
+checkfunc d_inetntop 'inet_ntop' "0,NULL,NULL,0" 'arpa/inet.h'
+checkfunc d_inetpton 'inet_pton' "0,NULL,NULL" 'arpa/inet.h'
 checkfunc d_isascii 'isascii' "'A'" 'stdio.h ctype.h'
 checkfunc d_isblank 'isblank' "' '" 'stdio.h ctype.h'
-checkfunc d_killpg 'killpg'
+checkfunc d_killpg 'killpg' "0,0" 'signal.h'
 checkfunc d_lchown 'lchown' "NULL, 0, 0" 'unistd.h'
-checkfunc d_link 'link' 'NULL,NULL'
-checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0'
+checkfunc d_link 'link' 'NULL,NULL' 'unistd.h'
+checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0' 'unistd.h'
 checkfunc d_localtime64 'localtime64'
 checkfunc d_localeconv_l 'localeconv_l' 'NULL' 'locale.h'
-checkfunc d_locconv 'localeconv'
-checkfunc d_lockf 'lockf'
-checkfunc d_lstat 'lstat'
-checkfunc d_madvise 'madvise'
+checkfunc d_locconv 'localeconv' "" 'locale.h'
+checkfunc d_lockf 'lockf' "0,0,0" 'unistd.h'
+checkfunc d_lstat 'lstat' "NULL, NULL" 'sys/stat.h'
+checkfunc d_madvise 'madvise' "NULL,0,0" 'sys/mman.h'
 checkfunc d_malloc_good_size 'malloc_good_size'
 checkfunc d_malloc_size 'malloc_size'
 checkfunc d_mblen 'mblen' '"", 0' 'stdlib.h'
-checkfunc d_mbstowcs 'mbstowcs'
+checkfunc d_mbstowcs 'mbstowcs' "NULL,NULL,0"
 checkfunc d_mbtowc 'mbtowc' 'NULL, NULL, 0' 'stdlib.h'
 checkfunc d_mbrlen 'mbrlen' 'NULL, 0, NULL' 'wchar.h'
 checkfunc d_mbrtowc 'mbrtowc' 'NULL, NULL, 0, NULL' 'wchar.h'
@@ -161,152 +162,152 @@ checkfunc d_memmem 'memmem' "NULL, 0, NU
 checkfunc d_memmove 'memmove' "NULL, NULL, 0" 'string.h'
 checkfunc d_memrchr 'memrchr' "NULL, 0, 0" 'string.h'
 checkfunc d_memset 'memset' "NULL, 0, 0" 'string.h'
-checkfunc d_mkdir 'mkdir' 'NULL, 0'
-checkfunc d_mkdtemp 'mkdtemp'
-checkfunc d_mkfifo 'mkfifo'
+checkfunc d_mkdir 'mkdir' 'NULL, 0' 'sys/stat.h'
+checkfunc d_mkdtemp 'mkdtemp' 'NULL'
+checkfunc d_mkfifo 'mkfifo' 'NULL,0' 'sys/types.h sys/stat.h'
 checkfunc d_mkostemp 'mkostemp' 'NULL,0' 'stdlib.h'
 checkfunc d_mkstemp 'mkstemp' 'NULL'
-checkfunc d_mkstemps 'mkstemps'
-checkfunc d_mktime 'mktime' 'NULL'
+checkfunc d_mkstemps 'mkstemps' 'NULL,0'
+checkfunc d_mktime 'mktime' 'NULL' 'time.h'
 checkfunc d_mktime64 'mktime64'
-checkfunc d_mmap 'mmap'
-checkfunc d_mprotect 'mprotect'
-checkfunc d_msgctl 'msgctl'
-checkfunc d_msgget 'msgget'
-checkfunc d_msgrcv 'msgrcv'
-checkfunc d_msgsnd 'msgsnd'
-checkfunc d_msync 'msync'
-checkfunc d_munmap 'munmap'
+checkfunc d_mmap 'mmap' 'NULL,0,0,0,0,0' 'sys/mman.h'
+checkfunc d_mprotect 'mprotect' 'NULL,0,0' 'sys/mman.h'
+checkfunc d_msgctl 'msgctl' '0,0,NULL' 'sys/msg.h'
+checkfunc d_msgget 'msgget' '0,0' 'sys/msg.h'
+checkfunc d_msgrcv 'msgrcv' '0,NULL,0,0,0' 'sys/msg.h'
+checkfunc d_msgsnd 'msgsnd' '0,NULL,0,0' 'sys/msg.h'
+checkfunc d_msync 'msync' 'NULL,0,0' 'sys/mman.h'
+checkfunc d_munmap 'munmap' 'NULL,0' 'sys/mman.h'
 checkfunc d_newlocale 'newlocale' '0,NULL,0' 'locale.h'
-checkfunc d_nice 'nice' '0'
-checkfunc d_nl_langinfo 'nl_langinfo'
-checkfunc d_nl_langinfo_l 'nl_langinfo_l'
+checkfunc d_nice 'nice' '0' 'unistd.h'
+checkfunc d_nl_langinfo 'nl_langinfo' '0' 'langinfo.h'
+checkfunc d_nl_langinfo_l 'nl_langinfo_l' '0,0' 'langinfo.h'
 checkfunc d_open 'open' "NULL,0,0" 'sys/types.h sys/stat.h fcntl.h'
 checkfunc d_openat 'openat' "0,NULL,0,0" 'sys/types.h sys/stat.h fcntl.h'
-checkfunc d_pathconf 'pathconf'
-checkfunc d_pause 'pause'
+checkfunc d_pathconf 'pathconf' 'NULL,0' 'unistd.h'
+checkfunc d_pause 'pause' '' 'unistd.h'
 checkfunc d_pipe 'pipe' 'NULL' 'fcntl.h unistd.h'
 checkfunc d_pipe2 'pipe' 'NULL,0' 'fcntl.h unistd.h'
-checkfunc d_poll 'poll'
-checkfunc d_prctl 'prctl'
-checkfunc d_pthread_atfork 'pthread_atfork'
-checkfunc d_pthread_attr_setscope 'pthread_attr_setscope'
-checkfunc d_pthread_yield 'pthread_yield'
+checkfunc d_poll 'poll' 'NULL,0,0' 'poll.h'
+checkfunc d_prctl 'prctl' '0,0,0,0,0' 'sys/prctl.h'
+checkfunc d_pthread_atfork 'pthread_atfork' 'NULL,NULL,NULL' 'pthread.h'
+checkfunc d_pthread_attr_setscope 'pthread_attr_setscope' 'NULL,0' 'pthread.h'
+checkfunc d_pthread_yield 'pthread_yield' '' 'pthread.h'
 checkfunc d_querylocale 'querylocale'
 checkfunc d_qgcvt 'qgcvt' '1.0,1,NULL'
-checkfunc d_rand 'rand'
-checkfunc d_random 'random'
-checkfunc d_re_comp 're_comp'
-checkfunc d_readdir 'readdir' 'NULL'
-checkfunc d_readlink 'readlink'
-checkfunc d_realpath 'realpath'
-checkfunc d_readv 'readv'
-checkfunc d_recvmsg 'recvmsg'
+checkfunc d_rand 'rand' '' 'stdlib.h'
+checkfunc d_random 'random' '' 'stdlib.h'
+checkfunc d_re_comp 're_comp' 'NULL' 'sys/types.h regex.h'
+checkfunc d_readdir 'readdir' 'NULL' 'dirent.h'
+checkfunc d_readlink 'readlink' 'NULL,NULL,0' 'unistd.h'
+checkfunc d_realpath 'realpath' 'NULL,NULL' 'limits.h stdlib.h'
+checkfunc d_readv 'readv' '0,NULL,0' 'sys/uio.h'
+checkfunc d_recvmsg 'recvmsg' '0,NULL,0' 'sys/socket.h'
 checkfunc d_regcmp 'regcmp'
-checkfunc d_regcomp 'regcomp'
-checkfunc d_rename 'rename' 'NULL,NULL'
-checkfunc d_renameat 'renameat' '0,NULL,0,NULL'
-checkfunc d_rewinddir 'rewinddir'
-checkfunc d_rmdir 'rmdir' 'NULL'
-checkfunc d_sched_yield 'sched_yield'
-checkfunc d_seekdir 'seekdir'
-checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL'
-checkfunc d_semctl 'semctl'
-checkfunc d_semget 'semget'
-checkfunc d_semop 'semop'
-checkfunc d_sendmsg 'sendmsg'
-checkfunc d_setegid 'setegid'
-checkfunc d_setent 'setservent'
-checkfunc d_setenv 'setenv'
-checkfunc d_seteuid 'seteuid'
-checkfunc d_setgrent 'setgrent'
-checkfunc d_setgrps 'setgroups'
-checkfunc d_sethent 'sethostent'
-checkfunc d_setitimer 'setitimer'
-checkfunc d_setlinebuf 'setlinebuf'
+checkfunc d_regcomp 'regcomp' 'NULL,NULL,0' 'regex.h'
+checkfunc d_rename 'rename' 'NULL,NULL' 'stdio.h'
+checkfunc d_renameat 'renameat' '0,NULL,0,NULL' 'fcntl.h stdio.h'
+checkfunc d_rewinddir 'rewinddir' 'NULL' 'sys/types.h dirent.h'
+checkfunc d_rmdir 'rmdir' 'NULL' 'unistd.h'
+checkfunc d_sched_yield 'sched_yield' '' 'sched.h'
+checkfunc d_seekdir 'seekdir' 'NULL,0' 'dirent.h'
+checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL' 'sys/select.h'
+checkfunc d_semctl 'semctl' '0,0,0, NULL' 'sys/sem.h'
+checkfunc d_semget 'semget' '0,0,0' 'sys/sem.h'
+checkfunc d_semop 'semop' '0,NULL,0' 'sys/sem.h'
+checkfunc d_sendmsg 'sendmsg' '0,NULL,0' 'sys/socket.h'
+checkfunc d_setegid 'setegid' '0' 'unistd.h'
+checkfunc d_setent 'setservent' '0' 'netdb.h'
+checkfunc d_setenv 'setenv' 'NULL,NULL,0'
+checkfunc d_seteuid 'seteuid' '0' 'unistd.h'
+checkfunc d_setgrent 'setgrent' '' 'sys/types.h grp.h'
+checkfunc d_setgrps 'setgroups' '0,NULL' 'unistd.h grp.h'
+checkfunc d_sethent 'sethostent' '0' 'netdb.h'
+checkfunc d_setitimer 'setitimer' '0,NULL,NULL' 'sys/time.h'
+checkfunc d_setlinebuf 'setlinebuf' 'NULL' 'stdio.h'
 checkfunc d_setlocale 'setlocale' "0,NULL" 'locale.h'
-checkfunc d_setnent 'setnetent'
-checkfunc d_setpent 'setprotoent'
-checkfunc d_setpgid 'setpgid'
-checkfunc d_setpgrp 'setpgrp'
+checkfunc d_setnent 'setnetent' '0' 'netdb.h'
+checkfunc d_setpent 'setprotoent' '0' 'netdb.h'
+checkfunc d_setpgid 'setpgid' '0,0' 'unistd.h'
+checkfunc d_setpgrp 'setpgrp' '' 'unistd.h'
 checkfunc d_setpgrp2 'setpgrp2'
-checkfunc d_setprior 'setpriority'
-checkfunc d_setproctitle 'setproctitle'
-checkfunc d_setpwent 'setpwent'
-checkfunc d_setregid 'setregid'
-checkfunc d_setresgid 'setresgid'
-checkfunc d_setresuid 'setresuid'
-checkfunc d_setreuid 'setreuid'
-checkfunc d_setrgid 'setrgid'
+checkfunc d_setprior 'setpriority' '0,0,0' 'sys/resource.h'
+checkfunc d_setproctitle 'setproctitle' 'NULL,NULL' 'sys/types.h unistd.h'
+checkfunc d_setpwent 'setpwent' '' 'sys/types.h pwd.h'
+checkfunc d_setregid 'setregid' '0,0' 'unistd.h'
+checkfunc d_setresgid 'setresgid' '0,0,0' 'unistd.h'
+checkfunc d_setresuid 'setresuid' '0,0,0' 'unistd.h'
+checkfunc d_setreuid 'setreuid' '0,0' 'unistd.h'
+checkfunc d_setrgid 'setrgid' ''
 checkfunc d_setruid 'setruid'
-checkfunc d_setsid 'setsid'
-checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0'
+checkfunc d_setsid 'setsid' '' 'unistd.h'
+checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0' 'stdio.h'
 checkfunc d_sfreserve 'sfreserve' "" 'sfio.h'
-checkfunc d_shmat 'shmat'
-checkfunc d_shmctl 'shmctl'
-checkfunc d_shmdt 'shmdt'
-checkfunc d_shmget 'shmget'
-checkfunc d_sigaction 'sigaction'
-checkfunc d_sigprocmask 'sigprocmask'
+checkfunc d_shmat 'shmat' '0,NULL,0' 'sys/shm.h'
+checkfunc d_shmctl 'shmctl' '0,0,NULL' 'sys/shm.h'
+checkfunc d_shmdt 'shmdt' 'NULL' 'sys/shm.h'
+checkfunc d_shmget 'shmget' '0,0,0' 'sys/shm.h'
+checkfunc d_sigaction 'sigaction' '0,NULL,NULL' 'signal.h'
+checkfunc d_sigprocmask 'sigprocmask' '0,NULL,NULL' 'signal.h'
 checkfunc d_sigsetjmp 'sigsetjmp' "NULL,0" 'setjmp.h'
-checkfunc d_snprintf 'snprintf'
-checkfunc d_sockatmark 'sockatmark'
+checkfunc d_snprintf 'snprintf' 'NULL,0,NULL' 'stdio.h'
+checkfunc d_sockatmark 'sockatmark' '0' 'sys/socket.h'
 checkfunc d_socket 'socket' "0,0,0" 'sys/types.h sys/socket.h'
-checkfunc d_sockpair 'socketpair'
+checkfunc d_sockpair 'socketpair' '0,0,0,NULL' 'sys/socket.h'
 checkfunc d_socks5_init 'socks5_init'
-checkfunc d_stat 'stat'
-checkfunc d_statvfs 'statvfs'
+checkfunc d_stat 'stat' 'NULL,NULL' 'sys/stat.h'
+checkfunc d_statvfs 'statvfs' 'NULL,NULL' 'sys/statvfs.h'
 checkfunc d_strchr 'strchr' "NULL,0" 'string.h strings.h'
 checkfunc d_strcoll 'strcoll' "NULL,NULL" 'string.h'
 checkfunc d_strerror 'strerror' "0" 'string.h stdlib.h'
-checkfunc d_strerror_l 'strerror_l'
+checkfunc d_strerror_l 'strerror_l' '0,NULL' 'string.h'
 checkfunc d_strftime 'strftime' "NULL,0,NULL,NULL" 'time.h'
-checkfunc d_strlcat 'strlcat'
-checkfunc d_strlcpy 'strlcpy'
+checkfunc d_strlcat 'strlcat' 'NULL,NULL,0' 'string.h'
+checkfunc d_strlcpy 'strlcpy' 'NULL,NULL,0' 'string.h'
 checkfunc d_strnlen 'strnlen' '"",0' 'string.h'
 checkfunc d_strtod 'strtod' 'NULL,NULL'
 checkfunc d_strtod_l 'strtod_l'
 checkfunc d_strtol 'strtol' 'NULL,NULL,0'
-checkfunc d_strtold 'strtold'
+checkfunc d_strtold 'strtold' 'NULL,NULL'
 checkfunc d_strtold_l 'strtold_l'
-checkfunc d_strtoll 'strtoll'
-checkfunc d_strtoq 'strtoq'
+checkfunc d_strtoll 'strtoll' 'NULL,NULL,0'
+checkfunc d_strtoq 'strtoq' 'NULL,NULL,0'
 checkfunc d_strtoul 'strtoul' 'NULL,NULL,0'
 checkfunc d_strtoull 'strtoull' 'NULL,NULL,0'
-checkfunc d_strtouq 'strtouq'
-checkfunc d_strxfrm 'strxfrm'
-checkfunc d_strxfrm_l 'strxfrm_l'
-checkfunc d_symlink 'symlink'
-checkfunc d_syscall 'syscall'
-checkfunc d_sysconf 'sysconf' '0'
+checkfunc d_strtouq 'strtouq' 'NULL,NULL,0'
+checkfunc d_strxfrm 'strxfrm' 'NULL,NULL,0' 'string.h'
+checkfunc d_strxfrm_l 'strxfrm_l' 'NULL,NULL,0,NULL' 'string.h'
+checkfunc d_symlink 'symlink' 'NULL,NULL' 'unistd.h'
+checkfunc d_syscall 'syscall' '0,NULL' 'sys/syscall.h unistd.h'
+checkfunc d_sysconf 'sysconf' '0' 'unistd.h'
 checkfunc d_system 'system' 'NULL'
-checkfunc d_tcgetpgrp 'tcgetpgrp'
-checkfunc d_tcsetpgrp 'tcsetpgrp'
-checkfunc d_telldir 'telldir'
-checkfunc d_time 'time' 'NULL'
-checkfunc d_timegm 'timegm'
-checkfunc d_times 'times' 'NULL'
+checkfunc d_tcgetpgrp 'tcgetpgrp' '0' 'unistd.h'
+checkfunc d_tcsetpgrp 'tcsetpgrp' '0,0' 'unistd.h'
+checkfunc d_telldir 'telldir' 'NULL' 'dirent.h'
+checkfunc d_time 'time' 'NULL' 'time.h'
+checkfunc d_timegm 'timegm' 'NULL' 'time.h'
+checkfunc d_times 'times' 'NULL' 'sys/times.h'
 checkfunc d_towlower 'towlower' '0' 'wctype.h'
 checkfunc d_towupper 'towupper' '0' 'wctype.h'
-checkfunc d_truncate 'truncate' 'NULL,0'
-checkfunc d_ualarm 'ualarm'
-checkfunc d_umask 'umask' '0'
-checkfunc d_uname 'uname'
-checkfunc d_unlinkat 'unlinkat' '0,NULL,0'
+checkfunc d_truncate 'truncate' 'NULL,0' 'unistd.h'
+checkfunc d_ualarm 'ualarm' 'NULL,NULL' 'unistd.h'
+checkfunc d_umask 'umask' '0' 'sys/stat.h'
+checkfunc d_uname 'uname' 'NULL' 'sys/utsname.h'
+checkfunc d_unlinkat 'unlinkat' '0,NULL,0' 'unistd.h fcntl.h'
 checkfunc d_unordered 'unordered'
-checkfunc d_unsetenv 'unsetenv'
+checkfunc d_unsetenv 'unsetenv' 'NULL'
 checkfunc d_uselocale 'uselocale' '0' 'locale.h'
-checkfunc d_usleep 'usleep'
-checkfunc d_ustat 'ustat'
+checkfunc d_usleep 'usleep' '0' 'unistd.h'
+checkfunc d_ustat 'ustat' '0,NULL' 'sys/types.h unistd.h'
 define d_vfork 'undef' # unnecessary
-checkfunc d_vprintf 'vprintf' 'NULL,0'
-checkfunc d_vsnprintf 'vsnprintf'
-checkfunc d_wait4 'wait4'
-checkfunc d_waitpid 'waitpid' '0,NULL,0'
-checkfunc d_wcrtomb 'wcrtomb'
-checkfunc d_wcscmp 'wcscmp'
-checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0'
-checkfunc d_wcsxfrm 'wcsxfrm'
-checkfunc d_wctomb 'wctomb'
-checkfunc d_writev 'writev'
+checkfunc d_vprintf 'vprintf' 'NULL,0' 'stdio.h'
+checkfunc d_vsnprintf 'vsnprintf' 'NULL,0,NULL,NULL' 'stdio.h'
+checkfunc d_wait4 'wait4' '0,NULL,0,NULL' 'sys/wait.h'
+checkfunc d_waitpid 'waitpid' '0,NULL,0' 'sys/wait.h'
+checkfunc d_wcrtomb 'wcrtomb' 'NULL,0,NULL' 'wchar.h'
+checkfunc d_wcscmp 'wcscmp' 'NULL,NULL' 'wchar.h'
+checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0' 'wchar.h'
+checkfunc d_wcsxfrm 'wcsxfrm' 'NULL,NULL,0' 'wchar.h'
+checkfunc d_wctomb 'wctomb' 'NULL,NULL' 'wchar.h'
+checkfunc d_writev 'writev' '0,NULL,0' 'sys/uio.h'
 unset includes