This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
First line of body should be descriptive comment
[metaconfig.git] / U / threads / d_ttyname_r.U
CommitLineData
0ed44c70 1?RCS: $Id: d_ttyname_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:
89d9cf69 9?MAKE:d_ttyname_r ttyname_r_proto: Inlibc Protochk Hasproto i_systypes usethreads i_unistd
eed88ce0 10?MAKE: -pick add $@ %<
8e87a72a 11?S:d_ttyname_r:
eed88ce0
JH
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.
8e87a72a
JH
15?S:.
16?S:ttyname_r_proto:
eed88ce0 17?S: This variable encodes the prototype of ttyname_r.
05fdd8fd
JH
18?S: It is zero if d_ttyname_r is undef, and one of the
19?S: REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
20?S: is defined.
8e87a72a
JH
21?S:.
22?C:HAS_TTYNAME_R:
eed88ce0
JH
23?C: This symbol, if defined, indicates that the ttyname_r routine
24?C: is available to ttyname re-entrantly.
8e87a72a
JH
25?C:.
26?C:TTYNAME_R_PROTO:
eed88ce0 27?C: This symbol encodes the prototype of ttyname_r.
05fdd8fd
JH
28?C: It is zero if d_ttyname_r is undef, and one of the
29?C: REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
30?C: is defined.
8e87a72a 31?C:.
eed88ce0
JH
32?H:#$d_ttyname_r HAS_TTYNAME_R /**/
33?H:#define TTYNAME_R_PROTO $ttyname_r_proto /**/
8e87a72a 34?H:.
f42a43f5 35?T:try hdrs d_ttyname_r_proto
8e87a72a
JH
36: see if ttyname_r exists
37set ttyname_r d_ttyname_r
38eval $inlibc
39case "$d_ttyname_r" in
40"$define")
f2dee704 41 hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h"
9bb0d1dd
JH
42 case "$d_ttyname_r_proto:$usethreads" in
43 ":define") d_ttyname_r_proto=define
f42a43f5
JH
44 set d_ttyname_r_proto ttyname_r $hdrs
45 eval $hasproto ;;
46 *) ;;
47 esac
48 case "$d_ttyname_r_proto" in
49 define)
46953654 50 case "$ttyname_r_proto" in
5002a627 51 ''|0) try='int ttyname_r(int, char*, size_t);'
f2dee704 52 ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBW ;;
46953654
JH
53 esac
54 case "$ttyname_r_proto" in
5002a627 55 ''|0) try='int ttyname_r(int, char*, int);'
f2dee704 56 ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBI ;;
46953654
JH
57 esac
58 case "$ttyname_r_proto" in
5002a627 59 ''|0) try='char* ttyname_r(int, char*, int);'
f2dee704 60 ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;;
46953654
JH
61 esac
62 case "$ttyname_r_proto" in
81d83c43 63 ''|0) d_ttyname_r=undef
5002a627 64 ttyname_r_proto=0
f42a43f5 65 echo "Disabling ttyname_r, cannot determine prototype." >&4 ;;
f2dee704
JH
66 * ) case "$ttyname_r_proto" in
67 REENTRANT_PROTO*) ;;
68 *) ttyname_r_proto="REENTRANT_PROTO_$ttyname_r_proto" ;;
69 esac
70 echo "Prototype: $try" ;;
46953654 71 esac
8e87a72a 72 ;;
9bb0d1dd
JH
73 *) case "$usethreads" in
74 define) echo "ttyname_r has no prototype, not using it." >&4 ;;
75 esac
81d83c43
JH
76 d_ttyname_r=undef
77 ttyname_r_proto=0
9bb0d1dd 78 ;;
f42a43f5
JH
79 esac
80 ;;
5002a627
JH
81*) ttyname_r_proto=0
82 ;;
8e87a72a
JH
83esac
84