This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
metaconfig unit changes for #15388.
[metaconfig.git] / U / threads / d_getpwuid_r.U
1 ?RCS: $Id: d_getpwuid_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_getpwuid_r getpwuid_r_proto: Inlibc Protochk Hasproto i_systypes i_pwd usethreads
10 ?MAKE:  -pick add $@ %<
11 ?S:d_getpwuid_r:
12 ?S:     This variable conditionally defines the HAS_GETPWUID_R symbol,
13 ?S:     which indicates to the C program that the getpwuid_r()
14 ?S:     routine is available.
15 ?S:.
16 ?S:getpwuid_r_proto:
17 ?S:     This variable encodes the prototype of getpwuid_r.
18 ?S:.
19 ?C:HAS_GETPWUID_R:
20 ?C:     This symbol, if defined, indicates that the getpwuid_r routine
21 ?C:     is available to getpwuid re-entrantly.
22 ?C:.
23 ?C:GETPWUID_R_PROTO:
24 ?C:     This symbol encodes the prototype of getpwuid_r.
25 ?C:.
26 ?H:#$d_getpwuid_r HAS_GETPWUID_R           /**/
27 ?H:#define GETPWUID_R_PROTO $getpwuid_r_proto      /**/
28 ?H:.
29 ?T:try hdrs d_getpwuid_r_proto
30 ?LINT:set d_getpwuid_r
31 ?LINT:set getpwuid_r_proto
32 : see if getpwuid_r exists
33 set getpwuid_r d_getpwuid_r
34 eval $inlibc
35 case "$d_getpwuid_r" in
36 "$define")
37         hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h"
38         case "pwd" in
39         time)
40                 hdrs="$hdrs $i_systime sys/time.h"
41                 ;;
42         esac
43         case "$d_getpwuid_r_proto:$usethreads" in
44         ":define")      d_getpwuid_r_proto=define
45                 set d_getpwuid_r_proto getpwuid_r $hdrs
46                 eval $hasproto ;;
47         *)      ;;
48         esac
49         case "$d_getpwuid_r_proto" in
50         define)
51         case "$getpwuid_r_proto" in
52         ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);'
53         ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBWR ;;
54         esac
55         case "$getpwuid_r_proto" in
56         ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int, struct passwd**);'
57         ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBIR ;;
58         esac
59         case "$getpwuid_r_proto" in
60         ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int);'
61         ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBI ;;
62         esac
63         case "$getpwuid_r_proto" in
64         ''|0) try='struct passwd* getpwuid_r(uid_t, struct passwd*, char*, int);'
65         ./protochk "extern $try" $hdrs && getpwuid_r_proto=S_TSBI ;;
66         esac
67         case "$getpwuid_r_proto" in
68         ''|0)   d_getpwuid_r=undef
69                 getpwuid_r_proto=0
70                 echo "Disabling getpwuid_r, cannot determine prototype." >&4 ;;
71         * )     case "$getpwuid_r_proto" in
72                 REENTRANT_PROTO*) ;;
73                 *) getpwuid_r_proto="REENTRANT_PROTO_$getpwuid_r_proto" ;;
74                 esac
75                 echo "Prototype: $try" ;;
76         esac
77         ;;
78         *)      case "$usethreads" in
79                 define) echo "getpwuid_r has no prototype, not using it." >&4 ;;
80                 esac
81                 d_getpwuid_r=undef
82                 getpwuid_r_proto=0
83                 ;;
84         esac
85         ;;
86 *)      getpwuid_r_proto=0
87         ;;
88 esac
89