http://www.snes9x.com/phpbb2/viewtopic.php?p=12712 http://bugs.gentoo.org/104049 --- snes9x-1.5-src/configure.in +++ snes9x-1.5-src/configure.in @@ -625,6 +625,19 @@ SYSDEFINES="$SYSDEFINES"' -DHAVE_STDINT_H' ]) +AC_CHECK_HEADER(endian.h, [ + SYSDEFINES="$SYSDEFINES"' -DHAVE_ENDIAN_H' +]) +AC_CHECK_HEADER(sys/endian.h, [ + SYSDEFINES="$SYSDEFINES"' -DHAVE_SYS_ENDIAN_H' +]) +AC_CHECK_HEADER(machine/endian.h, [ + SYSDEFINES="$SYSDEFINES"' -DHAVE_MACHINE_ENDIAN_H' +]) +AC_CHECK_HEADER(sys/isa_defs.h, [ + SYSDEFINES="$SYSDEFINES"' -DHAVE_SYS_ISA_DEFS_H' +]) + AC_CHECK_HEADERS(unistd.h sys/socket.h winsock.h winsock2.h WS2tcpip.h) dnl Check SAR --- snes9x-1.5-src/port.h +++ snes9x-1.5-src/port.h @@ -165,6 +165,19 @@ #include +#if defined(HAVE_ENDIAN_H) +# include +#endif +#if defined(HAVE_SYS_ENDIAN_H) +# include +#endif +#if defined(HAVE_MACHINE_ENDIAN_H) +# include +#endif +#if defined(HAVE_SYS_ISA_DEFS_H) +# include +#endif + /* #define PIXEL_FORMAT RGB565 */ #define GFX_MULTI_FORMAT @@ -343,12 +356,27 @@ #define SIG_PF void(*)(int) #endif -#if defined(__i386__) || defined(__i486__) || defined(__i586__) || \ - defined(__x86_64__) || defined(__WIN32__) || defined(__alpha__) -#define LSB_FIRST -#define FAST_LSB_WORD_ACCESS -#else -#define MSB_FIRST -#endif - +#if defined(BYTE_ORDER) +# if BYTE_ORDER == LITTLE_ENDIAN +# define LSB_FIRST +# else +# define MSB_FIRST +# endif +#elif defined(WORDS_LITTLENDIAN) +# define LSB_FIRST +#elif defined(WORDS_BIGENDIAN) +# define MSB_FIRST +#else +# if defined(__i386__) || defined(__i486__) || defined(__i586__) || \ + defined(__WIN32__) || defined(__alpha__) || defined(__x86_64__) +# define LSB_FIRST +# else +# define MSB_FIRST +# endif +#endif + +#if defined(LSB_FIRST) +# define FAST_LSB_WORD_ACCESS +#endif + #ifdef __sun