Index: include/asterisk/endian.h =================================================================== RCS file: /usr/cvsroot/asterisk/include/asterisk/endian.h,v retrieving revision 1.1 diff -u -r1.1 endian.h --- include/asterisk/endian.h 29 Mar 2005 04:49:24 -0000 1.1 +++ include/asterisk/endian.h 1 Apr 2005 09:50:19 -0000 @@ -20,31 +20,41 @@ * Autodetect system endianess */ -#if defined( __OpenBSD__ ) -# include -# include -#elif defined( __FreeBSD__ ) || defined( __NetBSD__ ) -# include -# include -#elif defined( BSD ) && ( BSD >= 199103 ) || defined(__APPLE__) -# include -#elif defined ( SOLARIS ) -# include -#elif defined( __GNUC__ ) || defined( __GNU_LIBRARY__ ) -# include -#if !defined(__APPLE__) -# include -#endif -#elif defined( linux ) -# include +#ifdef SOLARIS +#include "solaris-compat/compat.h" #endif -#ifndef BYTE_ORDER -#define BYTE_ORDER __BYTE_ORDER -#endif +#ifndef __BYTE_ORDER +#ifdef __linux__ +#include +#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) +#if defined(__OpenBSD__) +#include +#endif /* __OpenBSD__ */ +#include +#define __BYTE_ORDER BYTE_ORDER +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#else +#ifdef __LITTLE_ENDIAN__ +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif /* __LITTLE_ENDIAN */ + +#if defined(i386) || defined(__i386__) +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif /* defined i386 */ + +#if defined(sun) && defined(unix) && defined(sparc) +#define __BYTE_ORDER __BIG_ENDIAN +#endif /* sun unix sparc */ + +#endif /* linux */ + +#endif /* __BYTE_ORDER */ #ifndef __BYTE_ORDER -#error Endianess needs to be defined -#endif +#error Need to know endianess +#endif /* __BYTE_ORDER */ + #endif /* _ASTERISK_ENDIAN_H */