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