* m4/login_tty.m4 (gl_FUNC_LOGIN_TTY): Test whether <termios.h> exists.
Consider it when testing whether login_tty is declared.
* lib/utmp.in.h: If none of <util.h> and <libutil.h> exists, include
<termios.h> instead.
* doc/glibc-functions/login_tty.texi: Document the Solaris 11.4 problem.
+2023-04-08 Bruno Haible <bruno@clisp.org>
+
+ login_tty: Fix compilation error in C++ mode on Solaris 11.4.
+ * m4/login_tty.m4 (gl_FUNC_LOGIN_TTY): Test whether <termios.h> exists.
+ Consider it when testing whether login_tty is declared.
+ * lib/utmp.in.h: If none of <util.h> and <libutil.h> exists, include
+ <termios.h> instead.
+ * doc/glibc-functions/login_tty.texi: Document the Solaris 11.4 problem.
+
2023-04-08 Bruno Haible <bruno@clisp.org>
time: Fix compilation error in C++ mode on Solaris 11.
@item
This function is declared in @code{<utmp.h>} on glibc, Cygwin, Android,
in @code{<util.h>} on macOS 11.1, NetBSD 5.0, OpenBSD 3.8,
-and in @code{<libutil.h>} on FreeBSD 13.0, Haiku.
+in @code{<libutil.h>} on FreeBSD 13.0, Haiku,
+and in @code{<termios.h>} on Solaris 11.4.
@c Also note that @code{<sys/types.h>} is
@c a prerequisite of @code{<utmp.h>} on FreeBSD 8.0, OpenBSD 4.6 and
@c of @code{<libutil.h>} on FreeBSD 8.0.
#define _@GUARD_PREFIX@_UTMP_H
/* FreeBSD, NetBSD, OpenBSD, macOS, Minix, Haiku declare login_tty in
- <util.h> or <libutil.h>, not in <utmp.h>. */
+ <util.h> or <libutil.h>, not in <utmp.h>. Solaris declares it in
+ <termios.h>, not in <utmp.h>. */
/* But in any case avoid namespace pollution on glibc systems. */
#if (@GNULIB_LOGIN_TTY@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__
# if HAVE_UTIL_H /* macOS, NetBSD, OpenBSD, Minix */
# include <util.h>
# elif HAVE_LIBUTIL_H /* FreeBSD, Haiku */
# include <libutil.h>
+# elif HAVE_TERMIOS_H /* Solaris */
+# include <termios.h>
# endif
#endif
-# login_tty.m4 serial 2
+# login_tty.m4 serial 3
dnl Copyright (C) 2010-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_PTY_LIB])
- AC_CHECK_HEADERS_ONCE([utmp.h util.h libutil.h])
+ AC_CHECK_HEADERS_ONCE([utmp.h util.h libutil.h termios.h])
gl_saved_libs="$LIBS"
LIBS="$LIBS $PTY_LIB"
gl_CHECK_FUNCS_ANDROID([login_tty], [[
# include <util.h>
#elif HAVE_LIBUTIL_H
# include <libutil.h>
+ #elif HAVE_TERMIOS_H
+ # include <termios.h>
#endif
]])
LIBS="$gl_saved_LIBS"