diff --git a/CMakeLists.txt b/CMakeLists.txt index 56c71c88..e5e3097f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,12 @@ cmake_dependent_option( OFF ) +include(TestBigEndian) +test_big_endian(BIG_ENDIAN) +if(BIG_ENDIAN) + add_definitions("-DHS_BIG_ENDIAN") +endif() + set(CMAKE_C_FLAGS_DEBUG "-DDEBUG ${CMAKE_C_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG ${CMAKE_CXX_FLAGS_DEBUG}") if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR diff --git a/core/Stream/hsStream.cpp b/core/Stream/hsStream.cpp index 2728699b..28833fbd 100644 --- a/core/Stream/hsStream.cpp +++ b/core/Stream/hsStream.cpp @@ -54,7 +54,7 @@ uint16_t hsStream::readShort() void hsStream::readShorts(size_t count, uint16_t* buf) { read(sizeof(uint16_t) * count, buf); -#ifdef WORDS_BIGENDIAN +#ifdef HS_BIG_ENDIAN for (size_t i=0; i<count; i++) buf[i] = LESWAP16(buf[i]); #endif @@ -70,7 +70,7 @@ uint32_t hsStream::readInt() void hsStream::readInts(size_t count, uint32_t* buf) { read(sizeof(uint32_t) * count, buf); -#ifdef WORDS_BIGENDIAN +#ifdef HS_BIG_ENDIAN for (size_t i=0; i<count; i++) buf[i] = LESWAP32(buf[i]); #endif @@ -220,7 +220,7 @@ void hsStream::writeShort(uint16_t v) void hsStream::writeShorts(size_t count, const uint16_t* buf) { -#ifdef WORDS_BIGENDIAN +#ifdef HS_BIG_ENDIAN uint16_t* swbuf = new uint16_t[count]; for (size_t i=0; i<count; i++) swbuf[i] = LESWAP16(buf[i]); @@ -239,7 +239,7 @@ void hsStream::writeInt(uint32_t v) void hsStream::writeInts(size_t count, const uint32_t* buf) { -#ifdef WORDS_BIGENDIAN +#ifdef HS_BIG_ENDIAN uint32_t* swbuf = new uint32_t[count]; for (size_t i=0; i<count; i++) swbuf[i] = LESWAP32(buf[i]); diff --git a/core/Sys/Platform.h b/core/Sys/Platform.h index 47cdbabf..04e2b58e 100644 --- a/core/Sys/Platform.h +++ b/core/Sys/Platform.h @@ -71,11 +71,7 @@ inline double ENDSWAPD(double val) return conv.fv; } -#if defined(MACOSX) && defined(__BIG_ENDIAN__) - #define WORDS_BIGENDIAN -#endif - -#ifdef WORDS_BIGENDIAN +#ifdef HS_BIG_ENDIAN #define LESWAP16(val) ENDSWAP16(val) #define BESWAP16(val) (val) #define LESWAP32(val) ENDSWAP32(val)