This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
aa440a5132cff7f5438028c32f2ebd536ffa4df9
[metaconfig.git] / U / threads / d_readdir64_r.U
1 ?RCS: $Id: d_readdir64_r.U,v 0RCS:
2 ?RCS: Copyright (c) 2002 Jarkko Hietaniemi
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:
9 ?MAKE:d_readdir64_r readdir64_r_proto: Inlibc Protochk Hasproto i_systypes usethreads i_dirent
10 ?MAKE:  -pick add $@ %<
11 ?S:d_readdir64_r:
12 ?S:     This variable conditionally defines the HAS_READDIR64_R symbol,
13 ?S:     which indicates to the C program that the readdir64_r()
14 ?S:     routine is available.
15 ?S:.
16 ?S:readdir64_r_proto:
17 ?S:     This variable encodes the prototype of readdir64_r.
18 ?S:     It is zero if d_readdir64_r is undef, and one of the
19 ?S:     REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
20 ?S:     is defined.
21 ?S:.
22 ?C:HAS_READDIR64_R:
23 ?C:     This symbol, if defined, indicates that the readdir64_r routine
24 ?C:     is available to readdir64 re-entrantly.
25 ?C:.
26 ?C:READDIR64_R_PROTO:
27 ?C:     This symbol encodes the prototype of readdir64_r.
28 ?C:     It is zero if d_readdir64_r is undef, and one of the
29 ?C:     REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
30 ?C:     is defined.
31 ?C:.
32 ?H:#$d_readdir64_r HAS_READDIR64_R         /**/
33 ?H:#define READDIR64_R_PROTO $readdir64_r_proto    /**/
34 ?H:.
35 ?T:try hdrs d_readdir64_r_proto
36 ?LINT:set d_readdir64_r
37 ?LINT:set readdir64_r_proto
38 : see if readdir64_r exists
39 set readdir64_r d_readdir64_r
40 eval $inlibc
41 case "$d_readdir64_r" in
42 "$define")
43         hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h"
44         case "$d_readdir64_r_proto:$usethreads" in
45         ":define")      d_readdir64_r_proto=define
46                 set d_readdir64_r_proto readdir64_r $hdrs
47                 eval $hasproto ;;
48         *)      ;;
49         esac
50         case "$d_readdir64_r_proto" in
51         define)
52         case "$readdir64_r_proto" in
53         ''|0) try='int readdir64_r(DIR*, struct dirent64*, struct dirent64**);'
54         ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TSR ;;
55         esac
56         case "$readdir64_r_proto" in
57         ''|0) try='int readdir64_r(DIR*, struct dirent64*);'
58         ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TS ;;
59         esac
60         case "$readdir64_r_proto" in
61         ''|0)   d_readdir64_r=undef
62                 readdir64_r_proto=0
63                 echo "Disabling readdir64_r, cannot determine prototype." >&4 ;;
64         * )     case "$readdir64_r_proto" in
65                 REENTRANT_PROTO*) ;;
66                 *) readdir64_r_proto="REENTRANT_PROTO_$readdir64_r_proto" ;;
67                 esac
68                 echo "Prototype: $try" ;;
69         esac
70         ;;
71         *)      case "$usethreads" in
72                 define) echo "readdir64_r has no prototype, not using it." >&4 ;;
73                 esac
74                 d_readdir64_r=undef
75                 readdir64_r_proto=0
76                 ;;
77         esac
78         ;;
79 *)      readdir64_r_proto=0
80         ;;
81 esac
82