66e1b5f
From 270e016f8d24ef4bd99f26084100581d2ea97a19 Mon Sep 17 00:00:00 2001
Adam Tkac 70f1f7f
From: Adam Tkac <atkac@redhat.com>
66e1b5f
Date: Mon, 12 Jan 2009 10:29:10 +1000
66e1b5f
Subject: [PATCH] Workaround for RH bug #449944
Adam Tkac 70f1f7f
Adam Tkac 70f1f7f
AC_C_BIGENDIAN macro in autoconf 2.62 is badly broken. See
Adam Tkac 70f1f7f
https://bugzilla.redhat.com/show_bug.cgi?id=449944 for more information.
Adam Tkac 70f1f7f
66e1b5f
Forward-ported to 1.6 prerelease.
66e1b5f
---
66e1b5f
 configure.ac             |   10 +++++++++-
66e1b5f
 include/dix-config.h.in  |    8 ++++++++
66e1b5f
 include/xorg-server.h.in |    8 ++++++++
66e1b5f
 3 files changed, 25 insertions(+), 1 deletions(-)
66e1b5f
66e1b5f
diff --git a/configure.ac b/configure.ac
66e1b5f
index c222c95..e40a1a2 100644
66e1b5f
--- a/configure.ac
66e1b5f
+++ b/configure.ac
66e1b5f
@@ -103,7 +103,6 @@ AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
 dnl Checks for typedefs, structures, and compiler characteristics.
Adam Tkac 70f1f7f
 AC_C_CONST
Adam Tkac 70f1f7f
-AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
 AC_CHECK_SIZEOF([unsigned long])
Adam Tkac 70f1f7f
 if test "$ac_cv_sizeof_unsigned_long" = 8; then
66e1b5f
@@ -1182,6 +1181,15 @@ AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4])
Adam Tkac 70f1f7f
 AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
 XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
66e1b5f
+AH_VERBATIM([X_BYTE_ORDER],[
Adam Tkac 70f1f7f
+/* Define endian order */
66e1b5f
+#ifdef __BIG_ENDIAN__
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_BIG_ENDIAN
66e1b5f
+#else
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
66e1b5f
+#endif
Adam Tkac 70f1f7f
+#define X_BYTE_ORDER _X_BYTE_ORDER
66e1b5f
+])
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
 dnl ---------------------------------------------------------------------------
66e1b5f
 dnl DDX section.
66e1b5f
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
66e1b5f
index 977bff3..a3ce66c 100644
66e1b5f
--- a/include/dix-config.h.in
66e1b5f
+++ b/include/dix-config.h.in
66e1b5f
@@ -363,6 +363,14 @@
Adam Tkac 70f1f7f
 /* Vendor name */
Adam Tkac 70f1f7f
 #undef XVENDORNAME
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
+/* Define endian order */
66e1b5f
+#ifdef __BIG_ENDIAN__
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_BIG_ENDIAN
66e1b5f
+#else
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
66e1b5f
+#endif
Adam Tkac 70f1f7f
+#define X_BYTE_ORDER _X_BYTE_ORDER
66e1b5f
+
Adam Tkac 70f1f7f
 /* Enable GNU and other extensions to the C environment for GLIBC */
Adam Tkac 70f1f7f
 #undef _GNU_SOURCE
66e1b5f
 
66e1b5f
diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
66e1b5f
index 4cf1bbf..f041c7c 100644
66e1b5f
--- a/include/xorg-server.h.in
66e1b5f
+++ b/include/xorg-server.h.in
66e1b5f
@@ -145,6 +145,14 @@
Adam Tkac 70f1f7f
 /* Vendor name */
Adam Tkac 70f1f7f
 #undef XVENDORNAME
Adam Tkac 70f1f7f
 
Adam Tkac 70f1f7f
+/* Define endian order */
66e1b5f
+#ifdef __BIG_ENDIAN__
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_BIG_ENDIAN
66e1b5f
+#else
Adam Tkac 70f1f7f
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
66e1b5f
+#endif
Adam Tkac 70f1f7f
+#define X_BYTE_ORDER _X_BYTE_ORDER
66e1b5f
+
Adam Tkac 70f1f7f
 /* BSD-compliant source */
Adam Tkac 70f1f7f
 #undef _BSD_SOURCE
66e1b5f
 
66e1b5f
-- 
66e1b5f
1.6.0.6
66e1b5f