This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
metaconfig: If not using threads, not point probing for the
[metaconfig.git] / U / threads / d_ttyname_r.U
1 ?RCS: $Id: d_ttyname_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_ttyname_r ttyname_r_proto: Inlibc Protochk Hasproto i_systypes i_unistd usethreads
10 ?MAKE:  -pick add $@ %<
11 ?S:d_ttyname_r:
12 ?S:     This variable conditionally defines the HAS_TTYNAME_R symbol,
13 ?S:     which indicates to the C program that the ttyname_r()
14 ?S:     routine is available.
15 ?S:.
16 ?S:ttyname_r_proto:
17 ?S:     This variable encodes the prototype of ttyname_r.
18 ?S:.
19 ?C:HAS_TTYNAME_R:
20 ?C:     This symbol, if defined, indicates that the ttyname_r routine
21 ?C:     is available to ttyname re-entrantly.
22 ?C:.
23 ?C:TTYNAME_R_PROTO:
24 ?C:     This symbol encodes the prototype of ttyname_r.
25 ?C:.
26 ?H:#$d_ttyname_r HAS_TTYNAME_R     /**/
27 ?H:#define TTYNAME_R_PROTO $ttyname_r_proto        /**/
28 ?H:.
29 ?T:try hdrs d_ttyname_r_proto
30 ?LINT:set d_ttyname_r
31 ?LINT:set ttyname_r_proto
32 : see if ttyname_r exists
33 set ttyname_r d_ttyname_r
34 eval $inlibc
35 case "$d_ttyname_r" in
36 "$define")
37         hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
38         case "$d_ttyname_r_proto:$usethreads" in
39         ":define")      d_ttyname_r_proto=define
40                 set d_ttyname_r_proto ttyname_r $hdrs
41                 eval $hasproto ;;
42         *)      ;;
43         esac
44         case "$d_ttyname_r_proto" in
45         define)
46         case "$ttyname_r_proto" in
47         ''|0) try='int ttyname_r(int, char*, size_t);'
48         ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBW ;;
49         esac
50         case "$ttyname_r_proto" in
51         ''|0) try='int ttyname_r(int, char*, int);'
52         ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBI ;;
53         esac
54         case "$ttyname_r_proto" in
55         ''|0) try='char* ttyname_r(int, char*, int);'
56         ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;;
57         esac
58         case "$ttyname_r_proto" in
59         '')     d_ttyname_r=undef
60                 ttyname_r_proto=0
61                 echo "Disabling ttyname_r, cannot determine prototype." >&4 ;;
62         * )     case "$ttyname_r_proto" in
63                 REENTRANT_PROTO*) ;;
64                 *) ttyname_r_proto="REENTRANT_PROTO_$ttyname_r_proto" ;;
65                 esac
66                 echo "Prototype: $try" ;;
67         esac
68         ;;
69         *)      case "$usethreads" in
70                 define) echo "ttyname_r has no prototype, not using it." >&4 ;;
71                 esac
72                 ;;
73         esac
74         ;;
75 *)      ttyname_r_proto=0
76         ;;
77 esac
78