More-permanent fix for build with Android NDK r10b

* configure.ac (gl_cv_header_working_endian_h):
Remove temporary workaround for Android.
* lib/endian.in.h: Copy latest version from Gnulib.
This commit is contained in:
Paul Eggert 2024-06-04 11:54:24 -07:00 committed by Po Lu
parent 7f415f7d5e
commit 24b7bf2746
2 changed files with 17 additions and 7 deletions

View file

@ -49,12 +49,6 @@ if test "$XCONFIGURE" = "android"; then
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=32"
enable_largefile=no
enable_year2038=no])
# Further, endian.h is not guaranteed to define every function that
# Gnulib seeks to replace, but Gnulib tests are not prepared for
# such versions of endian.h as only define a subset of the functions
# whose presence it tests. Force such tests to succeed as a stopgap
# measure.
gl_cv_header_working_endian_h=yes
fi
dnl Set emacs_config_options to the options of 'configure', quoted for the shell,

View file

@ -69,8 +69,9 @@ _GL_INLINE_HEADER_BEGIN
# define BYTE_ORDER LITTLE_ENDIAN
#endif
/* Make sure function-like macros get undefined. */
#if @HAVE_ENDIAN_H@
/* Make sure we don't have any system definitions. */
# undef be16toh
# undef be32toh
# undef be64toh
@ -83,6 +84,21 @@ _GL_INLINE_HEADER_BEGIN
# undef htole16
# undef htole32
# undef htole64
/* Define our own. */
# define be16toh rpl_endian_be16toh
# define be32toh rpl_endian_be32toh
# define be64toh rpl_endian_be64toh
# define htobe16 rpl_endian_htobe16
# define htobe32 rpl_endian_htobe32
# define htobe64 rpl_endian_htobe64
# define le16toh rpl_endian_le16toh
# define le32toh rpl_endian_le32toh
# define le64toh rpl_endian_le64toh
# define htole16 rpl_endian_htole16
# define htole32 rpl_endian_htole32
# define htole64 rpl_endian_htole64
#endif
#ifdef __cplusplus