From 43bc45ba1697b60c4589cb0c8e30cf1618275582 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 9 Apr 2017 00:53:27 -0700 Subject: [PATCH] Merge from gnulib (Bug#26398) This incorporates: 2017-04-08 getopt: prefer - to _ in new file names 2017-04-08 getopt: port recent getopt changes to macOS * .gitignore: Add lib/getopt-cdefs.h. * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h. * lib/getopt-core.h: Rename from lib/getopt_core.h. * lib/getopt-ext.h: Rename from lib/getopt_ext.h. * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h. * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h. * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4: Copy from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. --- .gitignore | 1 + lib/{getopt_cdefs.in.h => getopt-cdefs.in.h} | 12 ++---------- lib/{getopt_core.h => getopt-core.h} | 4 ++-- lib/{getopt_ext.h => getopt-ext.h} | 6 +++--- lib/{getopt_pfx_core.h => getopt-pfx-core.h} | 6 +++--- lib/{getopt_pfx_ext.h => getopt-pfx-ext.h} | 6 +++--- lib/getopt.in.h | 10 ++++++---- lib/gnulib.mk.in | 10 ++++++---- lib/unistd.in.h | 18 +++++++++--------- m4/getopt.m4 | 4 ++-- m4/gnulib-comp.m4 | 10 +++++----- 11 files changed, 42 insertions(+), 45 deletions(-) rename lib/{getopt_cdefs.in.h => getopt-cdefs.in.h} (88%) rename lib/{getopt_core.h => getopt-core.h} (98%) rename lib/{getopt_ext.h => getopt-ext.h} (96%) rename lib/{getopt_pfx_core.h => getopt-pfx-core.h} (94%) rename lib/{getopt_pfx_ext.h => getopt-pfx-ext.h} (95%) diff --git a/.gitignore b/.gitignore index aa9e1ff709e..fa9353453ce 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,7 @@ lib/errno.h lib/execinfo.h lib/fcntl.h lib/getopt.h +lib/getopt-cdefs.h lib/inttypes.h lib/libgnu.a lib/limits.h diff --git a/lib/getopt_cdefs.in.h b/lib/getopt-cdefs.in.h similarity index 88% rename from lib/getopt_cdefs.in.h rename to lib/getopt-cdefs.in.h index 18f9fb4f98a..c71a4f11f64 100644 --- a/lib/getopt_cdefs.in.h +++ b/lib/getopt-cdefs.in.h @@ -25,7 +25,7 @@ unistd.h instead. It does not have a protective #error, because the guard macro for getopt.h in gnulib is not fixed. */ -/* getopt_core.h and getopt_ext.h are shared with GNU libc, and expect +/* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect a number of the internal macros supplied to GNU libc's headers by sys/cdefs.h. Provide fallback definitions for all of them. */ #if @HAVE_SYS_CDEFS_H@ @@ -64,12 +64,4 @@ # endif #endif -#ifndef __nonnull -# if __GNUC_PREREQ (3,3) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) -# else -# define __nonnull(params) -# endif -#endif - -#endif /* getopt_cdefs.h */ +#endif /* _GETOPT_CDEFS_H */ diff --git a/lib/getopt_core.h b/lib/getopt-core.h similarity index 98% rename from lib/getopt_core.h rename to lib/getopt-core.h index d6ef8a6b782..d315891aefd 100644 --- a/lib/getopt_core.h +++ b/lib/getopt-core.h @@ -89,8 +89,8 @@ extern int optopt; writable. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) - __THROW __nonnull ((2, 3)); + __THROW _GL_ARG_NONNULL ((2, 3)); __END_DECLS -#endif /* getopt_core.h */ +#endif /* _GETOPT_CORE_H */ diff --git a/lib/getopt_ext.h b/lib/getopt-ext.h similarity index 96% rename from lib/getopt_ext.h rename to lib/getopt-ext.h index 79b7a670d58..e4da22f54f5 100644 --- a/lib/getopt_ext.h +++ b/lib/getopt-ext.h @@ -66,12 +66,12 @@ struct option extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) - __THROW __nonnull ((2, 3)); + __THROW _GL_ARG_NONNULL ((2, 3)); extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) - __THROW __nonnull ((2, 3)); + __THROW _GL_ARG_NONNULL ((2, 3)); __END_DECLS -#endif /* getopt_ext.h */ +#endif /* _GETOPT_EXT_H */ diff --git a/lib/getopt_pfx_core.h b/lib/getopt-pfx-core.h similarity index 94% rename from lib/getopt_pfx_core.h rename to lib/getopt-pfx-core.h index d585a08ce9f..4dc427dc3ef 100644 --- a/lib/getopt_pfx_core.h +++ b/lib/getopt-pfx-core.h @@ -27,7 +27,7 @@ /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables - defined in getopt_core.h and getopt_ext.h. Systematically + defined in getopt-core.h and getopt-ext.h. Systematically rename identifiers so that they do not collide with the system functions and variables. Renaming avoids problems with some compilers and linkers. */ @@ -49,6 +49,6 @@ # define optopt __GETOPT_ID (optopt) #endif -#include +#include -#endif /* getopt_pfx_core.h */ +#endif /* _GETOPT_PFX_CORE_H */ diff --git a/lib/getopt_pfx_ext.h b/lib/getopt-pfx-ext.h similarity index 95% rename from lib/getopt_pfx_ext.h rename to lib/getopt-pfx-ext.h index 3da156a09ba..bc6052a1dd1 100644 --- a/lib/getopt_pfx_ext.h +++ b/lib/getopt-pfx-ext.h @@ -27,7 +27,7 @@ /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables - defined in getopt_core.h and getopt_ext.h. Systematically + defined in getopt-core.h and getopt-ext.h. Systematically rename identifiers so that they do not collide with the system functions and variables. Renaming avoids problems with some compilers and linkers. */ @@ -59,6 +59,6 @@ # endif #endif -#include +#include -#endif /* getopt_pfx_ext.h */ +#endif /* _GETOPT_PFX_EXT_H */ diff --git a/lib/getopt.in.h b/lib/getopt.in.h index 91e086c0207..4ce1eb485af 100644 --- a/lib/getopt.in.h +++ b/lib/getopt.in.h @@ -38,7 +38,7 @@ /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables - defined in getopt_core.h and getopt_ext.h. When this happens, + defined in getopt-core.h and getopt-ext.h. When this happens, include the headers that might declare getopt so that they will not cause confusion if included after this file (if the system had , we have already included it). */ @@ -52,8 +52,10 @@ # endif #endif -#include -#include -#include +/* The definition of _GL_ARG_NONNULL is copied here. */ + +#include +#include +#include #endif /* _@GUARD_PREFIX@_GETOPT_H */ diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in index 38adf2a9f76..08f48c2ca38 100644 --- a/lib/gnulib.mk.in +++ b/lib/gnulib.mk.in @@ -922,6 +922,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -1527,21 +1528,22 @@ getopt.h: getopt.in.h $(top_builddir)/config.status -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ < $(srcdir)/getopt.in.h; \ } > $@-t && \ mv -f $@-t $@ -getopt_cdefs.h: getopt_cdefs.in.h $(top_builddir)/config.status +getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ - < $(srcdir)/getopt_cdefs.in.h; \ + < $(srcdir)/getopt-cdefs.in.h; \ } > $@-t && \ mv -f $@-t $@ -MOSTLYCLEANFILES += getopt.h getopt.h-t getopt_cdefs.h getopt_cdefs.h-t +MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t -EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_cdefs.in.h getopt_core.h getopt_ext.h getopt_int.h getopt_pfx_core.h getopt_pfx_ext.h +EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c diff --git a/lib/unistd.in.h b/lib/unistd.in.h index ed175bf8f2b..cb9321e502d 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -127,11 +127,18 @@ # include #endif +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ + + /* Get getopt(), optarg, optind, opterr, optopt. But avoid namespace pollution on glibc systems. */ #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT -# include -# include +# include +# include #endif #ifndef _GL_INLINE_HEADER_BEGIN @@ -142,13 +149,6 @@ _GL_INLINE_HEADER_BEGIN # define _GL_UNISTD_INLINE _GL_INLINE #endif -/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ - -/* The definition of _GL_ARG_NONNULL is copied here. */ - -/* The definition of _GL_WARN_ON_USE is copied here. */ - - /* Hide some function declarations from . */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ diff --git a/m4/getopt.m4 b/m4/getopt.m4 index d90076922b2..ac3b38e385e 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,4 +1,4 @@ -# getopt.m4 serial 45 +# getopt.m4 serial 46 dnl Copyright (C) 2002-2006, 2008-2017 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -364,7 +364,7 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [Define to rpl_ if the getopt replacement functions and variables should be used.]) GETOPT_H=getopt.h - GETOPT_CDEFS_H=getopt_cdefs.h + GETOPT_CDEFS_H=getopt-cdefs.h AC_SUBST([GETOPT_H]) AC_SUBST([GETOPT_CDEFS_H]) ]) diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 5aea057c5d5..bfac944ea05 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -899,15 +899,15 @@ AC_DEFUN([gl_FILE_LIST], [ lib/getdtablesize.c lib/getgroups.c lib/getloadavg.c + lib/getopt-cdefs.in.h + lib/getopt-core.h + lib/getopt-ext.h + lib/getopt-pfx-core.h + lib/getopt-pfx-ext.h lib/getopt.c lib/getopt.in.h lib/getopt1.c - lib/getopt_cdefs.in.h - lib/getopt_core.h - lib/getopt_ext.h lib/getopt_int.h - lib/getopt_pfx_core.h - lib/getopt_pfx_ext.h lib/gettext.h lib/gettime.c lib/gettimeofday.c -- 2.39.2