Branch
Hash :
7b089321
Author :
Date :
2025-01-01T09:24:36
maint: run 'make update-copyright'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
# argp.m4
# serial 17
dnl Copyright (C) 2003-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file is offered as-is, without any warranty.
AC_DEFUN([gl_ARGP],
[
AC_REQUIRE([AC_C_INLINE])
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
dnl Rename argp_parse to another symbol, so that clang's ASAN does not
dnl intercept it.
dnl See <https://lists.gnu.org/archive/html/bug-gnulib/2023-12/msg00035.html>.
AC_DEFINE([argp_parse], [rpl_argp_parse],
[Define to the name of argp_parse outside libc.])
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(
[[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(
[[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])
AC_CHECK_DECLS_ONCE([ferror_unlocked])
AC_CHECK_DECLS_ONCE([fflush_unlocked])
AC_CHECK_DECLS_ONCE([fgets_unlocked])
AC_CHECK_DECLS_ONCE([fputc_unlocked])
AC_CHECK_DECLS_ONCE([fputs_unlocked])
AC_CHECK_DECLS_ONCE([fread_unlocked])
AC_CHECK_DECLS_ONCE([fwrite_unlocked])
AC_CHECK_DECLS_ONCE([getc_unlocked])
AC_CHECK_DECLS_ONCE([getchar_unlocked])
AC_CHECK_DECLS_ONCE([putc_unlocked])
AC_CHECK_DECLS_ONCE([putchar_unlocked])
AC_CHECK_FUNCS_ONCE([flockfile funlockfile])
AC_CHECK_HEADERS_ONCE([features.h linewrap.h])
AC_REQUIRE([AC_FUNC_STRERROR_R])
])
dnl argp-parse.c depends on GNU getopt internals, therefore use GNU getopt
dnl always.
AC_DEFUN([gl_REPLACE_GETOPT_ALWAYS], [])