summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2024-07-15 19:03:17 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2024-07-16 15:37:18 -0700
commitf5dbdedcc53d2c57b9ddecbe9248c90ef0fa08d6 (patch)
treef839c5fb8a24a52ffb3eca7c80cffb0d8579aa43 /m4
parentfd8bdedde9655f04c03eb04af09f73ee77600f53 (diff)
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'm4')
-rw-r--r--m4/acl.m425
-rw-r--r--m4/gnulib-comp.m49
-rw-r--r--m4/manywarnings.m43
-rw-r--r--m4/memmem.m44
-rw-r--r--m4/stdio_h.m418
-rw-r--r--m4/strnlen.m451
6 files changed, 86 insertions, 24 deletions
diff --git a/m4/acl.m4 b/m4/acl.m4
index c7b6ec2b14e..be88f1b8313 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,5 +1,5 @@
# acl.m4
-# serial 30
+# serial 31
dnl Copyright (C) 2002, 2004-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,
@@ -178,13 +178,14 @@ AC_DEFUN([gl_ACL_GET_FILE],
AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2])
])
-# On GNU/Linux, testing if a file has an acl can be done with the
-# listxattr and getxattr syscalls, which don't require linking
-# against additional libraries. Assume this works if linux/attr.h
-# and listxattr are present.
+# Prerequisites of module file-has-acl.
AC_DEFUN([gl_FILE_HAS_ACL],
[
AC_REQUIRE([gl_FUNC_ACL_ARG])
+ # On GNU/Linux, testing if a file has an acl can be done with the
+ # listxattr and getxattr syscalls, which don't require linking
+ # against additional libraries. Assume this works if linux/attr.h
+ # and listxattr are present.
AC_CHECK_HEADERS_ONCE([linux/xattr.h])
AC_CHECK_FUNCS_ONCE([listxattr])
FILE_HAS_ACL_LIB=
@@ -198,3 +199,17 @@ AC_DEFUN([gl_FILE_HAS_ACL],
FILE_HAS_ACL_LIB=$LIB_ACL])
AC_SUBST([FILE_HAS_ACL_LIB])
])
+
+# Prerequisites of module qcopy-acl.
+AC_DEFUN([gl_QCOPY_ACL],
+[
+ AC_REQUIRE([gl_FUNC_ACL])
+ AC_CHECK_HEADERS_ONCE([linux/xattr.h])
+ gl_FUNC_XATTR
+ if test "$use_xattr" = yes; then
+ QCOPY_ACL_LIB="$LIB_XATTR"
+ else
+ QCOPY_ACL_LIB="$LIB_ACL"
+ fi
+ AC_SUBST([QCOPY_ACL_LIB])
+])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 6c49edac932..79a0f27382a 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -478,14 +478,7 @@ AC_DEFUN([gl_INIT],
gl_PREREQ_PTHREAD_SIGMASK
])
gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask])
- gl_FUNC_XATTR
- AC_REQUIRE([gl_FUNC_ACL])
- if test "$use_xattr" = yes; then
- QCOPY_ACL_LIB="$LIB_XATTR"
- else
- QCOPY_ACL_LIB="$LIB_ACL"
- fi
- AC_SUBST([QCOPY_ACL_LIB])
+ gl_QCOPY_ACL
gl_FUNC_READLINK
gl_CONDITIONAL([GL_COND_OBJ_READLINK],
[test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1])
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index 14bc5041eaa..5b0baee2057 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,5 +1,5 @@
# manywarnings.m4
-# serial 26
+# serial 27
dnl Copyright (C) 2008-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,
@@ -141,7 +141,6 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
-Wsuggest-final-methods \
-Wsuggest-final-types \
-Wsync-nand \
- -Wsystem-headers \
-Wtrampolines \
-Wuninitialized \
-Wunknown-pragmas \
diff --git a/m4/memmem.m4 b/m4/memmem.m4
index a9bc277813b..e6b1d91cbb1 100644
--- a/m4/memmem.m4
+++ b/m4/memmem.m4
@@ -1,5 +1,5 @@
# memmem.m4
-# serial 29
+# serial 30
dnl Copyright (C) 2002-2004, 2007-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,
@@ -102,7 +102,7 @@ static void quit (int sig) { _exit (sig + 128); }
char *haystack = (char *) malloc (2 * m + 1);
char *needle = (char *) malloc (m + 1);
/* Failure to compile this test due to missing alarm is okay,
- since all such platforms (mingw) also lack memmem. */
+ since all such platforms (mingw, MSVC) also lack memmem. */
signal (SIGALRM, quit);
alarm (5);
/* Check for quadratic performance. */
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 10e1fbb8aa9..ec52ae92ff4 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,5 +1,5 @@
# stdio_h.m4
-# serial 69
+# serial 75
dnl Copyright (C) 2007-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,
@@ -133,6 +133,7 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS],
[
m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH])
@@ -153,6 +154,7 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM])
@@ -173,25 +175,29 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VAZSPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNZPRINTF])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VZSNPRINTF])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VZSPRINTF])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ZSNPRINTF])
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ZSPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSZPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VZPRINTF])
+ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ZPRINTF])
dnl Support Microsoft deprecated alias function names by default.
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1])
diff --git a/m4/strnlen.m4 b/m4/strnlen.m4
index b4d2778524e..83a75c0c327 100644
--- a/m4/strnlen.m4
+++ b/m4/strnlen.m4
@@ -1,11 +1,60 @@
# strnlen.m4
-# serial 14
+# serial 15
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2024 Free Software Foundation,
dnl 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.
+m4_version_prereq([2.73], [], [
+# Replace AC_FUNC_STRNLEN from Autoconf 2.72 and earlier,
+# which does not check for Android strnlen bugs.
+
+AC_DEFUN([AC_FUNC_STRNLEN],
+[AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])dnl
+AC_CACHE_CHECK([for working strnlen], [ac_cv_func_strnlen_working],
+[AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [AC_INCLUDES_DEFAULT
+ [/* Use pstrnlen to test; 'volatile' prevents the compiler
+ from optimizing the strnlen calls away. */
+ size_t (*volatile pstrnlen) (char const *, size_t) = strnlen;
+ char const s[] = "foobar";
+ int s_len = sizeof s - 1;
+ ]],
+ [[
+ /* AIX 4.3 is buggy: strnlen (S, 1) == 3. */
+ int i;
+ for (i = 0; i < s_len + 1; ++i)
+ {
+ int expected = i <= s_len ? i : s_len;
+ if (pstrnlen (s, i) != expected)
+ return 1;
+ }
+
+ /* Android 5.0 (API 21) strnlen ("", SIZE_MAX) incorrectly crashes. */
+ if (pstrnlen ("", -1) != 0)
+ return 1;]])],
+ [ac_cv_func_strnlen_working=yes],
+ [ac_cv_func_strnlen_working=no],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
+ [[#if defined _AIX && !defined _AIX51
+ #error "AIX pre 5.1 is buggy"
+ #endif
+ #ifdef __ANDROID__
+ #include <android/api-level.h>
+ #if __ANDROID_API__ < 22
+ #error "Android API < 22 is buggy"
+ #endif
+ #endif
+ ]])],
+ [ac_cv_func_strnlen_working=yes],
+ [ac_cv_func_strnlen_working=no])])])
+test $ac_cv_func_strnlen_working = no && AC_LIBOBJ([strnlen])
+])# AC_FUNC_STRNLEN
+])
+
AC_DEFUN([gl_FUNC_STRNLEN],
[
AC_REQUIRE([gl_STRING_H_DEFAULTS])