X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fargp-namefrob.h;h=ea3086455ed945650b68d25763b218af0b042858;hb=1b85e216d2ceb6d219d509b0471242d5b3dd88eb;hp=1fda567272db350f6816ecc118d8ac8f234ce4a1;hpb=267a39bafd249d7eb9c37df06dc6defcf41cb343;p=gnulib.git diff --git a/lib/argp-namefrob.h b/lib/argp-namefrob.h index 1fda56727..ea3086455 100644 --- a/lib/argp-namefrob.h +++ b/lib/argp-namefrob.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #if !_LIBC /* This code is written for inclusion in gnu-libc, and uses names in the @@ -141,7 +141,19 @@ # define putchar_unlocked(x) putchar (x) # endif -extern char *__argp_basename (char *name); +/* GNULIB makes sure both program_invocation_name and + program_invocation_short_name are available */ +#ifdef GNULIB_PROGRAM_INVOCATION_NAME +extern char *program_invocation_name; +# undef HAVE_DECL_PROGRAM_INVOCATION_NAME +# define HAVE_DECL_PROGRAM_INVOCATION_NAME 1 +#endif + +#ifdef GNULIB_PROGRAM_INVOCATION_SHORT_NAME +extern char *program_invocation_short_name; +# undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME +# define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 +#endif #endif /* !_LIBC */ @@ -149,6 +161,15 @@ extern char *__argp_basename (char *name); #define __set_errno(e) (errno = (e)) #endif +#if defined GNULIB_ARGP_DISABLE_DIRNAME +# define __argp_base_name(arg) arg +#elif defined GNULIB_ARGP_EXTERN_BASENAME +extern char *__argp_base_name(const char *arg); +#else +# include "dirname.h" +# define __argp_base_name base_name +#endif + #if defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME # define __argp_short_program_name() (program_invocation_short_name) #else