1
0
Fork 0
man-db/gl/m4/argp.m4
Daniel Baumann 1fa764a8d3
Adding upstream version 2.13.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 08:13:55 +02:00

77 lines
2.9 KiB
Text

# argp.m4
# serial 17
dnl Copyright (C) 2003-2024 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.
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], [])