]> git.eshelyaron.com Git - emacs.git/commitdiff
More-permanent fix for build with Android NDK r10b
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 4 Jun 2024 18:54:24 +0000 (11:54 -0700)
committerEshel Yaron <me@eshelyaron.com>
Wed, 5 Jun 2024 10:15:07 +0000 (12:15 +0200)
* configure.ac (gl_cv_header_working_endian_h):
Remove temporary workaround for Android.
* lib/endian.in.h: Copy latest version from Gnulib.

(cherry picked from commit 24b7bf2746fd7bf097e04c5b9363cab197edbc7c)

configure.ac
lib/endian.in.h

index c04712502f863111bdcd0cf8e9d2778a600258b6..9d91e8731b5ce1733ef812776c8e2beb3e391047 100644 (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,
index bd65ae8aaba27eb07b2fac5d5cae86e030e8c717..156fe49fbdaa1ba558d4aac75c8a118e23a48f48 100644 (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