diff options
| author | Paul Eggert <eggert@cs.ucla.edu> | 2024-07-15 19:03:17 -0700 |
|---|---|---|
| committer | Paul Eggert <eggert@cs.ucla.edu> | 2024-07-16 15:37:18 -0700 |
| commit | f5dbdedcc53d2c57b9ddecbe9248c90ef0fa08d6 (patch) | |
| tree | f839c5fb8a24a52ffb3eca7c80cffb0d8579aa43 /m4 | |
| parent | fd8bdedde9655f04c03eb04af09f73ee77600f53 (diff) | |
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'm4')
| -rw-r--r-- | m4/acl.m4 | 25 | ||||
| -rw-r--r-- | m4/gnulib-comp.m4 | 9 | ||||
| -rw-r--r-- | m4/manywarnings.m4 | 3 | ||||
| -rw-r--r-- | m4/memmem.m4 | 4 | ||||
| -rw-r--r-- | m4/stdio_h.m4 | 18 | ||||
| -rw-r--r-- | m4/strnlen.m4 | 51 |
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]) |
