#ifndef __ASXXXX_CONFIG_H #define __ASXXXX_CONFIG_H /* * find out the endianess of host machine * in order to be able to make Mac OS X unified binaries */ /* This is tricky since these might be defined with a blank replacement list */ /* such as on SPARC Solaris. However, configure gets it right, so it's ok */ /* that (_BIG_ENDIAN+0) is false, even though it is defined. */ #if (__BIG_ENDIAN__+0) || (_BIG_ENDIAN+0) /* 1) trust the compiler */ # define WORDS_BIGENDIAN 1 #elif __LITTLE_ENDIAN__ /* do nothing */ #elif (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) /* 2) trust the header files */ # if BYTE_ORDER == BIG_ENDIAN # define WORDS_BIGENDIAN 1 # endif #else /* 3) trust the configure; this actually doesn't work for unified Mac OS X binaries :-( */ # undef BUILD_WORDS_BIGENDIAN # if (defined BUILD_WORDS_BIGENDIAN && BUILD_WORDS_BIGENDIAN) # define WORDS_BIGENDIAN 1 # endif /* 4) assume that host is a little endian machine */ #endif #undef TYPE_BYTE #undef TYPE_WORD #undef TYPE_DWORD #undef TYPE_UBYTE #undef TYPE_UWORD #undef TYPE_UDWORD #if !defined TYPE_WORD && defined _WIN32 # define TYPE_BYTE char # define TYPE_WORD short # define TYPE_DWORD int # define TYPE_UBYTE unsigned TYPE_BYTE # define TYPE_UWORD unsigned TYPE_WORD # define TYPE_UDWORD unsigned TYPE_DWORD #endif #endif __ASXXXX_CONFIG_H