1/* Name frobnication for compiling argp outside of glibc 2 Copyright (C) 1997, 2003, 2007 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 Written by Miles Bader <miles@gnu.ai.mit.edu>. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License along 17 with this program; if not, write to the Free Software Foundation, 18 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 19 20#if !_LIBC 21/* This code is written for inclusion in gnu-libc, and uses names in the 22 namespace reserved for libc. If we're not compiling in libc, define those 23 names to be the normal ones instead. */ 24 25/* argp-parse functions */ 26#undef __argp_parse 27#define __argp_parse argp_parse 28#undef __option_is_end 29#define __option_is_end _option_is_end 30#undef __option_is_short 31#define __option_is_short _option_is_short 32#undef __argp_input 33#define __argp_input _argp_input 34 35/* argp-help functions */ 36#undef __argp_help 37#define __argp_help argp_help 38#undef __argp_error 39#define __argp_error argp_error 40#undef __argp_failure 41#define __argp_failure argp_failure 42#undef __argp_state_help 43#define __argp_state_help argp_state_help 44#undef __argp_usage 45#define __argp_usage argp_usage 46 47/* argp-fmtstream functions */ 48#undef __argp_make_fmtstream 49#define __argp_make_fmtstream argp_make_fmtstream 50#undef __argp_fmtstream_free 51#define __argp_fmtstream_free argp_fmtstream_free 52#undef __argp_fmtstream_putc 53#define __argp_fmtstream_putc argp_fmtstream_putc 54#undef __argp_fmtstream_puts 55#define __argp_fmtstream_puts argp_fmtstream_puts 56#undef __argp_fmtstream_write 57#define __argp_fmtstream_write argp_fmtstream_write 58#undef __argp_fmtstream_printf 59#define __argp_fmtstream_printf argp_fmtstream_printf 60#undef __argp_fmtstream_set_lmargin 61#define __argp_fmtstream_set_lmargin argp_fmtstream_set_lmargin 62#undef __argp_fmtstream_set_rmargin 63#define __argp_fmtstream_set_rmargin argp_fmtstream_set_rmargin 64#undef __argp_fmtstream_set_wmargin 65#define __argp_fmtstream_set_wmargin argp_fmtstream_set_wmargin 66#undef __argp_fmtstream_point 67#define __argp_fmtstream_point argp_fmtstream_point 68#undef __argp_fmtstream_update 69#define __argp_fmtstream_update _argp_fmtstream_update 70#undef __argp_fmtstream_ensure 71#define __argp_fmtstream_ensure _argp_fmtstream_ensure 72#undef __argp_fmtstream_lmargin 73#define __argp_fmtstream_lmargin argp_fmtstream_lmargin 74#undef __argp_fmtstream_rmargin 75#define __argp_fmtstream_rmargin argp_fmtstream_rmargin 76#undef __argp_fmtstream_wmargin 77#define __argp_fmtstream_wmargin argp_fmtstream_wmargin 78 79/* normal libc functions we call */ 80#undef __flockfile 81#define __flockfile flockfile 82#undef __funlockfile 83#define __funlockfile funlockfile 84#undef __mempcpy 85#define __mempcpy mempcpy 86#undef __sleep 87#define __sleep sleep 88#undef __strcasecmp 89#define __strcasecmp strcasecmp 90#undef __strchrnul 91#define __strchrnul strchrnul 92#undef __strerror_r 93#define __strerror_r strerror_r 94#undef __strndup 95#define __strndup strndup 96#undef __vsnprintf 97#define __vsnprintf vsnprintf 98 99#if defined(HAVE_DECL_CLEARERR_UNLOCKED) && !HAVE_DECL_CLEARERR_UNLOCKED 100# define clearerr_unlocked(x) clearerr (x) 101#endif 102#if defined(HAVE_DECL_FEOF_UNLOCKED) && !HAVE_DECL_FEOF_UNLOCKED 103# define feof_unlocked(x) feof (x) 104# endif 105#if defined(HAVE_DECL_FERROR_UNLOCKED) && !HAVE_DECL_FERROR_UNLOCKED 106# define ferror_unlocked(x) ferror (x) 107# endif 108#if defined(HAVE_DECL_FFLUSH_UNLOCKED) && !HAVE_DECL_FFLUSH_UNLOCKED 109# define fflush_unlocked(x) fflush (x) 110# endif 111#if defined(HAVE_DECL_FGETS_UNLOCKED) && !HAVE_DECL_FGETS_UNLOCKED 112# define fgets_unlocked(x,y,z) fgets (x,y,z) 113# endif 114#if defined(HAVE_DECL_FPUTC_UNLOCKED) && !HAVE_DECL_FPUTC_UNLOCKED 115# define fputc_unlocked(x,y) fputc (x,y) 116# endif 117#if defined(HAVE_DECL_FPUTS_UNLOCKED) && !HAVE_DECL_FPUTS_UNLOCKED 118# define fputs_unlocked(x,y) fputs (x,y) 119# endif 120#if defined(HAVE_DECL_FREAD_UNLOCKED) && !HAVE_DECL_FREAD_UNLOCKED 121# define fread_unlocked(w,x,y,z) fread (w,x,y,z) 122# endif 123#if defined(HAVE_DECL_FWRITE_UNLOCKED) && !HAVE_DECL_FWRITE_UNLOCKED 124# define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) 125# endif 126#if defined(HAVE_DECL_GETC_UNLOCKED) && !HAVE_DECL_GETC_UNLOCKED 127# define getc_unlocked(x) getc (x) 128# endif 129#if defined(HAVE_DECL_GETCHAR_UNLOCKED) && !HAVE_DECL_GETCHAR_UNLOCKED 130# define getchar_unlocked() getchar () 131# endif 132#if defined(HAVE_DECL_PUTC_UNLOCKED) && !HAVE_DECL_PUTC_UNLOCKED 133# define putc_unlocked(x,y) putc (x,y) 134# endif 135#if defined(HAVE_DECL_PUTCHAR_UNLOCKED) && !HAVE_DECL_PUTCHAR_UNLOCKED 136# define putchar_unlocked(x) putchar (x) 137# endif 138 139#endif /* !_LIBC */ 140 141#ifndef __set_errno 142#define __set_errno(e) (errno = (e)) 143#endif 144 145#if defined GNULIB_ARGP_DISABLE_DIRNAME 146# define __argp_base_name(arg) arg 147#elif defined GNULIB_ARGP_EXTERN_BASENAME 148extern char *__argp_base_name(const char *arg); 149#else 150# include "dirname.h" 151# define __argp_base_name base_name 152#endif 153 154#if defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 155# define __argp_short_program_name() (program_invocation_short_name) 156#else 157extern char *__argp_short_program_name (void); 158#endif 159