[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ttyname_r on HP-UX 11
From: |
Bruno Haible |
Subject: |
ttyname_r on HP-UX 11 |
Date: |
Mon, 20 Dec 2010 13:12:04 +0100 |
User-agent: |
KMail/1.9.9 |
The ttyname_r declaration is missing on HP-UX 11 if _REENTRANT is not defined.
This leads to this error:
cc -Ae -O -DHAVE_CONFIG_H -I. -DGNULIB_STRICT_CHECKING=1 -I. -I. -I.. -I./..
-I../gllib -I./../gllib -g -c -o test-ttyname_r.o test-ttyname_r.c
cc: "test-ttyname_r.c", line 22: error 1588: "ttyname_r" undefined.
cc: "test-ttyname_r.c", line 22: error 1521: Incorrect initialization.
*** Error exit code 1
This fixes it:
2010-12-20 Bruno Haible <address@hidden>
ttyname_r: Add missing declaration on HP-UX 11.
* lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
HAVE_TTYNAME_R.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
declared. Set HAVE_TTYNAME_R always.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
HAVE_TTYNAME_R.
* doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
--- doc/posix-functions/ttyname_r.texi.orig Mon Dec 20 13:05:48 2010
+++ doc/posix-functions/ttyname_r.texi Mon Dec 20 12:36:05 2010
@@ -12,6 +12,10 @@
This function is missing on some platforms:
NetBSD 3.0, mingw, BeOS.
@item
+This function is not declared unless @code{_REENTRANT} is defined,
+on some platforms:
+HP-UX 11.
address@hidden
This function has an incompatible declaration on some platforms:
MacOS X 10.4, Solaris 11 2010-11 (when @code{_POSIX_PTHREAD_SEMANTICS} is not
defined).
@item
--- lib/unistd.in.h.orig Mon Dec 20 13:05:48 2010
+++ lib/unistd.in.h Mon Dec 20 12:34:29 2010
@@ -1249,7 +1249,7 @@
_GL_CXXALIAS_RPL (ttyname_r, int,
(int fd, char *buf, size_t buflen));
# else
-# if address@hidden@
+# if address@hidden@
_GL_FUNCDECL_SYS (ttyname_r, int,
(int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
# endif
--- m4/ttyname_r.m4.orig Mon Dec 20 13:05:48 2010
+++ m4/ttyname_r.m4 Mon Dec 20 12:38:03 2010
@@ -1,4 +1,4 @@
-# ttyname_r.m4 serial 5
+# ttyname_r.m4 serial 6
dnl Copyright (C) 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -12,10 +12,16 @@
dnl ttyname_r().
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_DECLS_ONCE([ttyname_r])
+ if test $ac_cv_have_decl_ttyname_r = no; then
+ HAVE_DECL_TTYNAME_R=0
+ fi
+
AC_CHECK_FUNCS([ttyname_r])
if test $ac_cv_func_ttyname_r = no; then
HAVE_TTYNAME_R=0
else
+ HAVE_TTYNAME_R=1
dnl On MacOS X 10.4 (and Solaris 10 without gl_USE_SYSTEM_EXTENSIONS)
dnl the return type is 'char *', not 'int'.
AC_CACHE_CHECK([whether ttyname_r is compatible with its POSIX signature],
--- m4/unistd_h.m4.orig Mon Dec 20 13:05:48 2010
+++ m4/unistd_h.m4 Mon Dec 20 12:35:33 2010
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 50
+# unistd_h.m4 serial 51
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -122,7 +122,6 @@
HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
- HAVE_TTYNAME_R=1; AC_SUBST([HAVE_TTYNAME_R])
HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
@@ -131,6 +130,7 @@
HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
+ HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R])
HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
--- modules/unistd.orig Mon Dec 20 13:05:48 2010
+++ modules/unistd Mon Dec 20 12:35:04 2010
@@ -96,7 +96,6 @@
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
- -e 's|@''HAVE_TTYNAME_R''@|$(HAVE_TTYNAME_R)|g' \
-e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
@@ -105,6 +104,7 @@
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
-e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- ttyname_r on HP-UX 11,
Bruno Haible <=
- Prev by Date:
Re: signature warnings on OSF/1 5.1
- Next by Date:
floor, ceil, trunc, round, minus zero, and alpha
- Previous by thread:
getlogin, getlogin_r: HP-UX bugs
- Next by thread:
floor, ceil, trunc, round, minus zero, and alpha
- Index(es):