/* Substitute for <sys/utsname.h>.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_SYS_UTSNAME_H
+#ifndef _@GUARD_PREFIX@_SYS_UTSNAME_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if @HAVE_SYS_UTSNAME_H@
+
+/* Minix 3.1.8 has a bug: <stddef.h> must be included before <sys/utsname.h>.
+ But avoid namespace pollution on glibc systems. */
+# if defined __minix && !defined __GLIBC__
+# include <stddef.h>
+# endif
+
# @INCLUDE_NEXT@ @NEXT_SYS_UTSNAME_H@
-#endif
-#define _GL_SYS_UTSNAME_H
+#endif
-/* The definition of GL_LINK_WARNING is copied here. */
+#define _@GUARD_PREFIX@_SYS_UTSNAME_H
/* The definition of _GL_ARG_NONNULL is copied here. */
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
#ifdef __cplusplus
extern "C" {
# define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH
# endif
+# if !GNULIB_defined_struct_utsname
/* Structure describing the system and machine. */
struct utsname
{
/* Name of the hardware type the system is running on. */
char machine[_UTSNAME_MACHINE_LENGTH];
};
+# define GNULIB_defined_struct_utsname 1
+# endif
+
#endif /* !@HAVE_STRUCT_UTSNAME@ */
# endif
#elif defined GNULIB_POSIXCHECK
# undef uname
-# define uname(b) \
- (GL_LINK_WARNING ("uname is unportable - " \
- "use gnulib module uname for portability"), \
- uname (b))
+# if HAVE_RAW_DECL_UNAME
+_GL_WARN_ON_USE (uname, "uname is unportable - "
+ "use gnulib module uname for portability");
+# endif
#endif
#endif
-#endif /* _GL_SYS_UTSNAME_H */
+#endif /* _@GUARD_PREFIX@_SYS_UTSNAME_H */