]> Savannah Git Hosting - gnulib.git/commitdiff
getopt: prefer - to _ in new file names
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 9 Apr 2017 06:48:02 +0000 (23:48 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 9 Apr 2017 07:52:20 +0000 (00:52 -0700)
* 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.
All uses changed.

15 files changed:
ChangeLog
lib/getopt-cdefs.in.h [new file with mode: 0644]
lib/getopt-core.h [new file with mode: 0644]
lib/getopt-ext.h [new file with mode: 0644]
lib/getopt-pfx-core.h [new file with mode: 0644]
lib/getopt-pfx-ext.h [new file with mode: 0644]
lib/getopt.in.h
lib/getopt_cdefs.in.h [deleted file]
lib/getopt_core.h [deleted file]
lib/getopt_ext.h [deleted file]
lib/getopt_pfx_core.h [deleted file]
lib/getopt_pfx_ext.h [deleted file]
lib/unistd.in.h
m4/getopt.m4
modules/getopt-posix

index 595f2ba43d0381960cd0f5f9f74338a3eced766a..ae1a8bd9e7002b70160b8fc73e42495b2755d574 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
 
+       getopt: prefer - to _ in new file names
+       * 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.
+       All uses changed.
+
        getopt: port recent getopt changes to macOS
        Problem reported by Harald Maier (Bug#26398).
        The macOS C compiler uses __nonnull for its own purposes and that
diff --git a/lib/getopt-cdefs.in.h b/lib/getopt-cdefs.in.h
new file mode 100644 (file)
index 0000000..8984adb
--- /dev/null
@@ -0,0 +1,67 @@
+/* getopt-on-non-glibc compatibility macros.
+   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   gnulib is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of
+   the License, or (at your option) any later version.
+
+   gnulib is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with gnulib; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CDEFS_H
+#define _GETOPT_CDEFS_H 1
+
+/* This header should not be used directly; include getopt.h or
+   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
+   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@
+# include <sys/cdefs.h>
+#endif
+
+#ifndef __BEGIN_DECLS
+# ifdef __cplusplus
+#  define __BEGIN_DECLS extern "C" {
+# else
+#  define __BEGIN_DECLS /* nothing */
+# endif
+#endif
+#ifndef __END_DECLS
+# ifdef __cplusplus
+#  define __END_DECLS }
+# else
+#  define __END_DECLS /* nothing */
+# endif
+#endif
+
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_VERSION__
+# define __GNUC_PREREQ(maj, min) \
+        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#ifndef __THROW
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+#  define __THROW       throw ()
+# else
+#  define __THROW
+# endif
+#endif
+
+#endif /* _GETOPT_CDEFS_H */
diff --git a/lib/getopt-core.h b/lib/getopt-core.h
new file mode 100644 (file)
index 0000000..8c9eb51
--- /dev/null
@@ -0,0 +1,96 @@
+/* Declarations for getopt (basic, portable features only).
+   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_CORE_H
+#define _GETOPT_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  Unlike most bits headers, it does not have
+   a protective #error, because the guard macro for getopt.h in
+   gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* For communication from 'getopt' to the caller.
+   When 'getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when 'ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to 'getopt'.
+
+   On entry to 'getopt', zero means this is the first call; initialize.
+
+   When 'getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, 'optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message 'getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, 'optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in 'optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU 'getopt'.
+
+   The argument '--' causes premature termination of argument
+   scanning, explicitly telling 'getopt' that there are no more
+   options.
+
+   If OPTS begins with '-', then non-option arguments are treated as
+   arguments to the option '\1'.  This behavior is specific to the GNU
+   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
+   the environment, then do not permute arguments.
+
+   For standards compliance, the 'argv' argument has the type
+   char *const *, but this is inaccurate; if argument permutation is
+   enabled, the argv array (not the strings it points to) must be
+   writable.  */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __THROW _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_CORE_H */
diff --git a/lib/getopt-ext.h b/lib/getopt-ext.h
new file mode 100644 (file)
index 0000000..94190df
--- /dev/null
@@ -0,0 +1,77 @@
+/* Declarations for getopt (GNU extensions).
+   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library and is also part of gnulib.
+   Patches to this file should be submitted to both projects.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_EXT_H
+#define _GETOPT_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   Unlike most bits headers, it does not have a protective #error,
+   because the guard macro for getopt.h in gnulib is not fixed.  */
+
+__BEGIN_DECLS
+
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of 'struct option' terminated by an element containing a name which is
+   zero.
+
+   The field 'has_arg' is:
+   no_argument         (or 0) if the option does not take an argument,
+   required_argument   (or 1) if the option requires an argument,
+   optional_argument   (or 2) if the option takes an optional argument.
+
+   If the field 'flag' is not NULL, it points to a variable that is set
+   to the value given in the field 'val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an 'int' to
+   a compiled-in constant, such as set a value from 'optarg', set the
+   option's 'flag' field to zero and its 'val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero 'flag' field, 'getopt'
+   returns the contents of the 'val' field.  */
+
+struct option
+{
+  const char *name;
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the 'has_arg' field of 'struct option'.  */
+
+#define no_argument            0
+#define required_argument      1
+#define optional_argument      2
+
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
+                       const char *__shortopts,
+                       const struct option *__longopts, int *__longind)
+       __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 _GL_ARG_NONNULL ((2, 3));
+
+__END_DECLS
+
+#endif /* _GETOPT_EXT_H */
diff --git a/lib/getopt-pfx-core.h b/lib/getopt-pfx-core.h
new file mode 100644 (file)
index 0000000..155c116
--- /dev/null
@@ -0,0 +1,54 @@
+/* getopt (basic, portable features) gnulib wrapper header.
+   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   gnulib is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of
+   the License, or (at your option) any later version.
+
+   gnulib is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with gnulib; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_CORE_H
+#define _GETOPT_PFX_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+   unistd.h instead.  It does not have a protective #error, because
+   the guard macro for getopt.h in gnulib is not fixed.  */
+
+/* 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
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt
+# undef optarg
+# undef opterr
+# undef optind
+# undef optopt
+# define getopt __GETOPT_ID (getopt)
+# define optarg __GETOPT_ID (optarg)
+# define opterr __GETOPT_ID (opterr)
+# define optind __GETOPT_ID (optind)
+# define optopt __GETOPT_ID (optopt)
+#endif
+
+#include <getopt-core.h>
+
+#endif /* _GETOPT_PFX_CORE_H */
diff --git a/lib/getopt-pfx-ext.h b/lib/getopt-pfx-ext.h
new file mode 100644 (file)
index 0000000..2f86b23
--- /dev/null
@@ -0,0 +1,64 @@
+/* getopt (GNU extensions) gnulib wrapper header.
+   Copyright (C) 1989-2017 Free Software Foundation, Inc.
+   This file is part of gnulib.
+   Unlike most of the getopt implementation, it is NOT shared
+   with the GNU C Library.
+
+   gnulib is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of
+   the License, or (at your option) any later version.
+
+   gnulib is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with gnulib; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _GETOPT_PFX_EXT_H
+#define _GETOPT_PFX_EXT_H 1
+
+/* This header should not be used directly; include getopt.h instead.
+   It does not have a protective #error, because the guard macro for
+   getopt.h in gnulib is not fixed.  */
+
+/* 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
+   rename identifiers so that they do not collide with the system
+   functions and variables.  Renaming avoids problems with some
+   compilers and linkers.  */
+#ifdef __GETOPT_PREFIX
+# ifndef __GETOPT_ID
+#  define __GETOPT_CONCAT(x, y) x ## y
+#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
+#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
+# endif
+# undef getopt_long
+# undef getopt_long_only
+# undef option
+# define getopt_long __GETOPT_ID (getopt_long)
+# define getopt_long_only __GETOPT_ID (getopt_long_only)
+# define option __GETOPT_ID (option)
+#endif
+
+/* Standalone applications get correct prototypes for getopt_long and
+   getopt_long_only; they declare "char **argv".  For backward
+   compatibility with old applications, if __GETOPT_PREFIX is not
+   defined, we supply GNU-libc-compatible, but incorrect, prototypes
+   using "char *const *argv".  (GNU libc is stuck with the incorrect
+   prototypes, as they are baked into older versions of LSB.)  */
+#ifndef __getopt_argv_const
+# if defined __GETOPT_PREFIX
+#  define __getopt_argv_const /* empty */
+# else
+#  define __getopt_argv_const const
+# endif
+#endif
+
+#include <getopt-ext.h>
+
+#endif /* _GETOPT_PFX_EXT_H */
index 9f84c277520618ffed97808698ba54527fb7644c..bef07e9d8310bf0510f239949581258fc8db3ddd 100644 (file)
@@ -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
    <getopt.h>, we have already included it).  */
@@ -54,8 +54,8 @@
 
 /* The definition of _GL_ARG_NONNULL is copied here.  */
 
-#include <getopt_cdefs.h>
-#include <getopt_pfx_core.h>
-#include <getopt_pfx_ext.h>
+#include <getopt-cdefs.h>
+#include <getopt-pfx-core.h>
+#include <getopt-pfx-ext.h>
 
 #endif /* _@GUARD_PREFIX@_GETOPT_H */
diff --git a/lib/getopt_cdefs.in.h b/lib/getopt_cdefs.in.h
deleted file mode 100644 (file)
index 54da28d..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* getopt-on-non-glibc compatibility macros.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
-   This file is part of gnulib.
-   Unlike most of the getopt implementation, it is NOT shared
-   with the GNU C Library.
-
-   gnulib is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of
-   the License, or (at your option) any later version.
-
-   gnulib is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with gnulib; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GETOPT_CDEFS_H
-#define _GETOPT_CDEFS_H 1
-
-/* This header should not be used directly; include getopt.h or
-   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
-   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@
-# include <sys/cdefs.h>
-#endif
-
-#ifndef __BEGIN_DECLS
-# ifdef __cplusplus
-#  define __BEGIN_DECLS extern "C" {
-# else
-#  define __BEGIN_DECLS /* nothing */
-# endif
-#endif
-#ifndef __END_DECLS
-# ifdef __cplusplus
-#  define __END_DECLS }
-# else
-#  define __END_DECLS /* nothing */
-# endif
-#endif
-
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_VERSION__
-# define __GNUC_PREREQ(maj, min) \
-        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-# else
-#  define __GNUC_PREREQ(maj, min) 0
-# endif
-#endif
-
-#ifndef __THROW
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-#  define __THROW       throw ()
-# else
-#  define __THROW
-# endif
-#endif
-
-#endif /* getopt_cdefs.h */
diff --git a/lib/getopt_core.h b/lib/getopt_core.h
deleted file mode 100644 (file)
index 76ef466..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Declarations for getopt (basic, portable features only).
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library and is also part of gnulib.
-   Patches to this file should be submitted to both projects.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GETOPT_CORE_H
-#define _GETOPT_CORE_H 1
-
-/* This header should not be used directly; include getopt.h or
-   unistd.h instead.  Unlike most bits headers, it does not have
-   a protective #error, because the guard macro for getopt.h in
-   gnulib is not fixed.  */
-
-__BEGIN_DECLS
-
-/* For communication from 'getopt' to the caller.
-   When 'getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when 'ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to 'getopt'.
-
-   On entry to 'getopt', zero means this is the first call; initialize.
-
-   When 'getopt' returns -1, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, 'optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message 'getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
-
-extern int optopt;
-
-/* Get definitions and prototypes for functions to process the
-   arguments in ARGV (ARGC of them, minus the program name) for
-   options given in OPTS.
-
-   Return the option character from OPTS just read.  Return -1 when
-   there are no more options.  For unrecognized options, or options
-   missing arguments, 'optopt' is set to the option letter, and '?' is
-   returned.
-
-   The OPTS string is a list of characters which are recognized option
-   letters, optionally followed by colons, specifying that that letter
-   takes an argument, to be placed in 'optarg'.
-
-   If a letter in OPTS is followed by two colons, its argument is
-   optional.  This behavior is specific to the GNU 'getopt'.
-
-   The argument '--' causes premature termination of argument
-   scanning, explicitly telling 'getopt' that there are no more
-   options.
-
-   If OPTS begins with '-', then non-option arguments are treated as
-   arguments to the option '\1'.  This behavior is specific to the GNU
-   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in
-   the environment, then do not permute arguments.
-
-   For standards compliance, the 'argv' argument has the type
-   char *const *, but this is inaccurate; if argument permutation is
-   enabled, the argv array (not the strings it points to) must be
-   writable.  */
-
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-__END_DECLS
-
-#endif /* getopt_core.h */
diff --git a/lib/getopt_ext.h b/lib/getopt_ext.h
deleted file mode 100644 (file)
index a3a6750..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Declarations for getopt (GNU extensions).
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library and is also part of gnulib.
-   Patches to this file should be submitted to both projects.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GETOPT_EXT_H
-#define _GETOPT_EXT_H 1
-
-/* This header should not be used directly; include getopt.h instead.
-   Unlike most bits headers, it does not have a protective #error,
-   because the guard macro for getopt.h in gnulib is not fixed.  */
-
-__BEGIN_DECLS
-
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of 'struct option' terminated by an element containing a name which is
-   zero.
-
-   The field 'has_arg' is:
-   no_argument         (or 0) if the option does not take an argument,
-   required_argument   (or 1) if the option requires an argument,
-   optional_argument   (or 2) if the option takes an optional argument.
-
-   If the field 'flag' is not NULL, it points to a variable that is set
-   to the value given in the field 'val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an 'int' to
-   a compiled-in constant, such as set a value from 'optarg', set the
-   option's 'flag' field to zero and its 'val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero 'flag' field, 'getopt'
-   returns the contents of the 'val' field.  */
-
-struct option
-{
-  const char *name;
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-
-/* Names for the values of the 'has_arg' field of 'struct option'.  */
-
-#define no_argument            0
-#define required_argument      1
-#define optional_argument      2
-
-extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
-                       const char *__shortopts,
-                       const struct option *__longopts, int *__longind)
-       __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 _GL_ARG_NONNULL ((2, 3));
-
-__END_DECLS
-
-#endif /* getopt_ext.h */
diff --git a/lib/getopt_pfx_core.h b/lib/getopt_pfx_core.h
deleted file mode 100644 (file)
index b730d2d..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/* getopt (basic, portable features) gnulib wrapper header.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
-   This file is part of gnulib.
-   Unlike most of the getopt implementation, it is NOT shared
-   with the GNU C Library.
-
-   gnulib is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of
-   the License, or (at your option) any later version.
-
-   gnulib is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with gnulib; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GETOPT_PFX_CORE_H
-#define _GETOPT_PFX_CORE_H 1
-
-/* This header should not be used directly; include getopt.h or
-   unistd.h instead.  It does not have a protective #error, because
-   the guard macro for getopt.h in gnulib is not fixed.  */
-
-/* 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
-   rename identifiers so that they do not collide with the system
-   functions and variables.  Renaming avoids problems with some
-   compilers and linkers.  */
-#ifdef __GETOPT_PREFIX
-# ifndef __GETOPT_ID
-#  define __GETOPT_CONCAT(x, y) x ## y
-#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# endif
-# undef getopt
-# undef optarg
-# undef opterr
-# undef optind
-# undef optopt
-# define getopt __GETOPT_ID (getopt)
-# define optarg __GETOPT_ID (optarg)
-# define opterr __GETOPT_ID (opterr)
-# define optind __GETOPT_ID (optind)
-# define optopt __GETOPT_ID (optopt)
-#endif
-
-#include <getopt_core.h>
-
-#endif /* getopt_pfx_core.h */
diff --git a/lib/getopt_pfx_ext.h b/lib/getopt_pfx_ext.h
deleted file mode 100644 (file)
index 8c1691a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* getopt (GNU extensions) gnulib wrapper header.
-   Copyright (C) 1989-2017 Free Software Foundation, Inc.
-   This file is part of gnulib.
-   Unlike most of the getopt implementation, it is NOT shared
-   with the GNU C Library.
-
-   gnulib is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of
-   the License, or (at your option) any later version.
-
-   gnulib is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with gnulib; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _GETOPT_PFX_EXT_H
-#define _GETOPT_PFX_EXT_H 1
-
-/* This header should not be used directly; include getopt.h instead.
-   It does not have a protective #error, because the guard macro for
-   getopt.h in gnulib is not fixed.  */
-
-/* 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
-   rename identifiers so that they do not collide with the system
-   functions and variables.  Renaming avoids problems with some
-   compilers and linkers.  */
-#ifdef __GETOPT_PREFIX
-# ifndef __GETOPT_ID
-#  define __GETOPT_CONCAT(x, y) x ## y
-#  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-#  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# endif
-# undef getopt_long
-# undef getopt_long_only
-# undef option
-# define getopt_long __GETOPT_ID (getopt_long)
-# define getopt_long_only __GETOPT_ID (getopt_long_only)
-# define option __GETOPT_ID (option)
-#endif
-
-/* Standalone applications get correct prototypes for getopt_long and
-   getopt_long_only; they declare "char **argv".  For backward
-   compatibility with old applications, if __GETOPT_PREFIX is not
-   defined, we supply GNU-libc-compatible, but incorrect, prototypes
-   using "char *const *argv".  (GNU libc is stuck with the incorrect
-   prototypes, as they are baked into older versions of LSB.)  */
-#ifndef __getopt_argv_const
-# if defined __GETOPT_PREFIX
-#  define __getopt_argv_const /* empty */
-# else
-#  define __getopt_argv_const const
-# endif
-#endif
-
-#include <getopt_ext.h>
-
-#endif /* getopt_pfx_ext.h */
index de619dcca121413a501d315994118590ec0baa68..d9f741fea55bbf7b1e62f12899befaa0d2a78b47 100644 (file)
 /* 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 <getopt_cdefs.h>
-# include <getopt_pfx_core.h>
+# include <getopt-cdefs.h>
+# include <getopt-pfx-core.h>
 #endif
 
 #ifndef _GL_INLINE_HEADER_BEGIN
index d90076922b29ae7e81911efe64d1bd88c6e5d1aa..ac3b38e385e528dc8ff262cb855d89c72c0ab1c5 100644 (file)
@@ -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])
 ])
index 220875641cca48e00d0d714a1545826b4fdfbc4a..a7825635af4e47d04f133d362410d35069574334 100644 (file)
@@ -5,12 +5,12 @@ Files:
 lib/getopt.c
 lib/getopt1.c
 lib/getopt.in.h
-lib/getopt_cdefs.in.h
-lib/getopt_core.h
-lib/getopt_ext.h
+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_int.h
-lib/getopt_pfx_core.h
-lib/getopt_pfx_ext.h
 m4/getopt.m4
 
 Depends-on:
@@ -49,15 +49,15 @@ getopt.h: getopt.in.h $(top_builddir)/config.status
        } > $@-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
 
 Include:
 <unistd.h>