diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/configure.in b/configure.in index 557238bc..4b613e06 100644 --- a/configure.in +++ b/configure.in @@ -131,7 +131,45 @@ AC_CHECK_SIZEOF(__int64) ## byte order AC_C_BIGENDIAN -AC_CHECK_FUNCS(vsnprintf vasprintf getpwnam_r nanosleep usleep poll) +AC_CHECK_LIB(socket,socket) + +AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep poll setenv) + +AC_CACHE_CHECK([for posix getpwnam_r], + ac_cv_func_posix_getpwnam_r, + [AC_TRY_RUN([ +#include <errno.h> +#include <pwd.h> +int main () { + char buffer[10000]; + struct passwd pwd, *pwptr = &pwd; + int error; + errno = 0; + error = getpwnam_r ("", &pwd, buffer, + sizeof (buffer), &pwptr); + return (error < 0 && errno == ENOSYS) + || error == ENOSYS; +} ], + [ac_cv_func_posix_getpwnam_r=yes], + [ac_cv_func_posix_getpwnam_r=no])]) +if test "$ac_cv_func_posix_getpwnam_r" = yes; then + AC_DEFINE(HAVE_POSIX_GETPWNAM_R,1, + [Have POSIX function getpwnam_r]) +else + AC_CACHE_CHECK([for nonposix getpwnam_r], + ac_cv_func_nonposix_getpwnam_r, + [AC_TRY_LINK([#include <pwd.h>], + [char buffer[10000]; + struct passwd pwd; + getpwnam_r ("", &pwd, buffer, + sizeof (buffer));], + [ac_cv_func_nonposix_getpwnam_r=yes], + [ac_cv_func_nonposix_getpwnam_r=no])]) + if test "$ac_cv_func_nonposix_getpwnam_r" = yes; then + AC_DEFINE(HAVE_NONPOSIX_GETPWNAM_R,1, + [Have non-POSIX function getpwnam_r]) + fi +fi dnl check for writev header and writev function so we're dnl good to go if HAVE_WRITEV gets defined. |