root/lib/getopt-pfx-core.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /* getopt (basic, portable features) gnulib wrapper header.
     2    Copyright (C) 1989-2023 Free Software Foundation, Inc.
     3    This file is part of gnulib.
     4    Unlike most of the getopt implementation, it is NOT shared
     5    with the GNU C Library.
     6 
     7    This file is free software: you can redistribute it and/or modify
     8    it under the terms of the GNU Lesser General Public License as
     9    published by the Free Software Foundation; either version 2.1 of the
    10    License, or (at your option) any later version.
    11 
    12    This file is distributed in the hope that it will be useful,
    13    but WITHOUT ANY WARRANTY; without even the implied warranty of
    14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15    GNU Lesser General Public License for more details.
    16 
    17    You should have received a copy of the GNU Lesser General Public License
    18    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
    19 
    20 #ifndef _GETOPT_PFX_CORE_H
    21 #define _GETOPT_PFX_CORE_H 1
    22 
    23 /* This header should not be used directly; include getopt.h or
    24    unistd.h instead.  It does not have a protective #error, because
    25    the guard macro for getopt.h in gnulib is not fixed.  */
    26 
    27 /* Standalone applications should #define __GETOPT_PREFIX to an
    28    identifier that prefixes the external functions and variables
    29    defined in getopt-core.h and getopt-ext.h.  Systematically
    30    rename identifiers so that they do not collide with the system
    31    functions and variables.  Renaming avoids problems with some
    32    compilers and linkers.  */
    33 #ifdef __GETOPT_PREFIX
    34 # ifndef __GETOPT_ID
    35 #  define __GETOPT_CONCAT(x, y) x ## y
    36 #  define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
    37 #  define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
    38 # endif
    39 # undef getopt
    40 # undef optarg
    41 # undef opterr
    42 # undef optind
    43 # undef optopt
    44 # define getopt __GETOPT_ID (getopt)
    45 # define optarg __GETOPT_ID (optarg)
    46 # define opterr __GETOPT_ID (opterr)
    47 # define optind __GETOPT_ID (optind)
    48 # define optopt __GETOPT_ID (optopt)
    49 
    50 /* Work around a a problem on macOS, which declares getopt with a
    51    trailing __DARWIN_ALIAS(getopt) that would expand to something like
    52    __asm("_" "rpl_getopt" "$UNIX2003") were it not for the following
    53    hack to suppress the macOS declaration <https://bugs.gnu.org/40205>.  */
    54 # ifdef __APPLE__
    55 #  define _GETOPT
    56 # endif
    57 
    58 /* The system's getopt.h may have already included getopt-core.h to
    59    declare the unprefixed identifiers.  Undef _GETOPT_CORE_H so that
    60    getopt-core.h declares them with prefixes.  */
    61 # undef _GETOPT_CORE_H
    62 #endif
    63 
    64 #include <getopt-core.h>
    65 
    66 #endif /* _GETOPT_PFX_CORE_H */

/* [<][>][^][v][top][bottom][index][help] */