Commit b8a0af82 authored by dscho's avatar dscho

bigendian is now determined at configure time

parent 76e558d2
...@@ -68,6 +68,7 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys ...@@ -68,6 +68,7 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys
# Checks for typedefs, structures, and compiler characteristics. # Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST AC_C_CONST
AC_C_INLINE AC_C_INLINE
AC_C_BIGENDIAN
AC_TYPE_SIZE_T AC_TYPE_SIZE_T
AC_HEADER_TIME AC_HEADER_TIME
......
...@@ -60,50 +60,17 @@ typedef signed char Bool; ...@@ -60,50 +60,17 @@ typedef signed char Bool;
#include "rfbproto.h" #include "rfbproto.h"
#ifdef __linux__
#include <endian.h>
#elif defined(__APPLE__) || defined(__FreeBSD__)
#include <sys/types.h> #include <sys/types.h>
#include <machine/endian.h> #if defined(WIN32)
#define _BYTE_ORDER BYTE_ORDER #define WORDS_BIGENDIAN
#define _LITTLE_ENDIAN LITTLE_ENDIAN
#elif defined (__SVR4) && defined (__sun) /* Solaris */
#include <sys/types.h>
#if defined(__sparc)
/* SPARC here (big endian) */
#define _BYTE_ORDER 4321
#elif defined(__i386)
#define _BYTE_ORDER 1234
#else
#error Solaris 2.5.1 had ppc support did it not? :-)
#endif
#undef Bool
#define Bool char
#undef SIGNED
#define SIGNED
#include <sys/types.h>
/* typedef unsigned int pthread_t; */
#elif defined(WIN32)
#define _LITTLE_ENDIAN 1234
#define _BYTE_ORDER _LITTLE_ENDIAN
#undef Bool #undef Bool
#define Bool int #define Bool int
#else
#include <sys/endian.h>
#endif #endif
#ifdef __sgi__ #ifdef __sgi__
typedef int socklen_t; typedef int socklen_t;
#endif #endif
#ifndef _BYTE_ORDER
#define _BYTE_ORDER __BYTE_ORDER
#endif
#if !defined(_LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
#define _LITTLE_ENDIAN __LITTLE_ENDIAN
#endif
#ifdef WIN32 #ifdef WIN32
#include <sys/timeb.h> #include <sys/timeb.h>
#include <winsock.h> #include <winsock.h>
......
...@@ -38,10 +38,11 @@ MUTEX(logMutex); ...@@ -38,10 +38,11 @@ MUTEX(logMutex);
int rfbEnableLogging=1; int rfbEnableLogging=1;
/* we cannot compare to _LITTLE_ENDIAN, because some systems #ifdef WORDS_BIGENDIAN
(as Solaris) assume little endian if _LITTLE_ENDIAN is char rfbEndianTest = 0;
defined, even if _BYTE_ORDER is not _LITTLE_ENDIAN */ #else
char rfbEndianTest = (_BYTE_ORDER == 1234); char rfbEndianTest = -1;
#endif
/* from rfbserver.c */ /* from rfbserver.c */
void rfbIncrClientRef(rfbClientPtr cl); void rfbIncrClientRef(rfbClientPtr cl);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment