| 1 | ?RCS: $Id: d_getlogin_r.U,v 0RCS: |
| 2 | ?RCS: Copyright (c) 2002,2003 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_getlogin_r getlogin_r_proto: Inlibc Protochk Hasproto i_systypes \ |
| 10 | usethreads i_unistd extern_C |
| 11 | ?MAKE: -pick add $@ %< |
| 12 | ?S:d_getlogin_r: |
| 13 | ?S: This variable conditionally defines the HAS_GETLOGIN_R symbol, |
| 14 | ?S: which indicates to the C program that the getlogin_r() |
| 15 | ?S: routine is available. |
| 16 | ?S:. |
| 17 | ?S:getlogin_r_proto: |
| 18 | ?S: This variable encodes the prototype of getlogin_r. |
| 19 | ?S: It is zero if d_getlogin_r is undef, and one of the |
| 20 | ?S: REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r |
| 21 | ?S: is defined. |
| 22 | ?S:. |
| 23 | ?C:HAS_GETLOGIN_R: |
| 24 | ?C: This symbol, if defined, indicates that the getlogin_r routine |
| 25 | ?C: is available to getlogin re-entrantly. |
| 26 | ?C:. |
| 27 | ?C:GETLOGIN_R_PROTO: |
| 28 | ?C: This symbol encodes the prototype of getlogin_r. |
| 29 | ?C: It is zero if d_getlogin_r is undef, and one of the |
| 30 | ?C: REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r |
| 31 | ?C: is defined. |
| 32 | ?C:. |
| 33 | ?H:#$d_getlogin_r HAS_GETLOGIN_R /**/ |
| 34 | ?H:#define GETLOGIN_R_PROTO $getlogin_r_proto /**/ |
| 35 | ?H:. |
| 36 | ?T:try hdrs d_getlogin_r_proto |
| 37 | : see if getlogin_r exists |
| 38 | set getlogin_r d_getlogin_r |
| 39 | eval $inlibc |
| 40 | case "$d_getlogin_r" in |
| 41 | "$define") |
| 42 | hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h" |
| 43 | case "$d_getlogin_r_proto:$usethreads" in |
| 44 | ":define") d_getlogin_r_proto=define |
| 45 | set d_getlogin_r_proto getlogin_r $hdrs |
| 46 | eval $hasproto ;; |
| 47 | *) ;; |
| 48 | esac |
| 49 | case "$d_getlogin_r_proto" in |
| 50 | define) |
| 51 | case "$getlogin_r_proto" in |
| 52 | ''|0) try='int getlogin_r(char*, size_t);' |
| 53 | ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=I_BW ;; |
| 54 | esac |
| 55 | case "$getlogin_r_proto" in |
| 56 | ''|0) try='int getlogin_r(char*, int);' |
| 57 | ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=I_BI ;; |
| 58 | esac |
| 59 | case "$getlogin_r_proto" in |
| 60 | ''|0) try='char* getlogin_r(char*, size_t);' |
| 61 | ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=B_BW ;; |
| 62 | esac |
| 63 | case "$getlogin_r_proto" in |
| 64 | ''|0) try='char* getlogin_r(char*, int);' |
| 65 | ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=B_BI ;; |
| 66 | esac |
| 67 | case "$getlogin_r_proto" in |
| 68 | ''|0) d_getlogin_r=undef |
| 69 | getlogin_r_proto=0 |
| 70 | echo "Disabling getlogin_r, cannot determine prototype." >&4 ;; |
| 71 | * ) case "$getlogin_r_proto" in |
| 72 | REENTRANT_PROTO*) ;; |
| 73 | *) getlogin_r_proto="REENTRANT_PROTO_$getlogin_r_proto" ;; |
| 74 | esac |
| 75 | echo "Prototype: $try" ;; |
| 76 | esac |
| 77 | ;; |
| 78 | *) case "$usethreads" in |
| 79 | define) echo "getlogin_r has no prototype, not using it." >&4 ;; |
| 80 | esac |
| 81 | d_getlogin_r=undef |
| 82 | getlogin_r_proto=0 |
| 83 | ;; |
| 84 | esac |
| 85 | ;; |
| 86 | *) getlogin_r_proto=0 |
| 87 | ;; |
| 88 | esac |
| 89 | |