mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Update from gnulib
* admin/merge-gnulib (GNULIB_MODULES): * cross/lib/getopt-pfx-core.h (optind): * cross/lib/limits.in.h (BOOL_WIDTH): * cross/lib/math.in.h: * cross/lib/stpncpy.c (__stpncpy): * cross/lib/string.in.h: * lib/getopt-pfx-core.h (optind): * lib/gnulib.mk.in (ANDROID_MIN_SDK): (GL_COND_OBJ_STDIO_READ_CONDITION): (LIBS): (NDK_BUILD_AR): (REPLACE__EXIT): (libgnu_a_SOURCES): * lib/limits.in.h (BOOL_WIDTH): * lib/math.in.h: * lib/stpncpy.c (__stpncpy): * lib/string.in.h: * m4/assert_h.m4 (gl_ASSERT_H): * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): * m4/getdelim.m4 (gl_FUNC_GETDELIM): * m4/getline.m4 (gl_FUNC_GETLINE): * m4/gnulib-common.m4 (gl_COMMON_BODY): (gl_CONDITIONAL_HEADER): (gl_CHECK_FUNCS_ANDROID): * m4/gnulib-comp.m4 (gl_EARLY): (gl_INIT): (gl_FILE_LIST): * m4/limits-h.m4: * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/printf.m4 (gl_PRINTF_SIZES_C99): (gl_PRINTF_INFINITE): (gl_PRINTF_INFINITE_LONG_DOUBLE): (gl_PRINTF_DIRECTIVE_A): (gl_PRINTF_DIRECTIVE_F): (gl_PRINTF_FLAG_ZERO): (gl_SNPRINTF_PRESENCE): (gl_SNPRINTF_DIRECTIVE_N): (gl_VSNPRINTF_ZEROSIZE_C99): * m4/pselect.m4 (gl_FUNC_PSELECT): * m4/readlink.m4 (gl_FUNC_READLINK): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): * m4/signbit.m4 (gl_SIGNBIT): * m4/stpncpy.m4 (gl_FUNC_STPNCPY): * m4/symlink.m4 (gl_FUNC_SYMLINK): Add gnulib module stpncpy. * src/android.c: Include string.h.
This commit is contained in:
parent
7aa4ffddd8
commit
8ca4162ecd
29 changed files with 624 additions and 117 deletions
|
|
@ -45,7 +45,7 @@ GNULIB_MODULES='
|
|||
pathmax pipe2 printf-posix vasprintf-posix pselect pthread_sigmask
|
||||
qcopy-acl readlink readlinkat regex
|
||||
sig2str sigdescr_np socklen stat-time std-gnu11 stdbool stddef stdio
|
||||
stpcpy strnlen strtoimax symlink sys_stat sys_time
|
||||
stpcpy stpncpy strnlen strtoimax symlink sys_stat sys_time
|
||||
tempname time time_r time_rz timegm timer-time timespec-add timespec-sub
|
||||
update-copyright unlocked-io utimensat
|
||||
vla warnings
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
# define optind __GETOPT_ID (optind)
|
||||
# define optopt __GETOPT_ID (optopt)
|
||||
|
||||
/* Work around a a problem on macOS, which declares getopt with a
|
||||
/* Work around a problem on macOS, which declares getopt with a
|
||||
trailing __DARWIN_ALIAS(getopt) that would expand to something like
|
||||
__asm("_" "rpl_getopt" "$UNIX2003") were it not for the following
|
||||
hack to suppress the macOS declaration <https://bugs.gnu.org/40205>. */
|
||||
|
|
|
|||
|
|
@ -119,11 +119,14 @@
|
|||
|
||||
/* Macros specified by C23. */
|
||||
|
||||
#if (! defined BOOL_WIDTH \
|
||||
&& (defined _GNU_SOURCE \
|
||||
|| (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)))
|
||||
# define BOOL_MAX 1
|
||||
# define BOOL_WIDTH 1
|
||||
#if (defined _GNU_SOURCE \
|
||||
|| (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))
|
||||
# if ! defined BOOL_WIDTH
|
||||
# define BOOL_WIDTH 1
|
||||
# define BOOL_MAX 1
|
||||
# elif ! defined BOOL_MAX
|
||||
# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_LIMITS_H */
|
||||
|
|
|
|||
|
|
@ -2624,7 +2624,7 @@ _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
|
|||
# if defined isnan || defined GNULIB_NAMESPACE
|
||||
_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
|
||||
# undef isnan
|
||||
# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ < 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
|
||||
# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ != 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
|
||||
/* This platform's <cmath> possibly defines isnan through a set of inline
|
||||
functions. */
|
||||
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
|
||||
|
|
|
|||
92
cross/lib/stpncpy.c
Normal file
92
cross/lib/stpncpy.c
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2023 Free Software
|
||||
* Foundation, Inc.
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This is almost copied from strncpy.c, written by Torbjorn Granlund. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Specification. */
|
||||
#include <string.h>
|
||||
|
||||
#ifndef weak_alias
|
||||
# define __stpncpy stpncpy
|
||||
#endif
|
||||
|
||||
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
|
||||
last non-NUL byte written into DST. */
|
||||
char *
|
||||
(__stpncpy) (char *dest, const char *src, size_t n)
|
||||
{
|
||||
char c;
|
||||
char *s = dest;
|
||||
|
||||
if (n >= 4)
|
||||
{
|
||||
size_t n4 = n >> 2;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
if (--n4 == 0)
|
||||
goto last_chars;
|
||||
}
|
||||
n -= dest - s;
|
||||
goto zero_fill;
|
||||
}
|
||||
|
||||
last_chars:
|
||||
n &= 3;
|
||||
if (n == 0)
|
||||
return dest;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = *src++;
|
||||
--n;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
if (n == 0)
|
||||
return dest;
|
||||
}
|
||||
|
||||
zero_fill:
|
||||
while (n-- > 0)
|
||||
dest[n] = '\0';
|
||||
|
||||
return dest - 1;
|
||||
}
|
||||
#ifdef weak_alias
|
||||
weak_alias (__stpncpy, stpncpy)
|
||||
#endif
|
||||
|
|
@ -126,7 +126,11 @@
|
|||
# if (@REPLACE_FREE@ && !defined free \
|
||||
&& !(defined __cplusplus && defined GNULIB_NAMESPACE))
|
||||
/* We can't do '#define free rpl_free' here. */
|
||||
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
|
||||
_GL_EXTERN_C void rpl_free (void *) throw ();
|
||||
# else
|
||||
_GL_EXTERN_C void rpl_free (void *);
|
||||
# endif
|
||||
# undef _GL_ATTRIBUTE_DEALLOC_FREE
|
||||
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
|
||||
# else
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
# define optind __GETOPT_ID (optind)
|
||||
# define optopt __GETOPT_ID (optopt)
|
||||
|
||||
/* Work around a a problem on macOS, which declares getopt with a
|
||||
/* Work around a problem on macOS, which declares getopt with a
|
||||
trailing __DARWIN_ALIAS(getopt) that would expand to something like
|
||||
__asm("_" "rpl_getopt" "$UNIX2003") were it not for the following
|
||||
hack to suppress the macOS declaration <https://bugs.gnu.org/40205>. */
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@
|
|||
# stddef \
|
||||
# stdio \
|
||||
# stpcpy \
|
||||
# stpncpy \
|
||||
# strnlen \
|
||||
# strtoimax \
|
||||
# symlink \
|
||||
|
|
@ -191,6 +192,7 @@ ANDROID_LIBS = @ANDROID_LIBS@
|
|||
ANDROID_MIN_SDK = @ANDROID_MIN_SDK@
|
||||
ANDROID_OBJ = @ANDROID_OBJ@
|
||||
ANDROID_SDK_18_OR_EARLIER = @ANDROID_SDK_18_OR_EARLIER@
|
||||
ANDROID_SDK_8_OR_EARLIER = @ANDROID_SDK_8_OR_EARLIER@
|
||||
APKSIGNER = @APKSIGNER@
|
||||
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
|
||||
AR = @AR@
|
||||
|
|
@ -330,6 +332,7 @@ GL_COND_OBJ_SIGNBIT3_CONDITION = @GL_COND_OBJ_SIGNBIT3_CONDITION@
|
|||
GL_COND_OBJ_STDIO_READ_CONDITION = @GL_COND_OBJ_STDIO_READ_CONDITION@
|
||||
GL_COND_OBJ_STDIO_WRITE_CONDITION = @GL_COND_OBJ_STDIO_WRITE_CONDITION@
|
||||
GL_COND_OBJ_STPCPY_CONDITION = @GL_COND_OBJ_STPCPY_CONDITION@
|
||||
GL_COND_OBJ_STPNCPY_CONDITION = @GL_COND_OBJ_STPNCPY_CONDITION@
|
||||
GL_COND_OBJ_STRNLEN_CONDITION = @GL_COND_OBJ_STRNLEN_CONDITION@
|
||||
GL_COND_OBJ_STRTOIMAX_CONDITION = @GL_COND_OBJ_STRTOIMAX_CONDITION@
|
||||
GL_COND_OBJ_STRTOLL_CONDITION = @GL_COND_OBJ_STRTOLL_CONDITION@
|
||||
|
|
@ -1150,6 +1153,7 @@ LIBRESOLV = @LIBRESOLV@
|
|||
LIBS = @LIBS@
|
||||
LIBSECCOMP_CFLAGS = @LIBSECCOMP_CFLAGS@
|
||||
LIBSECCOMP_LIBS = @LIBSECCOMP_LIBS@
|
||||
LIBSELINUX_CFLAGS = @LIBSELINUX_CFLAGS@
|
||||
LIBSELINUX_LIBS = @LIBSELINUX_LIBS@
|
||||
LIBSOUND = @LIBSOUND@
|
||||
LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
|
||||
|
|
@ -1203,6 +1207,7 @@ NDK_BUILD_ANY_CXX_MODULE = @NDK_BUILD_ANY_CXX_MODULE@
|
|||
NDK_BUILD_AR = @NDK_BUILD_AR@
|
||||
NDK_BUILD_ARCH = @NDK_BUILD_ARCH@
|
||||
NDK_BUILD_CC = @NDK_BUILD_CC@
|
||||
NDK_BUILD_CFLAGS = @NDK_BUILD_CFLAGS@
|
||||
NDK_BUILD_CXX_SHARED = @NDK_BUILD_CXX_SHARED@
|
||||
NDK_BUILD_MODULES = @NDK_BUILD_MODULES@
|
||||
NDK_BUILD_NASM = @NDK_BUILD_NASM@
|
||||
|
|
@ -1554,7 +1559,7 @@ REPLACE_WRITE = @REPLACE_WRITE@
|
|||
REPLACE__EXIT = @REPLACE__EXIT@
|
||||
RSVG_CFLAGS = @RSVG_CFLAGS@
|
||||
RSVG_LIBS = @RSVG_LIBS@
|
||||
SDK_BULD_TOOLS = @SDK_BULD_TOOLS@
|
||||
SDK_BUILD_TOOLS = @SDK_BUILD_TOOLS@
|
||||
SEPCHAR = @SEPCHAR@
|
||||
SETFATTR = @SETFATTR@
|
||||
SETTINGS_CFLAGS = @SETTINGS_CFLAGS@
|
||||
|
|
@ -4184,6 +4189,16 @@ endif
|
|||
endif
|
||||
## end gnulib module stpcpy
|
||||
|
||||
## begin gnulib module stpncpy
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_stpncpy))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_STPNCPY_CONDITION))
|
||||
libgnu_a_SOURCES += stpncpy.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module stpncpy
|
||||
|
||||
## begin gnulib module string
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_string))
|
||||
|
||||
|
|
|
|||
|
|
@ -119,11 +119,14 @@
|
|||
|
||||
/* Macros specified by C23. */
|
||||
|
||||
#if (! defined BOOL_WIDTH \
|
||||
&& (defined _GNU_SOURCE \
|
||||
|| (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)))
|
||||
# define BOOL_MAX 1
|
||||
# define BOOL_WIDTH 1
|
||||
#if (defined _GNU_SOURCE \
|
||||
|| (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))
|
||||
# if ! defined BOOL_WIDTH
|
||||
# define BOOL_WIDTH 1
|
||||
# define BOOL_MAX 1
|
||||
# elif ! defined BOOL_MAX
|
||||
# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_LIMITS_H */
|
||||
|
|
|
|||
|
|
@ -2624,7 +2624,7 @@ _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
|
|||
# if defined isnan || defined GNULIB_NAMESPACE
|
||||
_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
|
||||
# undef isnan
|
||||
# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ < 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
|
||||
# if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ != 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
|
||||
/* This platform's <cmath> possibly defines isnan through a set of inline
|
||||
functions. */
|
||||
_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
|
||||
|
|
|
|||
92
lib/stpncpy.c
Normal file
92
lib/stpncpy.c
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007, 2009-2023 Free Software
|
||||
* Foundation, Inc.
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This is almost copied from strncpy.c, written by Torbjorn Granlund. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Specification. */
|
||||
#include <string.h>
|
||||
|
||||
#ifndef weak_alias
|
||||
# define __stpncpy stpncpy
|
||||
#endif
|
||||
|
||||
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
|
||||
last non-NUL byte written into DST. */
|
||||
char *
|
||||
(__stpncpy) (char *dest, const char *src, size_t n)
|
||||
{
|
||||
char c;
|
||||
char *s = dest;
|
||||
|
||||
if (n >= 4)
|
||||
{
|
||||
size_t n4 = n >> 2;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
c = *src++;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
if (--n4 == 0)
|
||||
goto last_chars;
|
||||
}
|
||||
n -= dest - s;
|
||||
goto zero_fill;
|
||||
}
|
||||
|
||||
last_chars:
|
||||
n &= 3;
|
||||
if (n == 0)
|
||||
return dest;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
c = *src++;
|
||||
--n;
|
||||
*dest++ = c;
|
||||
if (c == '\0')
|
||||
break;
|
||||
if (n == 0)
|
||||
return dest;
|
||||
}
|
||||
|
||||
zero_fill:
|
||||
while (n-- > 0)
|
||||
dest[n] = '\0';
|
||||
|
||||
return dest - 1;
|
||||
}
|
||||
#ifdef weak_alias
|
||||
weak_alias (__stpncpy, stpncpy)
|
||||
#endif
|
||||
|
|
@ -126,7 +126,11 @@
|
|||
# if (@REPLACE_FREE@ && !defined free \
|
||||
&& !(defined __cplusplus && defined GNULIB_NAMESPACE))
|
||||
/* We can't do '#define free rpl_free' here. */
|
||||
# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
|
||||
_GL_EXTERN_C void rpl_free (void *) throw ();
|
||||
# else
|
||||
_GL_EXTERN_C void rpl_free (void *);
|
||||
# endif
|
||||
# undef _GL_ATTRIBUTE_DEALLOC_FREE
|
||||
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1)
|
||||
# else
|
||||
|
|
|
|||
|
|
@ -46,10 +46,13 @@ AC_DEFUN([gl_ASSERT_H],
|
|||
gl_NEXT_HEADERS([assert.h])])
|
||||
|
||||
dnl The "zz" puts this toward config.h's end, to avoid potential
|
||||
dnl collisions with other definitions. #undef assert so that
|
||||
dnl programs are not tempted to use it without specifically
|
||||
dnl including assert.h. Break the #undef apart with a comment
|
||||
dnl so that 'configure' does not comment it out.
|
||||
dnl collisions with other definitions.
|
||||
dnl #undef assert so that programs are not tempted to use it without
|
||||
dnl specifically including assert.h.
|
||||
dnl #undef __ASSERT_H__ so that on IRIX, when programs later include
|
||||
dnl <assert.h>, this include actually defines assert.
|
||||
dnl Break the #undef_s apart with a comment so that 'configure' does
|
||||
dnl not comment them out.
|
||||
AH_VERBATIM([zzstatic_assert],
|
||||
[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
|
||||
&& (!defined __cplusplus \
|
||||
|
|
@ -57,6 +60,9 @@ AC_DEFUN([gl_ASSERT_H],
|
|||
&& __GNUG__ < 6 && __clang_major__ < 6)))
|
||||
#include <assert.h>
|
||||
#undef/**/assert
|
||||
#ifdef __sgi
|
||||
#undef/**/__ASSERT_H__
|
||||
#endif
|
||||
/* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
|
||||
We need it also to be invocable with a single argument. */
|
||||
#if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# serial 14
|
||||
# serial 15
|
||||
# See if we need to provide fdopendir.
|
||||
|
||||
dnl Copyright (C) 2009-2023 Free Software Foundation, Inc.
|
||||
|
|
@ -49,12 +49,12 @@ DIR *fdopendir (int);
|
|||
[gl_cv_func_fdopendir_works=yes],
|
||||
[gl_cv_func_fdopendir_works=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_fdopendir_works="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_fdopendir_works="$gl_cross_guess_normal" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl* | midipix*) gl_cv_func_fdopendir_works="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_fdopendir_works="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])])
|
||||
case "$gl_cv_func_fdopendir_works" in
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# getdelim.m4 serial 18
|
||||
# getdelim.m4 serial 19
|
||||
|
||||
dnl Copyright (C) 2005-2007, 2009-2023 Free Software Foundation, Inc.
|
||||
dnl
|
||||
|
|
@ -82,8 +82,8 @@ AC_DEFUN([gl_FUNC_GETDELIM],
|
|||
],
|
||||
[gl_cv_func_working_getdelim="guessing yes"],
|
||||
[case "$host_os" in
|
||||
*-musl*) gl_cv_func_working_getdelim="guessing yes" ;;
|
||||
*) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;;
|
||||
*-musl* | midipix*) gl_cv_func_working_getdelim="guessing yes" ;;
|
||||
*) gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# getline.m4 serial 32
|
||||
# getline.m4 serial 33
|
||||
|
||||
dnl Copyright (C) 1998-2003, 2005-2007, 2009-2023 Free Software Foundation,
|
||||
dnl Inc.
|
||||
|
|
@ -76,8 +76,8 @@ AC_DEFUN([gl_FUNC_GETLINE],
|
|||
],
|
||||
[am_cv_func_working_getline="guessing yes"],
|
||||
[case "$host_os" in
|
||||
*-musl*) am_cv_func_working_getline="guessing yes" ;;
|
||||
*) am_cv_func_working_getline="$gl_cross_guess_normal" ;;
|
||||
*-musl* | midipix*) am_cv_func_working_getline="guessing yes" ;;
|
||||
*) am_cv_func_working_getline="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# gnulib-common.m4 serial 80
|
||||
# gnulib-common.m4 serial 82
|
||||
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,
|
||||
|
|
@ -356,7 +356,7 @@ AC_DEFUN([gl_COMMON_BODY], [
|
|||
[[__maybe_unused__]] nevertheless produces a warning. */
|
||||
#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED
|
||||
# if defined __clang__ && defined __cplusplus
|
||||
# if __clang_major__ >= 10
|
||||
# if !defined __apple_build_version__ && __clang_major__ >= 10
|
||||
# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
|
||||
# endif
|
||||
# elif defined __has_c_attribute
|
||||
|
|
@ -1095,6 +1095,113 @@ AC_DEFUN([gl_CONDITIONAL_HEADER],
|
|||
m4_popdef([gl_header_name])
|
||||
])
|
||||
|
||||
dnl Preparations for gl_CHECK_FUNCS_MACOS.
|
||||
AC_DEFUN([gl_PREPARE_CHECK_FUNCS_MACOS],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([gl_COMPILER_CLANG])
|
||||
AC_CACHE_CHECK([for compiler option needed when checking for future declarations],
|
||||
[gl_cv_compiler_check_future_option],
|
||||
[case "$host_os" in
|
||||
dnl This is only needed on macOS.
|
||||
darwin*)
|
||||
if test $gl_cv_compiler_clang = yes; then
|
||||
dnl Test whether the compiler supports the option
|
||||
dnl '-Werror=unguarded-availability-new'.
|
||||
save_ac_compile="$ac_compile"
|
||||
ac_compile="$ac_compile -Werror=unguarded-availability-new"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
|
||||
[gl_cv_compiler_check_future_option='-Werror=unguarded-availability-new'],
|
||||
[gl_cv_compiler_check_future_option=none])
|
||||
ac_compile="$save_ac_compile"
|
||||
else
|
||||
gl_cv_compiler_check_future_option=none
|
||||
fi
|
||||
;;
|
||||
*) gl_cv_compiler_check_future_option=none ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
|
||||
dnl Pieces of the expansion of
|
||||
dnl gl_CHECK_FUNCS_ANDROID
|
||||
dnl gl_CHECK_FUNCS_MACOS
|
||||
dnl gl_CHECK_FUNCS_ANDROID_MACOS
|
||||
|
||||
AC_DEFUN([gl_CHECK_FUNCS_DEFAULT_CASE],
|
||||
[
|
||||
*)
|
||||
AC_CHECK_FUNC([$1])
|
||||
[gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
|
||||
;;
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_ANDROID],
|
||||
[
|
||||
linux*-android*)
|
||||
AC_CHECK_DECL([$1], , , [$2])
|
||||
if test $[ac_cv_have_decl_][$1] = yes; then
|
||||
AC_CHECK_FUNC([[$1]])
|
||||
if test $[ac_cv_func_][$1] = yes; then
|
||||
[gl_cv_onwards_func_][$1]=yes
|
||||
else
|
||||
dnl The function is declared but does not exist. This should not
|
||||
dnl happen normally. But anyway, we know that a future version
|
||||
dnl of Android will have the function.
|
||||
[gl_cv_onwards_func_][$1]='future OS version'
|
||||
fi
|
||||
else
|
||||
[gl_cv_onwards_func_][$1]='future OS version'
|
||||
fi
|
||||
;;
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_MACOS],
|
||||
[
|
||||
darwin*)
|
||||
if test "x$gl_cv_compiler_check_future_option" != "xnone"; then
|
||||
dnl Use a compile test, not a link test.
|
||||
save_ac_compile="$ac_compile"
|
||||
ac_compile="$ac_compile $gl_cv_compiler_check_future_option"
|
||||
save_ac_compile_for_check_decl="$ac_compile_for_check_decl"
|
||||
ac_compile_for_check_decl="$ac_compile_for_check_decl $gl_cv_compiler_check_future_option"
|
||||
unset [ac_cv_have_decl_][$1]
|
||||
AC_CHECK_DECL([$1], , , [$2])
|
||||
ac_compile="$save_ac_compile"
|
||||
ac_compile_for_check_decl="$save_ac_compile_for_check_decl"
|
||||
[ac_cv_func_][$1]="$[ac_cv_have_decl_][$1]"
|
||||
if test $[ac_cv_func_][$1] = yes; then
|
||||
[gl_cv_onwards_func_][$1]=yes
|
||||
else
|
||||
unset [ac_cv_have_decl_][$1]
|
||||
AC_CHECK_DECL([$1], , , [$2])
|
||||
if test $[ac_cv_have_decl_][$1] = yes; then
|
||||
[gl_cv_onwards_func_][$1]='future OS version'
|
||||
else
|
||||
[gl_cv_onwards_func_][$1]=no
|
||||
fi
|
||||
fi
|
||||
else
|
||||
AC_CHECK_FUNC([$1])
|
||||
[gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
|
||||
fi
|
||||
;;
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_CHECK_FUNCS_SET_RESULTS],
|
||||
[
|
||||
case "$[gl_cv_onwards_func_][$1]" in
|
||||
future*) [ac_cv_func_][$1]=no ;;
|
||||
*) [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;;
|
||||
esac
|
||||
if test $[ac_cv_func_][$1] = yes; then
|
||||
AC_DEFINE([HAVE_]m4_translit([[$1]],
|
||||
[abcdefghijklmnopqrstuvwxyz],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
|
||||
[1], [Define to 1 if you have the `$1' function.])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
|
||||
dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
|
||||
dnl on Android.
|
||||
|
|
@ -1137,39 +1244,87 @@ AC_DEFUN([gl_CHECK_FUNCS_ANDROID],
|
|||
[[gl_cv_onwards_func_][$1]],
|
||||
[gl_SILENT([
|
||||
case "$host_os" in
|
||||
linux*-android*)
|
||||
AC_CHECK_DECL([$1], , , [$2])
|
||||
if test $[ac_cv_have_decl_][$1] = yes; then
|
||||
AC_CHECK_FUNC([[$1]])
|
||||
if test $[ac_cv_func_][$1] = yes; then
|
||||
[gl_cv_onwards_func_][$1]=yes
|
||||
else
|
||||
dnl The function is declared but does not exist. This should not
|
||||
dnl happen normally. But anyway, we know that a future version
|
||||
dnl of Android will have the function.
|
||||
[gl_cv_onwards_func_][$1]='future OS version'
|
||||
fi
|
||||
else
|
||||
[gl_cv_onwards_func_][$1]='future OS version'
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_FUNC([$1])
|
||||
[gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1]
|
||||
;;
|
||||
gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
|
||||
gl_CHECK_FUNCS_DEFAULT_CASE([$1])
|
||||
esac
|
||||
])
|
||||
])
|
||||
case "$[gl_cv_onwards_func_][$1]" in
|
||||
future*) [ac_cv_func_][$1]=no ;;
|
||||
*) [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;;
|
||||
esac
|
||||
if test $[ac_cv_func_][$1] = yes; then
|
||||
AC_DEFINE([HAVE_]m4_translit([[$1]],
|
||||
[abcdefghijklmnopqrstuvwxyz],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]),
|
||||
[1], [Define to 1 if you have the `$1' function.])
|
||||
fi
|
||||
gl_CHECK_FUNCS_SET_RESULTS([$1])
|
||||
])
|
||||
|
||||
dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
|
||||
dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
|
||||
dnl on macOS.
|
||||
dnl
|
||||
dnl When code is compiled on macOS, it is in the context of a certain minimum
|
||||
dnl macOS version, that can be set through the option '-mmacosx-version-min='.
|
||||
dnl In other words, you don't compile for a specific version of macOS. You
|
||||
dnl compile for all versions of macOS, onwards from the given version.
|
||||
dnl Thus, the question "does the OS have the function func" has three possible
|
||||
dnl answers:
|
||||
dnl - yes, in all versions starting from the given version,
|
||||
dnl - no, in no version,
|
||||
dnl - not in the given version, but in a later version of macOS.
|
||||
dnl
|
||||
dnl In detail, this works as follows:
|
||||
dnl If func was added to, say, macOS version 13, then the libc has the
|
||||
dnl symbol func always, whereas the header file <foo.h> declares func
|
||||
dnl conditionally with a special availability attribute:
|
||||
dnl ... func (...) __attribute__((availability(macos,introduced=13.0)));
|
||||
dnl Thus, when compiling with "clang mmacosx-version-min=13", there is no
|
||||
dnl warning about the use of func, and the resulting binary
|
||||
dnl - runs fine on macOS 13,
|
||||
dnl - aborts with a dyld "Symbol not found" message on macOS 12.
|
||||
dnl Whereas, when compiling with "clang mmacosx-version-min=12", there is a
|
||||
dnl warning: 'func' is only available on macOS 13.0 or newer
|
||||
dnl [-Wunguarded-availability-new],
|
||||
dnl and the resulting binary
|
||||
dnl - runs fine on macOS 13,
|
||||
dnl - crashes with a SIGSEGV (signal 11) on macOS 12.
|
||||
dnl
|
||||
dnl This macro sets two variables:
|
||||
dnl - gl_cv_onwards_func_<func> to yes / no / "future OS version"
|
||||
dnl - ac_cv_func_<func> to yes / no / no
|
||||
dnl The first variable allows to distinguish all three cases.
|
||||
dnl The second variable is set, so that an invocation
|
||||
dnl gl_CHECK_FUNCS_MACOS([func], [[#include <foo.h>]])
|
||||
dnl can be used as a drop-in replacement for
|
||||
dnl AC_CHECK_FUNCS([func]).
|
||||
AC_DEFUN([gl_CHECK_FUNCS_MACOS],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
|
||||
AC_CACHE_CHECK([for [$1]],
|
||||
[[gl_cv_onwards_func_][$1]],
|
||||
[gl_SILENT([
|
||||
case "$host_os" in
|
||||
gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
|
||||
gl_CHECK_FUNCS_DEFAULT_CASE([$1])
|
||||
esac
|
||||
])
|
||||
])
|
||||
gl_CHECK_FUNCS_SET_RESULTS([$1])
|
||||
])
|
||||
|
||||
dnl gl_CHECK_FUNCS_ANDROID_MACOS([func], [[#include <foo.h>]])
|
||||
dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
|
||||
dnl on Android and on macOS.
|
||||
dnl It is the combination of gl_CHECK_FUNCS_ANDROID and gl_CHECK_FUNCS_MACOS.
|
||||
AC_DEFUN([gl_CHECK_FUNCS_ANDROID_MACOS],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS])
|
||||
AC_CACHE_CHECK([for [$1]],
|
||||
[[gl_cv_onwards_func_][$1]],
|
||||
[gl_SILENT([
|
||||
case "$host_os" in
|
||||
gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2])
|
||||
gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2])
|
||||
gl_CHECK_FUNCS_DEFAULT_CASE([$1])
|
||||
esac
|
||||
])
|
||||
])
|
||||
gl_CHECK_FUNCS_SET_RESULTS([$1])
|
||||
])
|
||||
|
||||
dnl Expands to some code for use in .c programs that, on native Windows, defines
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module stdio:
|
||||
# Code from module stdlib:
|
||||
# Code from module stpcpy:
|
||||
# Code from module stpncpy:
|
||||
# Code from module string:
|
||||
# Code from module strnlen:
|
||||
# Code from module strtoimax:
|
||||
|
|
@ -619,6 +620,13 @@ AC_DEFUN([gl_INIT],
|
|||
gl_PREREQ_STPCPY
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([stpcpy])
|
||||
gl_FUNC_STPNCPY
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STPNCPY],
|
||||
[test $HAVE_STPNCPY = 0 || test $REPLACE_STPNCPY = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_STPNCPY], [
|
||||
gl_PREREQ_STPNCPY
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([stpncpy])
|
||||
gl_STRING_H
|
||||
gl_STRING_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
|
|
@ -1587,6 +1595,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/stdio.in.h
|
||||
lib/stdlib.in.h
|
||||
lib/stpcpy.c
|
||||
lib/stpncpy.c
|
||||
lib/str-two-way.h
|
||||
lib/strftime.h
|
||||
lib/string.in.h
|
||||
|
|
@ -1758,6 +1767,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/stdio_h.m4
|
||||
m4/stdlib_h.m4
|
||||
m4/stpcpy.m4
|
||||
m4/stpncpy.m4
|
||||
m4/string_h.m4
|
||||
m4/strnlen.m4
|
||||
m4/strtoimax.m4
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ AC_DEFUN_ONCE([gl_LIMITS_H],
|
|||
int wb = WORD_BIT;
|
||||
int ullw = ULLONG_WIDTH;
|
||||
int bw = BOOL_WIDTH;
|
||||
int bm = BOOL_MAX;
|
||||
]])],
|
||||
[gl_cv_header_limits_width=yes],
|
||||
[gl_cv_header_limits_width=no])])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# serial 33
|
||||
# serial 34
|
||||
|
||||
# Copyright (C) 1997-2001, 2003-2023 Free Software Foundation, Inc.
|
||||
#
|
||||
|
|
@ -56,6 +56,9 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
|
|||
linux-* | linux)
|
||||
# Guess yes on Linux systems.
|
||||
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
|
||||
midipix*)
|
||||
# Guess yes on systems that emulate the Linux system calls.
|
||||
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
|
||||
*-gnu* | gnu*)
|
||||
# Guess yes on glibc systems.
|
||||
gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# malloc.m4 serial 28
|
||||
# malloc.m4 serial 29
|
||||
dnl Copyright (C) 2007, 2009-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,
|
||||
|
|
@ -25,7 +25,7 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
|
|||
[case "$host_os" in
|
||||
# Guess yes on platforms where we know the result.
|
||||
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
|
||||
| gnu* | *-musl* | midnightbsd* \
|
||||
| gnu* | *-musl* | midipix* | midnightbsd* \
|
||||
| hpux* | solaris* | cygwin* | mingw* | msys* )
|
||||
ac_cv_func_malloc_0_nonnull="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
|
|
|
|||
44
m4/printf.m4
44
m4/printf.m4
|
|
@ -1,4 +1,4 @@
|
|||
# printf.m4 serial 73
|
||||
# printf.m4 serial 74
|
||||
dnl Copyright (C) 2003, 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,
|
||||
|
|
@ -63,7 +63,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
|
|
@ -244,7 +244,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
|
|
@ -467,7 +467,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
|
|
@ -591,7 +591,7 @@ int main ()
|
|||
[gl_cv_func_printf_directive_a="guessing no"])
|
||||
;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_directive_a="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_printf_directive_a="guessing yes";;
|
||||
# Guess no on Android.
|
||||
linux*-android*) gl_cv_func_printf_directive_a="guessing no";;
|
||||
# Guess no on native Windows.
|
||||
|
|
@ -643,7 +643,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
|
|
@ -990,18 +990,18 @@ int main ()
|
|||
[
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess yes on BeOS.
|
||||
beos*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess no on Android.
|
||||
linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
|
||||
# Guess no on native Windows.
|
||||
mingw*) gl_cv_func_printf_flag_zero="guessing no";;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl* | midipix*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess yes on BeOS.
|
||||
beos*) gl_cv_func_printf_flag_zero="guessing yes";;
|
||||
# Guess no on Android.
|
||||
linux*-android*) gl_cv_func_printf_flag_zero="guessing no";;
|
||||
# Guess no on native Windows.
|
||||
mingw*) gl_cv_func_printf_flag_zero="guessing no";;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_printf_flag_zero="$gl_cross_guess_normal";;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
])
|
||||
|
|
@ -1239,7 +1239,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
|
|
@ -1344,7 +1344,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
|
|
@ -1447,7 +1447,7 @@ int main ()
|
|||
;;
|
||||
changequote(,)dnl
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
|
|
@ -1604,7 +1604,7 @@ changequote(,)dnl
|
|||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
*-musl* | midipix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# pselect.m4 serial 10
|
||||
# pselect.m4 serial 11
|
||||
dnl Copyright (C) 2011-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,
|
||||
|
|
@ -54,6 +54,8 @@ AC_DEFUN([gl_FUNC_PSELECT],
|
|||
case "$host_os" in
|
||||
# Guess yes on Linux systems.
|
||||
linux-* | linux) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
|
||||
# Guess yes on systems that emulate the Linux system calls.
|
||||
midipix*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# readlink.m4 serial 16
|
||||
# readlink.m4 serial 17
|
||||
dnl Copyright (C) 2003, 2007, 2009-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,
|
||||
|
|
@ -38,6 +38,9 @@ AC_DEFUN([gl_FUNC_READLINK],
|
|||
# Guess yes on Linux or glibc systems.
|
||||
linux-* | linux | *-gnu* | gnu*)
|
||||
gl_cv_func_readlink_trailing_slash="guessing yes" ;;
|
||||
# Guess yes on systems that emulate the Linux system calls.
|
||||
midipix*)
|
||||
gl_cv_func_readlink_trailing_slash="guessing yes" ;;
|
||||
# Guess no on AIX or HP-UX.
|
||||
aix* | hpux*)
|
||||
gl_cv_func_readlink_trailing_slash="guessing no" ;;
|
||||
|
|
@ -75,6 +78,9 @@ AC_DEFUN([gl_FUNC_READLINK],
|
|||
# Guess yes on Linux or glibc systems.
|
||||
linux-* | linux | *-gnu* | gnu*)
|
||||
gl_cv_func_readlink_truncate="guessing yes" ;;
|
||||
# Guess yes on systems that emulate the Linux system calls.
|
||||
midipix*)
|
||||
gl_cv_func_readlink_truncate="guessing yes" ;;
|
||||
# Guess no on AIX or HP-UX.
|
||||
aix* | hpux*)
|
||||
gl_cv_func_readlink_truncate="guessing no" ;;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# realloc.m4 serial 26
|
||||
# realloc.m4 serial 27
|
||||
dnl Copyright (C) 2007, 2009-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,
|
||||
|
|
@ -25,7 +25,7 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
|
|||
[case "$host_os" in
|
||||
# Guess yes on platforms where we know the result.
|
||||
*-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
|
||||
| gnu* | *-musl* | midnightbsd* \
|
||||
| gnu* | *-musl* | midipix* | midnightbsd* \
|
||||
| hpux* | solaris* | cygwin* | mingw* | msys* )
|
||||
ac_cv_func_realloc_0_nonnull="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# signbit.m4 serial 20
|
||||
# signbit.m4 serial 21
|
||||
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,
|
||||
|
|
@ -29,14 +29,14 @@ AC_DEFUN([gl_SIGNBIT],
|
|||
[gl_cv_func_signbit=yes],
|
||||
[gl_cv_func_signbit=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# Guess yes on native Windows.
|
||||
mingw*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl* | midipix*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# Guess yes on native Windows.
|
||||
mingw*) gl_cv_func_signbit="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_signbit="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
|
|
@ -63,19 +63,19 @@ AC_DEFUN([gl_SIGNBIT],
|
|||
[gl_cv_func_signbit_builtins=yes],
|
||||
[gl_cv_func_signbit_builtins=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl*) gl_cv_func_signbit_builtins="guessing yes" ;;
|
||||
# Guess yes on mingw, no on MSVC.
|
||||
mingw*) if test -n "$GCC"; then
|
||||
gl_cv_func_signbit_builtins="guessing yes"
|
||||
else
|
||||
gl_cv_func_signbit_builtins="guessing no"
|
||||
fi
|
||||
;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_signbit_builtins="guessing yes" ;;
|
||||
# Guess yes on musl systems.
|
||||
*-musl* | midipix*) gl_cv_func_signbit_builtins="guessing yes" ;;
|
||||
# Guess yes on mingw, no on MSVC.
|
||||
mingw*) if test -n "$GCC"; then
|
||||
gl_cv_func_signbit_builtins="guessing yes"
|
||||
else
|
||||
gl_cv_func_signbit_builtins="guessing no"
|
||||
fi
|
||||
;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_func_signbit_builtins="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
|
|
|
|||
108
m4/stpncpy.m4
Normal file
108
m4/stpncpy.m4
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# stpncpy.m4 serial 22
|
||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 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.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STPNCPY],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
|
||||
dnl Persuade glibc <string.h> to declare stpncpy().
|
||||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
dnl The stpncpy() declaration in lib/string.in.h uses 'restrict'.
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
|
||||
AC_REQUIRE([gl_STRING_H_DEFAULTS])
|
||||
|
||||
dnl Both glibc and AIX (4.3.3, 5.1) have an stpncpy() function
|
||||
dnl declared in <string.h>. Its side effects are the same as those
|
||||
dnl of strncpy():
|
||||
dnl stpncpy (dest, src, n)
|
||||
dnl overwrites dest[0..n-1], min(strlen(src),n) bytes coming from src,
|
||||
dnl and the remaining bytes being NULs. However, the return value is
|
||||
dnl in glibc: dest + min(strlen(src),n)
|
||||
dnl in AIX: dest + max(0,n-1)
|
||||
dnl Only the glibc return value is useful in practice.
|
||||
|
||||
AC_CHECK_DECLS_ONCE([stpncpy])
|
||||
gl_CHECK_FUNCS_ANDROID([stpncpy], [[#include <string.h>]])
|
||||
if test $ac_cv_func_stpncpy = yes; then
|
||||
AC_CACHE_CHECK([for working stpncpy], [gl_cv_func_stpncpy], [
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdlib.h>
|
||||
#include <string.h> /* for strcpy */
|
||||
/* The stpncpy prototype is missing in <string.h> on AIX 4. */
|
||||
#if !HAVE_DECL_STPNCPY
|
||||
extern
|
||||
# ifdef __cplusplus
|
||||
"C"
|
||||
# endif
|
||||
char *stpncpy (char *dest, const char *src, size_t n);
|
||||
#endif
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
const char *src = "Hello";
|
||||
char dest[10];
|
||||
/* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */
|
||||
{
|
||||
strcpy (dest, "\377\377\377\377\377\377");
|
||||
if (stpncpy (dest, src, 2) != dest + 2)
|
||||
result |= 1;
|
||||
}
|
||||
/* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */
|
||||
{
|
||||
strcpy (dest, "\377\377\377\377\377\377");
|
||||
if (stpncpy (dest, src, 5) != dest + 5)
|
||||
result |= 2;
|
||||
}
|
||||
/* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */
|
||||
{
|
||||
strcpy (dest, "\377\377\377\377\377\377");
|
||||
if (stpncpy (dest, src, 7) != dest + 5)
|
||||
result |= 4;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
]])],
|
||||
[gl_cv_func_stpncpy=yes],
|
||||
[gl_cv_func_stpncpy=no],
|
||||
[dnl Guess yes on glibc systems and musl systems.
|
||||
AC_EGREP_CPP([Thanks for using GNU], [
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
Thanks for using GNU
|
||||
#endif
|
||||
], [gl_cv_func_stpncpy="guessing yes"],
|
||||
[case "$host_os" in
|
||||
*-musl* | midipix*) gl_cv_func_stpncpy="guessing yes" ;;
|
||||
*) gl_cv_func_stpncpy="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_stpncpy" in
|
||||
*yes)
|
||||
AC_DEFINE([HAVE_STPNCPY], [1],
|
||||
[Define if you have the stpncpy() function and it works.])
|
||||
;;
|
||||
*)
|
||||
REPLACE_STPNCPY=1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
HAVE_STPNCPY=0
|
||||
case "$gl_cv_onwards_func_stpncpy" in
|
||||
future*) REPLACE_STPNCPY=1 ;;
|
||||
esac
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/stpncpy.c.
|
||||
AC_DEFUN([gl_PREREQ_STPNCPY], [
|
||||
:
|
||||
])
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# serial 9
|
||||
# serial 10
|
||||
# See if we need to provide symlink replacement.
|
||||
|
||||
dnl Copyright (C) 2009-2023 Free Software Foundation, Inc.
|
||||
|
|
@ -38,6 +38,8 @@ AC_DEFUN([gl_FUNC_SYMLINK],
|
|||
[case "$host_os" in
|
||||
# Guess yes on Linux systems.
|
||||
linux-* | linux) gl_cv_func_symlink_works="guessing yes" ;;
|
||||
# Guess yes on systems that emulate the Linux system calls.
|
||||
midipix*) gl_cv_func_symlink_works="guessing yes" ;;
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_func_symlink_works="guessing yes" ;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/mman.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue