]> Savannah Git Hosting - gnulib.git/commitdiff
argp: Don't break getprogname on non-glibc systems.
authorBruno Haible <bruno@clisp.org>
Sun, 22 Nov 2020 21:29:44 +0000 (22:29 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 22 Nov 2020 21:29:44 +0000 (22:29 +0100)
* m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
program_invocation_name and program_invocation_short_name.

ChangeLog
m4/argp.m4

index 0265be8179469cad346089f380db3b5ddaccbeaa..ce6c8ac31f36b2e1502c33ad3765f071a0c6b8c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-11-22  Bruno Haible  <bruno@clisp.org>
+
+       argp: Don't break getprogname on non-glibc systems.
+       * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
+       program_invocation_name and program_invocation_short_name.
+
 2020-11-22  Bruno Haible  <bruno@clisp.org>
 
        doc: Document <link.h>.
index bfe202400281b7efc8aaa1208f3c893fb21f0de8..8b863e3ef42df501cbf738868ba96bb61f808d5f 100644 (file)
@@ -1,4 +1,4 @@
-# argp.m4 serial 15
+# argp.m4 serial 16
 dnl Copyright (C) 2003-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -10,34 +10,42 @@ AC_DEFUN([gl_ARGP],
   AC_REQUIRE([AC_C_RESTRICT])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 
-  AC_CHECK_DECLS([program_invocation_name], [],
-                 [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
-                            [Define to 1 to add extern declaration of program_invocation_name to argp.h])],
-                 [[#include <errno.h>]])
-  AC_CHECK_DECLS([program_invocation_short_name], [],
-                 [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
-                            [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
-                 [[#include <errno.h>]])
+  AC_CHECK_DECLS([program_invocation_name],
+    [],
+    [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
+       [Define to 1 to add extern declaration of program_invocation_name to argp.h])],
+    [[#include <errno.h>]])
+  AC_CHECK_DECLS([program_invocation_short_name],
+    [],
+    [AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
+       [Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
+    [[#include <errno.h>]])
 
   # Check if program_invocation_name and program_invocation_short_name
   # are defined elsewhere. It is improbable that only one of them will
   # be defined and other not, I prefer to stay on the safe side and to
   # test each one separately.
   AC_MSG_CHECKING([whether program_invocation_name is defined])
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <argp.h>]],
-                                  [[program_invocation_name = "test";]])],
-                 [AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1],
-                            [Define if program_invocation_name is defined])
-                  AC_MSG_RESULT([yes])],
-                 [AC_MSG_RESULT([no])])
+  AC_LINK_IFELSE(
+    [AC_LANG_PROGRAM(
+       [[extern char *program_invocation_name;]],
+       [[program_invocation_name = "test";]])],
+    [AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1],
+       [Define if program_invocation_name is defined])
+     AC_MSG_RESULT([yes])
+    ],
+    [AC_MSG_RESULT([no])])
 
   AC_MSG_CHECKING([whether program_invocation_short_name is defined])
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <argp.h>]],
-                                  [[program_invocation_short_name = "test";]])],
-                 [AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
-                            [Define if program_invocation_short_name is defined])
-                  AC_MSG_RESULT([yes])],
-                 [AC_MSG_RESULT([no])])
+  AC_LINK_IFELSE(
+    [AC_LANG_PROGRAM(
+       [[extern char *program_invocation_short_name;]],
+       [[program_invocation_short_name = "test";]])],
+    [AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
+       [Define if program_invocation_short_name is defined])
+     AC_MSG_RESULT([yes])
+    ],
+    [AC_MSG_RESULT([no])])
 
   AC_CHECK_DECLS_ONCE([clearerr_unlocked])
   AC_CHECK_DECLS_ONCE([feof_unlocked])