Re: [PATCH GnuPG] build: Fix GNUPG_CHECK_ENDIAN to work with gcc 14

NIIBE Yutaka via Gnupg-devel <[email protected]>
Newsgroups gmane.comp.encryption.gpg.devel
Message-ID <[email protected]>
Hello,

Thank you for your report.

Alan Coopersmith wrote:
> Before this fix, running configure on Solaris 11.4 x86 with gcc 14
> claimed x86 systems were big endian, because the test failed to compile:

If it works well, using AC_C_BIGENDIAN of autoconf is better, I suppose.

I'd like to apply something like following:

diff --git a/configure.ac b/configure.ac
index 991313093..36ff452d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -544,19 +544,6 @@ AH_BOTTOM([
 #endif
 
 
-/* We didn't define endianness above, so get it from OS macros.  This
-   is intended for making fat binary builds on OS X. */
-#if !defined(BIG_ENDIAN_HOST) && !defined(LITTLE_ENDIAN_HOST)
-#if defined(__BIG_ENDIAN__)
-#define BIG_ENDIAN_HOST 1
-#elif defined(__LITTLE_ENDIAN__)
-#define LITTLE_ENDIAN_HOST 1
-#else
-#error "No endianness found"
-#endif
-#endif
-
-
 /* Hack used for W32: ldap.m4 also tests for the ASCII version of
    ldap_start_tls_s because that is the actual symbol used in the
    library.  winldap.h redefines it to our commonly used value,
@@ -1332,6 +1319,10 @@ AC_MSG_NOTICE([checking for system characteristics])
 AC_C_CONST
 AC_C_INLINE
 AC_C_VOLATILE
+AC_C_BIGENDIAN([AC_DEFINE(BIG_ENDIAN_HOST,1,
+                [Defined if the host has big endian byte ordering])],
+               [AC_DEFINE(LITTLE_ENDIAN_HOST,1,
+                [Defined if the host has little endian byte ordering])])
 AC_TYPE_SIZE_T
 AC_TYPE_MODE_T
 AC_CHECK_FUNCS([sigdescr_np])
@@ -1347,15 +1338,6 @@ gl_TYPE_SOCKLEN_T
 
 AC_SEARCH_LIBS([inet_addr], [nsl])
 
-AC_ARG_ENABLE(endian-check,
-              AS_HELP_STRING([--disable-endian-check],
-              [disable the endian check and trust the OS provided macros]),
-	      endiancheck=$enableval,endiancheck=yes)
-
-if test x"$endiancheck" = xyes ; then
-  GNUPG_CHECK_ENDIAN
-fi
-
 # fixme: we should get rid of the byte type
 AC_CHECK_TYPES([byte, ushort, ulong, u16, u32])
 AC_CHECK_SIZEOF(unsigned short)

--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.