]> Savannah Git Hosting - gnulib.git/commitdiff
getprogname: Avoid using HAVE_* macros in *.in.h files.
authorBruno Haible <bruno@clisp.org>
Thu, 13 Apr 2023 19:25:59 +0000 (21:25 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 13 Apr 2023 19:25:59 +0000 (21:25 +0200)
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
HAVE_DECL_PROGRAM_INVOCATION_NAME.
* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Require gl_STDLIB_H_DEFAULTS
and gl_USE_SYSTEM_EXTENSIONS. Set HAVE_DECL_PROGRAM_INVOCATION_NAME.
* modules/stdlib (Makefile.am): Substitute
HAVE_DECL_PROGRAM_INVOCATION_NAME.
* lib/stdlib.in.h (getprogname): Test HAVE_DECL_PROGRAM_INVOCATION_NAME
as an Autoconf variable.

ChangeLog
lib/stdlib.in.h
m4/getprogname.m4
m4/stdlib_h.m4
modules/stdlib

index 87de925f86279076e005d05ee432e11974e336a6..5e1fab0cfc675c451434075c3729211ae61d8454 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2023-04-13  Bruno Haible  <bruno@clisp.org>
+
+       getprogname: Avoid using HAVE_* macros in *.in.h files.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
+       HAVE_DECL_PROGRAM_INVOCATION_NAME.
+       * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Require gl_STDLIB_H_DEFAULTS
+       and gl_USE_SYSTEM_EXTENSIONS. Set HAVE_DECL_PROGRAM_INVOCATION_NAME.
+       * modules/stdlib (Makefile.am): Substitute
+       HAVE_DECL_PROGRAM_INVOCATION_NAME.
+       * lib/stdlib.in.h (getprogname): Test HAVE_DECL_PROGRAM_INVOCATION_NAME
+       as an Autoconf variable.
+
 2023-04-13  Bruno Haible  <bruno@clisp.org>
 
        selinux-h: Avoid using HAVE_* macros in *.in.h files.
index da827a5c7b8a42ccbb961ed06332bdd82e2e6e30..2b3307d39e092063dc06e7f77503e304a13d4e9f 100644 (file)
@@ -465,7 +465,7 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
 #   undef getprogname
 #   define getprogname rpl_getprogname
 #  endif
-#  ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+#  if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
 _GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
 #  else
 _GL_FUNCDECL_RPL (getprogname, const char *, (void));
@@ -473,7 +473,7 @@ _GL_FUNCDECL_RPL (getprogname, const char *, (void));
 _GL_CXXALIAS_RPL (getprogname, const char *, (void));
 # else
 #  if !@HAVE_GETPROGNAME@
-#   ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
+#   if @HAVE_DECL_PROGRAM_INVOCATION_NAME@
 _GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE);
 #   else
 _GL_FUNCDECL_SYS (getprogname, const char *, (void));
index b8636e143a7ed55e0fe823187bff665ec871ed44..2b741f50831dc5cbf46d3498bb77a926fa193b0a 100644 (file)
@@ -5,10 +5,12 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 7
+# serial 8
 
 AC_DEFUN([gl_FUNC_GETPROGNAME],
 [
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   gl_CHECK_FUNCS_ANDROID([getprogname], [[#include <stdlib.h>]])
   if test $ac_cv_func_getprogname = no; then
     HAVE_GETPROGNAME=0
@@ -16,6 +18,10 @@ AC_DEFUN([gl_FUNC_GETPROGNAME],
       future*) REPLACE_GETPROGNAME=1 ;;
     esac
   fi
+  AC_CHECK_DECLS([program_invocation_name],
+    [],
+    [HAVE_DECL_PROGRAM_INVOCATION_NAME=0],
+    [[#include <errno.h>]])
 ])
 
 AC_DEFUN([gl_PREREQ_GETPROGNAME],
index cef133e0513da64de8966850de192609afc3cff3..3274ea49484f2e4d588e3af2078479b2a1b898b5 100644 (file)
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 73
+# stdlib_h.m4 serial 74
 dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -175,6 +175,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   HAVE_DECL_FCVT=1;          AC_SUBST([HAVE_DECL_FCVT])
   HAVE_DECL_GCVT=1;          AC_SUBST([HAVE_DECL_GCVT])
   HAVE_DECL_GETLOADAVG=1;    AC_SUBST([HAVE_DECL_GETLOADAVG])
+  HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME])
   HAVE_GETPROGNAME=1;        AC_SUBST([HAVE_GETPROGNAME])
   HAVE_GETSUBOPT=1;          AC_SUBST([HAVE_GETSUBOPT])
   HAVE_GRANTPT=1;            AC_SUBST([HAVE_GRANTPT])
index b357d385e0f8c16a9f1c1a990c5685e17a6289c6..89f5a0ad2f8c774511631fcc600d648b72d577c5 100644 (file)
@@ -95,6 +95,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
              -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \
              -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \
              -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+             -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \
              -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \
              -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
              -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \