This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Silence metalint
[metaconfig.git] / U / threads / d_readdir64_r.U
CommitLineData
0ed44c70 1?RCS: $Id: d_readdir64_r.U,v 0RCS:
55e6b58d 2?RCS: Copyright (c) 2002,2003 Jarkko Hietaniemi
0ed44c70
JH
3?RCS:
4?RCS: You may distribute under the terms of either the GNU General Public
5?RCS: License or the Artistic License, as specified in the README file.
6?RCS:
7?RCS: Generated by the reentr.pl from the Perl 5.8 distribution.
8?RCS:
cce04e58
MB
9?MAKE:d_readdir64_r readdir64_r_proto: Inlibc Protochk Hasproto i_systypes \
10 usethreads i_dirent extern_C
eed88ce0 11?MAKE: -pick add $@ %<
8e87a72a 12?S:d_readdir64_r:
eed88ce0
JH
13?S: This variable conditionally defines the HAS_READDIR64_R symbol,
14?S: which indicates to the C program that the readdir64_r()
15?S: routine is available.
8e87a72a
JH
16?S:.
17?S:readdir64_r_proto:
eed88ce0 18?S: This variable encodes the prototype of readdir64_r.
05fdd8fd
JH
19?S: It is zero if d_readdir64_r is undef, and one of the
20?S: REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
21?S: is defined.
8e87a72a
JH
22?S:.
23?C:HAS_READDIR64_R:
eed88ce0
JH
24?C: This symbol, if defined, indicates that the readdir64_r routine
25?C: is available to readdir64 re-entrantly.
8e87a72a
JH
26?C:.
27?C:READDIR64_R_PROTO:
eed88ce0 28?C: This symbol encodes the prototype of readdir64_r.
05fdd8fd
JH
29?C: It is zero if d_readdir64_r is undef, and one of the
30?C: REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
31?C: is defined.
8e87a72a 32?C:.
eed88ce0
JH
33?H:#$d_readdir64_r HAS_READDIR64_R /**/
34?H:#define READDIR64_R_PROTO $readdir64_r_proto /**/
8e87a72a 35?H:.
f42a43f5 36?T:try hdrs d_readdir64_r_proto
8e87a72a
JH
37: see if readdir64_r exists
38set readdir64_r d_readdir64_r
39eval $inlibc
40case "$d_readdir64_r" in
41"$define")
f2dee704 42 hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
9bb0d1dd
JH
43 case "$d_readdir64_r_proto:$usethreads" in
44 ":define") d_readdir64_r_proto=define
f42a43f5
JH
45 set d_readdir64_r_proto readdir64_r $hdrs
46 eval $hasproto ;;
47 *) ;;
48 esac
49 case "$d_readdir64_r_proto" in
50 define)
46953654 51 case "$readdir64_r_proto" in
5002a627 52 ''|0) try='int readdir64_r(DIR*, struct dirent64*, struct dirent64**);'
cce04e58 53 ./protochk "$extern_C $try" $hdrs && readdir64_r_proto=I_TSR ;;
46953654
JH
54 esac
55 case "$readdir64_r_proto" in
5002a627 56 ''|0) try='int readdir64_r(DIR*, struct dirent64*);'
cce04e58 57 ./protochk "$extern_C $try" $hdrs && readdir64_r_proto=I_TS ;;
46953654
JH
58 esac
59 case "$readdir64_r_proto" in
81d83c43 60 ''|0) d_readdir64_r=undef
5002a627 61 readdir64_r_proto=0
f42a43f5 62 echo "Disabling readdir64_r, cannot determine prototype." >&4 ;;
f2dee704
JH
63 * ) case "$readdir64_r_proto" in
64 REENTRANT_PROTO*) ;;
65 *) readdir64_r_proto="REENTRANT_PROTO_$readdir64_r_proto" ;;
66 esac
67 echo "Prototype: $try" ;;
46953654 68 esac
8e87a72a 69 ;;
9bb0d1dd
JH
70 *) case "$usethreads" in
71 define) echo "readdir64_r has no prototype, not using it." >&4 ;;
72 esac
81d83c43
JH
73 d_readdir64_r=undef
74 readdir64_r_proto=0
9bb0d1dd 75 ;;
f42a43f5
JH
76 esac
77 ;;
5002a627
JH
78*) readdir64_r_proto=0
79 ;;
8e87a72a
JH
80esac
81