1
##*****************************************************************************
2
## $Id: x_ac_getpwnam.m4 889 2011-01-20 01:41:36Z chris.m.dunlap $
3
##*****************************************************************************
5
# Chris Dunlap <cdunlap@llnl.gov>
11
# Check what forms of getpwnam() & getpwnam_r() are supported.
12
##*****************************************************************************
14
AC_DEFUN([X_AC_GETPWNAM], [
15
AC_CHECK_FUNCS(getpwnam)
17
_X_AC_GETPWNAM_R_POSIX
21
AC_DEFUN([_X_AC_GETPWNAM_R_AIX], [
23
[for getpwnam_r (AIX)],
24
[x_ac_cv_have_getpwnam_r_aix], [
27
#undef _ALL_SOURCE /* for overriding POSIX getpwnam_r */
28
#define _THREAD_SAFE 1
30
#define _XOPEN_SOURCE_EXTENDED 1
38
rv = getpwnam_r (user, &pw, pw_buf, sizeof (pw_buf)); ]]
40
AS_VAR_SET(x_ac_cv_have_getpwnam_r_aix, yes),
41
AS_VAR_SET(x_ac_cv_have_getpwnam_r_aix, no)
44
AS_IF([test AS_VAR_GET(x_ac_cv_have_getpwnam_r_aix) = yes],
45
AC_DEFINE([HAVE_GETPWNAM_R_AIX], [1],
46
[Define to 1 if you have the `getpwnam_r' function from AIX.]
51
AC_DEFUN([_X_AC_GETPWNAM_R_POSIX], [
53
[for getpwnam_r (POSIX)],
54
[x_ac_cv_have_getpwnam_r_posix], [
57
#define _POSIX_PTHREAD_SEMANTICS 1 /* for SunOS */
63
struct passwd pw, *pw_ptr;
65
rv = getpwnam_r (user, &pw, pw_buf, sizeof (pw_buf), &pw_ptr); ]]
67
AS_VAR_SET(x_ac_cv_have_getpwnam_r_posix, yes),
68
AS_VAR_SET(x_ac_cv_have_getpwnam_r_posix, no)
71
AS_IF([test AS_VAR_GET(x_ac_cv_have_getpwnam_r_posix) = yes],
72
AC_DEFINE([HAVE_GETPWNAM_R_POSIX], [1],
73
[Define to 1 if you have the `getpwnam_r' function from POSIX.]
78
AC_DEFUN([_X_AC_GETPWNAM_R_SUN], [
80
[for getpwnam_r (SunOS)],
81
[x_ac_cv_have_getpwnam_r_sun], [
84
#undef _POSIX_PTHREAD_SEMANTICS /* for overriding POSIX getpwnam_r */
89
struct passwd pw, *pw_ptr;
91
pw_ptr = getpwnam_r (user, &pw, pw_buf, sizeof (pw_buf)); ]]
93
AS_VAR_SET(x_ac_cv_have_getpwnam_r_sun, yes),
94
AS_VAR_SET(x_ac_cv_have_getpwnam_r_sun, no)
97
AS_IF([test AS_VAR_GET(x_ac_cv_have_getpwnam_r_sun) = yes],
98
AC_DEFINE([HAVE_GETPWNAM_R_SUN], [1],
99
[Define to 1 if you have the `getpwnam_r' function from SunOS.]