summaryrefslogtreecommitdiff
path: root/lgl
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2007-06-26 09:56:47 +0200
committerSimon Josefsson <simon@josefsson.org>2007-06-26 09:56:47 +0200
commita2169b0b7b255e656e3fea4c48d34ba1b3acbbc1 (patch)
tree6c9b74ca679fdaa26992ec06c90a6a45e01cb49b /lgl
parentfdb5649249bda069648369df6eb264737768fa74 (diff)
downloadgnutls-a2169b0b7b255e656e3fea4c48d34ba1b3acbbc1.tar.gz
Update gnulib files.
Diffstat (limited to 'lgl')
-rw-r--r--lgl/Makefile.am50
-rw-r--r--lgl/float_.h6
-rw-r--r--lgl/m4/absolute-header.m444
-rw-r--r--lgl/m4/float_h.m46
-rw-r--r--lgl/m4/gnulib-comp.m42
-rw-r--r--lgl/m4/include_next.m485
-rw-r--r--lgl/m4/stdint.m416
-rw-r--r--lgl/m4/stdio_h.m46
-rw-r--r--lgl/m4/string_h.m44
-rw-r--r--lgl/m4/sys_socket_h.m47
-rw-r--r--lgl/m4/sys_stat_h.m46
-rw-r--r--lgl/m4/time_h.m44
-rw-r--r--lgl/m4/unistd_h.m49
-rw-r--r--lgl/m4/wchar.m46
-rw-r--r--lgl/printf-args.c6
-rw-r--r--lgl/printf-parse.h8
-rw-r--r--lgl/stdint_.h12
-rw-r--r--lgl/stdio_.h12
-rw-r--r--lgl/string_.h6
-rw-r--r--lgl/sys_socket_.h6
-rw-r--r--lgl/sys_stat_.h6
-rw-r--r--lgl/time_.h109
-rw-r--r--lgl/unistd_.h34
-rw-r--r--lgl/wchar_.h6
24 files changed, 224 insertions, 232 deletions
diff --git a/lgl/Makefile.am b/lgl/Makefile.am
index 6c1620bda7..c880187d89 100644
--- a/lgl/Makefile.am
+++ b/lgl/Makefile.am
@@ -35,15 +35,6 @@ liblgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
EXTRA_liblgnu_la_SOURCES =
liblgnu_la_LDFLAGS = $(AM_LDFLAGS)
-## begin gnulib module absolute-header
-
-# Use this preprocessor expression to decide whether #include_next works.
-# Do not rely on a 'configure'-time test for this, since the expression
-# might appear in an installed header, which is used by some other compiler.
-HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
-
-## end gnulib module absolute-header
-
## begin gnulib module alloca-opt
BUILT_SOURCES += $(ALLOCA_H)
@@ -182,8 +173,8 @@ BUILT_SOURCES += $(FLOAT_H)
float.h: float_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''ABSOLUTE_FLOAT_H''@|$(ABSOLUTE_FLOAT_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
< $(srcdir)/float_.h; \
} > $@-t
mv $@-t $@
@@ -340,8 +331,8 @@ stdint.h: stdint_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
- -e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_STDINT_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
@@ -379,8 +370,8 @@ BUILT_SOURCES += stdio.h
stdio.h: stdio_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''ABSOLUTE_STDIO_H''@|$(ABSOLUTE_STDIO_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
-e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
-e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
@@ -431,8 +422,8 @@ BUILT_SOURCES += string.h
string.h: string_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''ABSOLUTE_STRING_H''@|$(ABSOLUTE_STRING_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
-e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
@@ -504,8 +495,8 @@ BUILT_SOURCES += $(SYS_SOCKET_H)
sys/socket.h: sys_socket_.h
@MKDIR_P@ sys
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''ABSOLUTE_SYS_SOCKET_H''@|$(ABSOLUTE_SYS_SOCKET_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
-e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \
@@ -529,8 +520,8 @@ sys/stat.h: sys_stat_.h
@MKDIR_P@ sys
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-e 's|@''HAVE_IO_H''@|$(HAVE_IO_H)|g' \
-e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
-e 's|@''HAVE_DECL_MKDIR''@|$(HAVE_DECL_MKDIR)|g' \
@@ -553,8 +544,8 @@ BUILT_SOURCES += time.h
time.h: time_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@ABSOLUTE_TIME_H''@|$(ABSOLUTE_TIME_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
@@ -589,14 +580,15 @@ unistd.h: unistd_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
- -e 's|@''ABSOLUTE_UNISTD_H''@|$(ABSOLUTE_UNISTD_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
-e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
-e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
-e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
-e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
-e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
-e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
+ -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
-e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
@@ -608,6 +600,7 @@ unistd.h: unistd_.h
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
< $(srcdir)/unistd_.h; \
} > $@-t
@@ -645,8 +638,8 @@ BUILT_SOURCES += $(WCHAR_H)
wchar.h: wchar_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''ABSOLUTE_WCHAR_H''@|$(ABSOLUTE_WCHAR_H)|g' \
- -e 's/@''HAVE_INCLUDE_NEXT''@/$(HAVE_INCLUDE_NEXT)/g' \
+ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
< $(srcdir)/wchar_.h; \
} > $@-t
@@ -675,4 +668,5 @@ mostlyclean-local: mostlyclean-generic
if test -n "$$dir" && test -d $$dir; then \
echo "rmdir $$dir"; rmdir $$dir; \
fi; \
- done
+ done; \
+ :
diff --git a/lgl/float_.h b/lgl/float_.h
index 7f796e2d62..c31f193d03 100644
--- a/lgl/float_.h
+++ b/lgl/float_.h
@@ -19,11 +19,7 @@
#ifndef _GL_FLOAT_H
/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <float.h>
-#else
-# include @ABSOLUTE_FLOAT_H@
-#endif
+#@INCLUDE_NEXT@ @NEXT_FLOAT_H@
#ifndef _GL_FLOAT_H
#define _GL_FLOAT_H
diff --git a/lgl/m4/absolute-header.m4 b/lgl/m4/absolute-header.m4
deleted file mode 100644
index c649df0840..0000000000
--- a/lgl/m4/absolute-header.m4
+++ /dev/null
@@ -1,44 +0,0 @@
-# absolute-header.m4 serial 6
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Derek Price.
-
-# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
-# ---------------------------------------
-# Find the absolute name of a header file, assuming the header exists.
-# If the header were sys/inttypes.h, this macro would define
-# ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of sys/inttypes.h
-# in config.h
-# (e.g. `#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
-# The three "///" are to pacify Sun C 5.8, which otherwise would say
-# "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
-AC_DEFUN([gl_ABSOLUTE_HEADER],
-[AC_LANG_PREPROC_REQUIRE()dnl
-AC_FOREACH([gl_HEADER_NAME], [$1],
- [AS_VAR_PUSHDEF([gl_absolute_header],
- [gl_cv_absolute_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl
- AC_CACHE_CHECK([absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>],
- m4_quote(m4_defn([gl_absolute_header])),
- [AS_VAR_PUSHDEF([ac_header_exists],
- [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl
- AC_CHECK_HEADERS_ONCE(m4_quote(m4_defn([gl_HEADER_NAME])))dnl
- if test AS_VAR_GET(ac_header_exists) = yes; then
- AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]])])
-dnl eval is necessary to expand ac_cpp.
-dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell.
- AS_VAR_SET(gl_absolute_header,
-[`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
-sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#;s#^/[^/]#//&#;p;q;}'`])
- fi
- AS_VAR_POPDEF([ac_header_exists])dnl
- ])dnl
- AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_quote(m4_defn([gl_HEADER_NAME]))),
- ["AS_VAR_GET(gl_absolute_header)"],
- [Define this to an absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>.])
- AS_VAR_POPDEF([gl_absolute_header])dnl
-])dnl
-])# gl_ABSOLUTE_HEADER
diff --git a/lgl/m4/float_h.m4 b/lgl/m4/float_h.m4
index 36a07dcb1c..1b1ad103e9 100644
--- a/lgl/m4/float_h.m4
+++ b/lgl/m4/float_h.m4
@@ -1,4 +1,4 @@
-# float_h.m4 serial 1
+# float_h.m4 serial 2
dnl Copyright (C) 2007 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,9 +12,7 @@ AC_DEFUN([gl_FLOAT_H],
case "$host_os" in
beos*)
FLOAT_H=float.h
- gl_ABSOLUTE_HEADER([float.h])
- ABSOLUTE_FLOAT_H=\"$gl_cv_absolute_float_h\"
- AC_SUBST([ABSOLUTE_FLOAT_H])
+ gl_CHECK_NEXT_HEADERS([float.h])
;;
esac
AC_SUBST([FLOAT_H])
diff --git a/lgl/m4/gnulib-comp.m4 b/lgl/m4/gnulib-comp.m4
index 59c3010c94..50d301449b 100644
--- a/lgl/m4/gnulib-comp.m4
+++ b/lgl/m4/gnulib-comp.m4
@@ -216,7 +216,6 @@ AC_DEFUN([lgl_FILE_LIST], [
lib/vasprintf.c
lib/wchar_.h
lib/xsize.h
- m4/absolute-header.m4
m4/alloca.m4
m4/arcfour.m4
m4/arctwo.m4
@@ -249,6 +248,7 @@ AC_DEFUN([lgl_FILE_LIST], [
m4/hmac-md5.m4
m4/hmac-sha1.m4
m4/iconv.m4
+ m4/include_next.m4
m4/intdiv0.m4
m4/intl.m4
m4/intldir.m4
diff --git a/lgl/m4/include_next.m4 b/lgl/m4/include_next.m4
new file mode 100644
index 0000000000..4dc84c958c
--- /dev/null
+++ b/lgl/m4/include_next.m4
@@ -0,0 +1,85 @@
+# include_next.m4 serial 3
+dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert and Derek Price.
+
+AC_DEFUN([gl_INCLUDE_NEXT],
+[
+ AC_LANG_PREPROC_REQUIRE()
+ AC_CACHE_CHECK([whether the preprocessor supports include_next],
+ [gl_cv_have_include_next],
+ [AC_PREPROC_IFELSE([#include_next <stddef.h>],
+ [gl_cv_have_include_next=yes],
+ [gl_cv_have_include_next=no])])
+ if test $gl_cv_have_include_next = yes; then
+
+ dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it
+ dnl to use @INCLUDE_NEXT@ instead.
+ AC_DEFINE([HAVE_INCLUDE_NEXT], 1,
+ [Define if your compiler supports the #include_next directive.])
+
+ INCLUDE_NEXT=include_next
+ else
+ INCLUDE_NEXT=include
+ fi
+ AC_SUBST([INCLUDE_NEXT])
+])
+
+# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
+# ------------------------------------------
+# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be
+# '<foo.h>'; otherwise define it to be
+# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
+# That way, a header file with the following line:
+# #@INCLUDE_NEXT@ @NEXT_FOO_H@
+# behaves (after sed substitution) as if it contained
+# #include_next <foo.h>
+# even if the compiler does not support include_next.
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+AC_DEFUN([gl_CHECK_NEXT_HEADERS],
+[
+ AC_REQUIRE([gl_INCLUDE_NEXT])
+ AC_CHECK_HEADERS_ONCE([$1])
+
+ AC_FOREACH([gl_HEADER_NAME], [$1],
+ [AS_VAR_PUSHDEF([gl_next_header],
+ [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME])))
+ if test $gl_cv_have_include_next = yes; then
+ AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+ else
+ AC_CACHE_CHECK(
+ [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>],
+ m4_quote(m4_defn([gl_next_header])),
+ [AS_VAR_PUSHDEF([gl_header_exists],
+ [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))
+ if test AS_VAR_GET(gl_header_exists) = yes; then
+ AC_LANG_CONFTEST(
+ [AC_LANG_SOURCE(
+ [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
+ )])
+ dnl eval is necessary to expand ac_cpp.
+ dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+ dnl so use subshell.
+ AS_VAR_SET([gl_next_header],
+ ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+ sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{
+ s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#
+ s#^/[^/]#//&#
+ p
+ q
+ }'`'"'])
+ else
+ AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+ fi
+ AS_VAR_POPDEF([gl_header_exists])])
+ fi
+ AC_SUBST(
+ AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))),
+ [AS_VAR_GET([gl_next_header])])
+ AS_VAR_POPDEF([gl_next_header])])
+])
diff --git a/lgl/m4/stdint.m4 b/lgl/m4/stdint.m4
index c12311d274..e8016bdd7e 100644
--- a/lgl/m4/stdint.m4
+++ b/lgl/m4/stdint.m4
@@ -1,4 +1,4 @@
-# stdint.m4 serial 26
+# stdint.m4 serial 27
dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -45,22 +45,15 @@ AC_DEFUN([gl_STDINT_H],
fi
AC_SUBST([HAVE_SYS_TYPES_H])
- dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_stdint_h.
+ gl_CHECK_NEXT_HEADERS([stdint.h])
if test $ac_cv_header_stdint_h = yes; then
- gl_ABSOLUTE_HEADER([stdint.h])
- ABSOLUTE_STDINT_H=\"$gl_cv_absolute_stdint_h\"
HAVE_STDINT_H=1
else
- ABSOLUTE_STDINT_H=\"no/such/file/stdint.h\"
HAVE_STDINT_H=0
fi
- AC_SUBST([ABSOLUTE_STDINT_H])
AC_SUBST([HAVE_STDINT_H])
- dnl Now see whether we need a substitute <stdint.h>. Use
- dnl ABSOLUTE_STDINT_H, not <stdint.h>, so that it also works during
- dnl a "config.status --recheck" if a stdint.h has been
- dnl created in the build directory.
+ dnl Now see whether we need a substitute <stdint.h>.
if test $ac_cv_header_stdint_h = yes; then
AC_CACHE_CHECK([whether stdint.h conforms to C99],
[gl_cv_header_working_stdint_h],
@@ -70,7 +63,8 @@ AC_DEFUN([gl_STDINT_H],
[
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#include ABSOLUTE_STDINT_H
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
#ifdef INT8_MAX
int8_t a1 = INT8_MAX;
int8_t a1min = INT8_MIN;
diff --git a/lgl/m4/stdio_h.m4 b/lgl/m4/stdio_h.m4
index 955c91216e..721c826299 100644
--- a/lgl/m4/stdio_h.m4
+++ b/lgl/m4/stdio_h.m4
@@ -1,4 +1,4 @@
-# stdio_h.m4 serial 6
+# stdio_h.m4 serial 7
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -7,9 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_STDIO_H],
[
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- gl_ABSOLUTE_HEADER([stdio.h])
- ABSOLUTE_STDIO_H=\"$gl_cv_absolute_stdio_h\"
- AC_SUBST([ABSOLUTE_STDIO_H])
+ gl_CHECK_NEXT_HEADERS([stdio.h])
])
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
diff --git a/lgl/m4/string_h.m4 b/lgl/m4/string_h.m4
index ab5d786988..ec51e9a018 100644
--- a/lgl/m4/string_h.m4
+++ b/lgl/m4/string_h.m4
@@ -18,9 +18,7 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY],
[
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- gl_ABSOLUTE_HEADER([string.h])
- ABSOLUTE_STRING_H=\"$gl_cv_absolute_string_h\"
- AC_SUBST([ABSOLUTE_STRING_H])
+ gl_CHECK_NEXT_HEADERS([string.h])
])
AC_DEFUN([gl_STRING_MODULE_INDICATOR],
diff --git a/lgl/m4/sys_socket_h.m4 b/lgl/m4/sys_socket_h.m4
index ce5acf6e24..d9659c2d75 100644
--- a/lgl/m4/sys_socket_h.m4
+++ b/lgl/m4/sys_socket_h.m4
@@ -1,4 +1,4 @@
-# sys_socket_h.m4 serial 3
+# sys_socket_h.m4 serial 4
dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -20,10 +20,7 @@ AC_DEFUN([gl_HEADER_SYS_SOCKET],
else
SYS_SOCKET_H='sys/socket.h'
- AC_CHECK_HEADERS([sys/socket.h])
- gl_ABSOLUTE_HEADER([sys/socket.h])
- ABSOLUTE_SYS_SOCKET_H=\"$gl_cv_absolute_sys_socket_h\"
- AC_SUBST([ABSOLUTE_SYS_SOCKET_H])
+ gl_CHECK_NEXT_HEADERS([sys/socket.h])
if test $ac_cv_header_sys_socket_h = yes; then
HAVE_SYS_SOCKET_H=1
HAVE_WINSOCK2_H=0
diff --git a/lgl/m4/sys_stat_h.m4 b/lgl/m4/sys_stat_h.m4
index 228313855f..1bc08a1726 100644
--- a/lgl/m4/sys_stat_h.m4
+++ b/lgl/m4/sys_stat_h.m4
@@ -1,4 +1,4 @@
-# sys_stat_h.m4 serial 5 -*- Autoconf -*-
+# sys_stat_h.m4 serial 6 -*- Autoconf -*-
dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -42,9 +42,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
dnl Check for broken stat macros.
AC_REQUIRE([AC_HEADER_STAT])
- gl_ABSOLUTE_HEADER([sys/stat.h])
- ABSOLUTE_SYS_STAT_H=\"$gl_cv_absolute_sys_stat_h\"
- AC_SUBST([ABSOLUTE_SYS_STAT_H])
+ gl_CHECK_NEXT_HEADERS([sys/stat.h])
SYS_STAT_H='sys/stat.h'
AC_SUBST([SYS_STAT_H])
]) # gl_HEADER_SYS_STAT_H
diff --git a/lgl/m4/time_h.m4 b/lgl/m4/time_h.m4
index e90ed7ac37..3f543a15a7 100644
--- a/lgl/m4/time_h.m4
+++ b/lgl/m4/time_h.m4
@@ -20,9 +20,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
[
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
- gl_ABSOLUTE_HEADER([time.h])
- ABSOLUTE_TIME_H=\"$gl_cv_absolute_time_h\"
- AC_SUBST([ABSOLUTE_TIME_H])
+ gl_CHECK_NEXT_HEADERS([time.h])
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
])
diff --git a/lgl/m4/unistd_h.m4 b/lgl/m4/unistd_h.m4
index 60dd73081a..b12f84e8ec 100644
--- a/lgl/m4/unistd_h.m4
+++ b/lgl/m4/unistd_h.m4
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 7
+# unistd_h.m4 serial 9
dnl Copyright (C) 2006-2007 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,16 +12,15 @@ AC_DEFUN([gl_UNISTD_H],
dnl once only, before all statements that occur in other macros.
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ gl_CHECK_NEXT_HEADERS([unistd.h])
+
AC_CHECK_HEADERS_ONCE([unistd.h])
if test $ac_cv_header_unistd_h = yes; then
HAVE_UNISTD_H=1
- gl_ABSOLUTE_HEADER([unistd.h])
- ABSOLUTE_UNISTD_H=\"$gl_cv_absolute_unistd_h\"
else
HAVE_UNISTD_H=0
fi
AC_SUBST([HAVE_UNISTD_H])
- AC_SUBST([ABSOLUTE_UNISTD_H])
])
AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
@@ -39,6 +38,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
+ GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
@@ -51,5 +51,6 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
+ REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
])
diff --git a/lgl/m4/wchar.m4 b/lgl/m4/wchar.m4
index 30377ca12d..bf32d2831e 100644
--- a/lgl/m4/wchar.m4
+++ b/lgl/m4/wchar.m4
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
dnl Written by Eric Blake.
-# wchar.m4 serial 2
+# wchar.m4 serial 3
AC_DEFUN([gl_WCHAR_H],
[
@@ -29,10 +29,8 @@ wchar_t w;]],
HAVE_WCHAR_H=0
fi
AC_SUBST([HAVE_WCHAR_H])
- gl_ABSOLUTE_HEADER([wchar.h])
- ABSOLUTE_WCHAR_H=\"$gl_cv_absolute_wchar_h\"
+ gl_CHECK_NEXT_HEADERS([wchar.h])
WCHAR_H=wchar.h
fi
- AC_SUBST([ABSOLUTE_WCHAR_H])
AC_SUBST([WCHAR_H])
])
diff --git a/lgl/printf-args.c b/lgl/printf-args.c
index 9bf1ac6732..bf2e60b724 100644
--- a/lgl/printf-args.c
+++ b/lgl/printf-args.c
@@ -150,7 +150,7 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
if (ap->a.a_u8_string == NULL)
{
static const uint8_t u8_null_string[] =
- { '(', 'N', 'U', 'L', 'L', 0 };
+ { '(', 'N', 'U', 'L', 'L', ')', 0 };
ap->a.a_u8_string = u8_null_string;
}
break;
@@ -162,7 +162,7 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
if (ap->a.a_u16_string == NULL)
{
static const uint16_t u16_null_string[] =
- { '(', 'N', 'U', 'L', 'L', 0 };
+ { '(', 'N', 'U', 'L', 'L', ')', 0 };
ap->a.a_u16_string = u16_null_string;
}
break;
@@ -174,7 +174,7 @@ PRINTF_FETCHARGS (va_list args, arguments *a)
if (ap->a.a_u32_string == NULL)
{
static const uint32_t u32_null_string[] =
- { '(', 'N', 'U', 'L', 'L', 0 };
+ { '(', 'N', 'U', 'L', 'L', ')', 0 };
ap->a.a_u32_string = u32_null_string;
}
break;
diff --git a/lgl/printf-parse.h b/lgl/printf-parse.h
index b0b458cc51..196aa19692 100644
--- a/lgl/printf-parse.h
+++ b/lgl/printf-parse.h
@@ -51,7 +51,7 @@ typedef struct
const char* precision_start;
const char* precision_end;
size_t precision_arg_index;
- char conversion; /* d i o u x X f e E g G c s p n U % but not C S */
+ char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
char_directive;
@@ -80,7 +80,7 @@ typedef struct
const uint8_t* precision_start;
const uint8_t* precision_end;
size_t precision_arg_index;
- uint8_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
+ uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u8_directive;
@@ -107,7 +107,7 @@ typedef struct
const uint16_t* precision_start;
const uint16_t* precision_end;
size_t precision_arg_index;
- uint16_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
+ uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u16_directive;
@@ -134,7 +134,7 @@ typedef struct
const uint32_t* precision_start;
const uint32_t* precision_end;
size_t precision_arg_index;
- uint32_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
+ uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
size_t arg_index;
}
u32_directive;
diff --git a/lgl/stdint_.h b/lgl/stdint_.h
index 57f1bddb6b..9a3b8fe792 100644
--- a/lgl/stdint_.h
+++ b/lgl/stdint_.h
@@ -43,14 +43,10 @@
in <inttypes.h> would reinclude us, skipping our contents because
_GL_STDINT_H is defined.
The include_next requires a split double-inclusion guard. */
-# if @HAVE_INCLUDE_NEXT@
-# include_next <stdint.h>
-# else
-# include @ABSOLUTE_STDINT_H@
-# endif
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
#endif
-#ifndef _GL_STDINT_H
+#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
#define _GL_STDINT_H
/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
@@ -58,7 +54,7 @@
AIX 5.2 <sys/types.h> isn't needed and causes troubles.
MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
relies on the system <stdint.h> definitions, so include
- <sys/types.h> after @ABSOLUTE_STDINT_H@. */
+ <sys/types.h> after @NEXT_STDINT_H@. */
#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
# include <sys/types.h>
#endif
@@ -509,4 +505,4 @@
#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
#endif /* _GL_STDINT_H */
-#endif /* _GL_STDINT_H */
+#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/lgl/stdio_.h b/lgl/stdio_.h
index a3c6081e36..01a6496470 100644
--- a/lgl/stdio_.h
+++ b/lgl/stdio_.h
@@ -19,11 +19,7 @@
#if defined __need_FILE || defined __need___FILE
/* Special invocation convention inside glibc header files. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <stdio.h>
-#else
-# include @ABSOLUTE_STDIO_H@
-#endif
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
#else
/* Normal invocation convention. */
@@ -31,11 +27,7 @@
#ifndef _GL_STDIO_H
/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <stdio.h>
-#else
-# include @ABSOLUTE_STDIO_H@
-#endif
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
#ifndef _GL_STDIO_H
#define _GL_STDIO_H
diff --git a/lgl/string_.h b/lgl/string_.h
index 7533f4fae1..b7edebed56 100644
--- a/lgl/string_.h
+++ b/lgl/string_.h
@@ -19,11 +19,7 @@
#ifndef _GL_STRING_H
/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <string.h>
-#else
-# include @ABSOLUTE_STRING_H@
-#endif
+#@INCLUDE_NEXT@ @NEXT_STRING_H@
#ifndef _GL_STRING_H
#define _GL_STRING_H
diff --git a/lgl/sys_socket_.h b/lgl/sys_socket_.h
index 014ff5b6d0..35cde40b23 100644
--- a/lgl/sys_socket_.h
+++ b/lgl/sys_socket_.h
@@ -30,11 +30,7 @@
# include <sys/types.h>
/* The include_next requires a split double-inclusion guard. */
-# if @HAVE_INCLUDE_NEXT@
-# include_next <sys/socket.h>
-# else
-# include @ABSOLUTE_SYS_SOCKET_H@
-# endif
+# @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@
#endif
diff --git a/lgl/sys_stat_.h b/lgl/sys_stat_.h
index e1e9e67a4c..ff2159f3e0 100644
--- a/lgl/sys_stat_.h
+++ b/lgl/sys_stat_.h
@@ -24,11 +24,7 @@
#ifndef _GL_SYS_STAT_H
/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_INCLUDE_NEXT@
-# include_next <sys/stat.h>
-#else
-# include @ABSOLUTE_SYS_STAT_H@
-#endif
+#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
#ifndef _GL_SYS_STAT_H
#define _GL_SYS_STAT_H
diff --git a/lgl/time_.h b/lgl/time_.h
index 5f3ae37575..3f5ad0061f 100644
--- a/lgl/time_.h
+++ b/lgl/time_.h
@@ -18,108 +18,97 @@
/* Don't get in the way of glibc when it includes time.h merely to
declare a few standard symbols, rather than to declare all the
- symbols. */
-#if defined __need_time_t || defined __need_clock_t || defined __need_timespec
+ symbols. Also, Solaris 8 <time.h> eventually includes itself
+ recursively; if that is happening, just include the system <time.h>
+ without adding our own declarations. */
+#if (defined __need_time_t || defined __need_clock_t \
+ || defined __need_timespec \
+ || defined _GL_TIME_H)
-# if @HAVE_INCLUDE_NEXT@
-# include_next <time.h>
-# else
-# include @ABSOLUTE_TIME_H@
-# endif
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
#else
-/* Normal invocation convention. */
-
-# if ! defined _GL_TIME_H
-/* The include_next requires a split double-inclusion guard. */
-# if @HAVE_INCLUDE_NEXT@
-# include_next <time.h>
-# else
-# include @ABSOLUTE_TIME_H@
-# endif
+# define _GL_TIME_H
-# if ! defined _GL_TIME_H
-# define _GL_TIME_H
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
-# ifdef __cplusplus
+# ifdef __cplusplus
extern "C" {
-# endif
+# endif
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
Or they define it with the wrong member names or define it in <sys/time.h>
(e.g., FreeBSD circa 1997). */
-# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
-# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
-# include <sys/time.h>
-# else
-# undef timespec
-# define timespec rpl_timespec
+# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
+# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+# include <sys/time.h>
+# else
+# undef timespec
+# define timespec rpl_timespec
struct timespec
{
time_t tv_sec;
long int tv_nsec;
};
-# endif
-# endif
+# endif
+# endif
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
return -1 and store the remaining time into RMTP. See
<http://www.opengroup.org/susv3xsh/nanosleep.html>. */
-# if @REPLACE_NANOSLEEP@
-# define nanosleep rpl_nanosleep
+# if @REPLACE_NANOSLEEP@
+# define nanosleep rpl_nanosleep
int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp);
-# endif
+# endif
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
<http://www.opengroup.org/susv3xsh/localtime_r.html> and
<http://www.opengroup.org/susv3xsh/gmtime_r.html>. */
-# if @REPLACE_LOCALTIME_R@
-# undef localtime_r
-# define localtime_r rpl_localtime_r
-# undef gmtime_r
-# define gmtime_r rpl_gmtime_r
+# if @REPLACE_LOCALTIME_R@
+# undef localtime_r
+# define localtime_r rpl_localtime_r
+# undef gmtime_r
+# define gmtime_r rpl_gmtime_r
struct tm *localtime_r (time_t const *restrict __timer,
struct tm *restrict __result);
struct tm *gmtime_r (time_t const *restrict __timer,
struct tm *restrict __result);
-# endif
+# endif
/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
the resulting broken-down time into TM. See
<http://www.opengroup.org/susv3xsh/strptime.html>. */
-# if @REPLACE_STRPTIME@
-# undef strptime
-# define strptime rpl_strptime
+# if @REPLACE_STRPTIME@
+# undef strptime
+# define strptime rpl_strptime
char *strptime (char const *restrict __buf, char const *restrict __format,
struct tm *restrict __tm);
-# endif
+# endif
/* Convert TM to a time_t value, assuming UTC. */
-# if @REPLACE_TIMEGM@
-# undef timegm
-# define timegm rpl_timegm
+# if @REPLACE_TIMEGM@
+# undef timegm
+# define timegm rpl_timegm
time_t timegm (struct tm *__tm);
-# endif
+# endif
/* Encourage applications to avoid unsafe functions that can overrun
buffers when given outlandish struct tm values. Portable
applications should use strftime (or even sprintf) instead. */
-# if GNULIB_PORTCHECK
-# undef asctime
-# define asctime eschew_asctime
-# undef asctime_r
-# define asctime_r eschew_asctime_r
-# undef ctime
-# define ctime eschew_ctime
-# undef ctime_r
-# define ctime_r eschew_ctime_r
-# endif
-
-# ifdef __cplusplus
+# if GNULIB_PORTCHECK
+# undef asctime
+# define asctime eschew_asctime
+# undef asctime_r
+# define asctime_r eschew_asctime_r
+# undef ctime
+# define ctime eschew_ctime
+# undef ctime_r
+# define ctime_r eschew_ctime_r
+# endif
+
+# ifdef __cplusplus
}
-# endif
+# endif
-# endif /* _GL_TIME_H */
-# endif /* _GL_TIME_H */
#endif
diff --git a/lgl/unistd_.h b/lgl/unistd_.h
index ce55683c11..5405baf881 100644
--- a/lgl/unistd_.h
+++ b/lgl/unistd_.h
@@ -19,11 +19,7 @@
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_UNISTD_H@
-# if @HAVE_INCLUDE_NEXT@
-# include_next <unistd.h>
-# else
-# include @ABSOLUTE_UNISTD_H@
-# endif
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
#endif
#ifndef _GL_UNISTD_H
@@ -49,13 +45,18 @@ extern "C" {
#if @GNULIB_CHOWN@
# if @REPLACE_CHOWN@
+# ifndef REPLACE_CHOWN
+# define REPLACE_CHOWN 1
+# endif
+# if REPLACE_CHOWN
/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
- to GID (if GID is not -1).
+ to GID (if GID is not -1). Follow symbolic links.
Return 0 if successful, otherwise -1 and errno set.
See the POSIX:2001 specification
<http://www.opengroup.org/susv3xsh/chown.html>. */
-# define chown rpl_chown
+# define chown rpl_chown
extern int chown (const char *file, uid_t uid, gid_t gid);
+# endif
# endif
#elif defined GNULIB_POSIXCHECK
# undef chown
@@ -179,6 +180,25 @@ extern int getlogin_r (char *name, size_t size);
#endif
+#if @GNULIB_LCHOWN@
+# if @REPLACE_LCHOWN@
+/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
+ to GID (if GID is not -1). Do not follow symbolic links.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2001 specification
+ <http://www.opengroup.org/susv3xsh/lchown.html>. */
+# define lchown rpl_lchown
+extern int lchown (char const *file, uid_t owner, gid_t group);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lchown
+# define lchown(f,u,g) \
+ (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \
+ "systems - use gnulib module lchown for portability"), \
+ lchown (f, u, g))
+#endif
+
+
#if @GNULIB_LSEEK@
# if @REPLACE_LSEEK@
/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
diff --git a/lgl/wchar_.h b/lgl/wchar_.h
index 6f31ccd547..5b6a5f173d 100644
--- a/lgl/wchar_.h
+++ b/lgl/wchar_.h
@@ -39,11 +39,7 @@
Some builds of uClibc lack it. */
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_WCHAR_H@
-# if @HAVE_INCLUDE_NEXT@
-# include_next <wchar.h>
-# else
-# include @ABSOLUTE_WCHAR_H@
-# endif
+# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
#endif
#ifndef _GL_WCHAR_H