]> git.ipfire.org Git - thirdparty/libbsd.git/commitdiff
Base getprogname() on program_invocation_short_name presence instead of glibc
authorGuillem Jover <guillem@hadrons.org>
Tue, 3 Jan 2012 07:58:01 +0000 (08:58 +0100)
committerGuillem Jover <guillem@hadrons.org>
Tue, 29 May 2012 02:51:04 +0000 (04:51 +0200)
configure.ac
src/progname.c

index 0304f578c7b9285ef1f28f3b43fee15238b21a65..54da1017634c6a63fc924e4262144c8333319f51 100644 (file)
@@ -45,6 +45,15 @@ AC_CHECK_DECL([F_CLOSEM],
                #include <fcntl.h>])
 
 # Checks for library functions.
+AC_MSG_CHECKING([for program_invocation_short_name])
+AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM([[#include <errno.h>]],
+                        [[const char *p = program_invocation_short_name;]])],
+       [AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
+                  [Define to 1 if you have program_invocation_short_name])
+        AC_MSG_RESULT([yes])],
+       [AC_MSG_RESULT([no])])
+
 AC_MSG_CHECKING([for __progname])
 AC_LINK_IFELSE(
        [AC_LANG_PROGRAM([[]],
index 4d0fee7e48853e91bfb973f8165a90afe601c1d0..9bc5e4b77b8165fd3a6519825f581fe28ce688eb 100644 (file)
@@ -42,7 +42,7 @@ static const char *__progname = NULL;
 const char *
 getprogname(void)
 {
-#ifdef __GLIBC__
+#if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
        if (__progname == NULL)
                __progname = program_invocation_short_name;
 #elif defined(HAVE_GETEXECNAME)