/* Define to 1 if you have the `epoll_ctl' function. */
#undef HAVE_EPOLL_CTL
+/* Define to 1 if you have the `eventfd' function. */
+#undef HAVE_EVENTFD
+
/* Define to 1 if you have the `getpt' function. */
#undef HAVE_GETPT
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define to 1 if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
/* Define if utmp.h or lastlog.h has struct lastlog */
#undef HAVE_STRUCT_LASTLOG
/* Define to 1 if you have the <sys/epoll.h> header file. */
#undef HAVE_SYS_EPOLL_H
+/* Define to 1 if you have the <sys/eventfd.h> header file. */
+#undef HAVE_SYS_EVENTFD_H
+
/* Define to 1 if you have the <sys/event.h> header file. */
#undef HAVE_SYS_EVENT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
+/* Define to 1 if you have the `ttyslot' function. */
+#undef HAVE_TTYSLOT
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV
-/* Define to 1 if you have the `updlastlogx' function. */
-#undef HAVE_UPDLASTLOGX
-
/* Define to 1 if you have the `updwtmp' function. */
#undef HAVE_UPDWTMP
/* Define location of lastlog */
#undef LASTLOG_FILE
+/* Define if lastlog is provided via a directory */
+#undef LASTLOG_IS_DIR
+
/* Define if you want to have lastlog support when utmp/utmpx is enabled */
#undef LASTLOG_SUPPORT
-for ac_header in sys/inotify.h sys/epoll.h sys/event.h sys/queue.h port.h poll.h sys/select.h
+
+for ac_header in sys/inotify.h sys/epoll.h sys/event.h sys/queue.h port.h poll.h sys/select.h sys/eventfd.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-for ac_func in inotify_init epoll_ctl kqueue port_create poll select
+
+for ac_func in inotify_init epoll_ctl kqueue port_create poll select eventfd
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ echo "$as_me:$LINENO: checking for $ac_func" >&5
for ac_func in \
+ ttyslot \
updwtmp \
updwtmpx \
- updlastlogx \
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
#define LASTLOG_FILE "$path_lastlog"
_ACEOF
+ if test -d "$path_lastlog"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LASTLOG_IS_DIR 1
+_ACEOF
+
+ fi
fi
{ echo "$as_me:$LINENO: checking where lastlogx is located" >&5
+
for ac_header in \
pty.h \
util.h \
libutil.h \
sys/ioctl.h \
sys/stropts.h \
+ stropts.h \
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
libutil.h \
sys/ioctl.h \
sys/stropts.h \
+ stropts.h \
)
AC_CHECK_FUNCS( \
if test x$ac_cv_func_getpt = xyes -o x$ac_cv_func_posix_openpt = xyes -o x$have_clone = xyes; then
AC_MSG_CHECKING(for UNIX98 ptys)
- AC_TRY_LINK([#include <stdlib.h>],
- [grantpt(0);unlockpt(0);ptsname(0);],
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>]],
+ [[grantpt(0);unlockpt(0);ptsname(0);]])],
[unix98_pty=yes
AC_DEFINE(UNIX98_PTY, 1, "")
AC_MSG_RESULT(yes)],
updlastlogx \
)
-AC_CHECK_HEADERS( \
- utmp.h \
- utmpx.h \
- lastlog.h \
-)
+AC_CHECK_HEADERS(lastlog.h)
dnl# --------------------------------------------------------------------------
dnl# DO ALL UTMP AND WTMP CHECKING
dnl# check for host field in utmp structure
dnl# --------------------------------------------
-AC_CHECK_HEADER(utmp.h,
+AC_CHECK_HEADERS(utmp.h,
[AC_CACHE_CHECK([for struct utmp], struct_utmp,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
#include <utmp.h>]], [[struct utmp ut;]])],[struct_utmp=yes],[struct_utmp=no])])
if test x$struct_utmp_pid = xyes; then
AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid)
fi
-) dnl# AC_CHECK_HEADER(utmp.h
+) dnl# AC_CHECK_HEADERS(utmp.h
dnl# --------------------------------------------
-AC_CHECK_HEADER(utmpx.h,
+AC_CHECK_HEADERS(utmpx.h,
[AC_CACHE_CHECK([for struct utmpx], struct_utmpx,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
#include <utmpx.h>]], [[struct utmpx ut;]])],[struct_utmpx=yes],[struct_utmpx=no])])
fi
AC_CACHE_CHECK(for session in utmpx struct, struct_utmpx_session,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmpx.h>],
-[struct utmpx utx; utx.ut_session;],
-struct_utmpx_session=yes, struct_utmpx_session=no)])
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#include <utmpx.h>]], [[struct utmpx utx; utx.ut_session;]])],[struct_utmpx_session=yes],[struct_utmpx_session=no])])
if test x$struct_utmpx_session = xyes; then
AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session)
fi
-) dnl# AC_CHECK_HEADER(utmpx.h
+) dnl# AC_CHECK_HEADERS(utmpx.h
dnl# --------------------------------------------------------------------------
dnl# check for struct lastlog
AC_DEFUN([SCM_RIGHTS_CHECK],
[
AC_CACHE_CHECK(for unix-compliant filehandle passing ability, can_pass_fds,
-[AC_TRY_LINK([
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <cstddef> // broken bsds (is that redundant?) need this
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
-],[
+]], [[
{
msghdr msg;
iovec iov;
return sendmsg (3, &msg, 0);
}
-],[can_pass_fds=yes],[can_pass_fds=no])])
+]])],[can_pass_fds=yes],[can_pass_fds=no])])
if test x$can_pass_fds = xyes; then
AC_DEFINE(HAVE_UNIX_FDPASS, 1, Define if sys/socket.h defines the necessary macros/functions for file handle passing)
else
AC_DEFUN([TTY_GROUP_CHECK],
[
AC_CACHE_CHECK([for tty group], tty_group,
-[AC_TRY_RUN([
+[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
return 0;
else
return 1;
-}],
-[tty_group=yes],[tty_group=no],[tty_group=no])])
+}]])],[tty_group=yes],[tty_group=no],[tty_group=no])])
if test x$tty_group = xyes; then
AC_DEFINE(TTY_GID_SUPPORT, 1, "")
fi])