(root)/
m4-1.4.19/
lib/
getopt-cdefs.in.h
       1  /* getopt-on-non-glibc compatibility macros.
       2     Copyright (C) 1989-2021 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 it
       8     under the terms of the GNU General Public License as
       9     published by the Free Software Foundation; either version 3 of
      10     the License, or (at your option) any later version.
      11  
      12     This file is distributed in the hope that it will be useful, but
      13     WITHOUT ANY WARRANTY; without even the implied warranty of
      14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      15     General Public License for more details.
      16  
      17     You should have received a copy of the GNU General Public
      18     License along with gnulib; if not, see
      19     <https://www.gnu.org/licenses/>.  */
      20  
      21  #ifndef _GETOPT_CDEFS_H
      22  #define _GETOPT_CDEFS_H 1
      23  
      24  /* This header should not be used directly; include getopt.h or
      25     unistd.h instead.  It does not have a protective #error, because
      26     the guard macro for getopt.h in gnulib is not fixed.  */
      27  
      28  /* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect
      29     a number of the internal macros supplied to GNU libc's headers by
      30     sys/cdefs.h.  Provide fallback definitions for all of them.  */
      31  #if @HAVE_SYS_CDEFS_H@
      32  # include <sys/cdefs.h>
      33  #endif
      34  
      35  #ifndef __BEGIN_DECLS
      36  # ifdef __cplusplus
      37  #  define __BEGIN_DECLS extern "C" {
      38  # else
      39  #  define __BEGIN_DECLS /* nothing */
      40  # endif
      41  #endif
      42  #ifndef __END_DECLS
      43  # ifdef __cplusplus
      44  #  define __END_DECLS }
      45  # else
      46  #  define __END_DECLS /* nothing */
      47  # endif
      48  #endif
      49  
      50  #ifndef __GNUC_PREREQ
      51  # if defined __GNUC__ && defined __GNUC_VERSION__
      52  # define __GNUC_PREREQ(maj, min) \
      53          ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
      54  # else
      55  #  define __GNUC_PREREQ(maj, min) 0
      56  # endif
      57  #endif
      58  
      59  #ifndef __THROW
      60  # if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4)
      61  #  define __THROW       throw ()
      62  # else
      63  #  define __THROW
      64  # endif
      65  #endif
      66  
      67  #endif /* _GETOPT_CDEFS_H */