From 604f7b45f97d4fe4146646cd296494716de767a6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 4 Jun 2024 11:54:24 -0700 Subject: [PATCH] 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. --- configure.ac | 6 ------ lib/endian.in.h | 18 +++++++++++++++++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index 369c9005c61..e3213f4ac79 100644 --- a/configure.ac +++ b/configure.ac @@ -49,12 +49,6 @@ 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, diff --git a/lib/endian.in.h b/lib/endian.in.h index bd65ae8aaba..156fe49fbda 100644 --- a/lib/endian.in.h +++ b/lib/endian.in.h @@ -69,8 +69,9 @@ #define PDP_ENDIAN 3412 # 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 @@ #define PDP_ENDIAN 3412 # 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 -- 2.43.0