+2019-11-27 Bruno Haible <bruno@clisp.org>
+
+ openpty, forkpty: Fix build error on Solaris 11.4.
+ * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
+ also in <termios.h>.
+ * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
+ of the function also in <termios.h>.
+ * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
+ * doc/glibc-functions/forkpty.texi: Likewise.
+
2019-11-27 Bruno Haible <bruno@clisp.org>
New options --enable-threads=isoc and --enable-threads=isoc+posix.
On glibc, OpenBSD, NetBSD and FreeBSD linking with @code{-lutil} is
required.
@item
-The function is declared in pty.h on Cygwin
-and glibc. It is declared in util.h on Mac OS X, OpenBSD and NetBSD.
+The function is declared in pty.h on glibc and Cygwin.
+It is declared in util.h on Mac OS X, OpenBSD, and NetBSD.
It is declared in libutil.h on FreeBSD.
+It is declared in termios.h on Solaris.
@item
Some platforms declare the function without marking the last two
parameters @code{const}.
-FreeBSD, Cygwin 1.7.1.
+FreeBSD, Solaris 11.4, Cygwin 1.7.1.
@end itemize
Portability problems not fixed by Gnulib:
On glibc, OpenBSD, NetBSD and FreeBSD linking with @code{-lutil} is
required.
@item
-The function is declared in pty.h on Cygwin
-and glibc. It is declared in util.h on Mac OS X, OpenBSD and NetBSD.
+The function is declared in pty.h on glibc and Cygwin.
+It is declared in util.h on Mac OS X, OpenBSD, and NetBSD.
It is declared in libutil.h on FreeBSD.
+It is declared in termios.h on Solaris.
@item
Some platforms declare the function without marking the last two
parameters @code{const}.
-FreeBSD, Cygwin 1.7.1.
+FreeBSD, Solaris 11.4, Cygwin 1.7.1.
@end itemize
Portability problems not fixed by Gnulib:
-# pty.m4 serial 13
+# pty.m4 serial 14
dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
#if HAVE_LIBUTIL_H
# include <libutil.h>
#endif
+#if HAVE_TERMIOS_H
+# include <termios.h>
+#endif
]])
if test $ac_cv_have_decl_forkpty = yes; then
dnl The system has forkpty.
#endif
#if HAVE_LIBUTIL_H
# include <libutil.h>
+#endif
+#if HAVE_TERMIOS_H
+# include <termios.h>
#endif
]], [[
int forkpty (int *, char *, struct termios const *,
#if HAVE_LIBUTIL_H
# include <libutil.h>
#endif
+#if HAVE_TERMIOS_H
+# include <termios.h>
+#endif
]])
if test $ac_cv_have_decl_openpty = yes; then
AC_DEFINE([HAVE_OPENPTY], [1],
#endif
#if HAVE_LIBUTIL_H
# include <libutil.h>
+#endif
+#if HAVE_TERMIOS_H
+# include <termios.h>
#endif
]], [[
int openpty (int *, int *, char *, struct termios const *,
-# pty_h.m4 serial 10
+# pty_h.m4 serial 11
dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
if test $ac_cv_header_libutil_h = yes; then
HAVE_LIBUTIL_H=1
fi
+ AC_CHECK_HEADERS_ONCE([termios.h])
else # Have <pty.h>, assume forkpty is declared there.
HAVE_PTY_H=1
fi
#endif
#if HAVE_LIBUTIL_H
# include <libutil.h>
+#endif
+#if HAVE_TERMIOS_H
+# include <termios.h>
#endif
]], [forkpty openpty])
])