diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c6ce72830c..a008ba4e0c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -12,6 +12,10 @@ set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED on) set(CMAKE_C_EXTENSIONS OFF) +if(CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSCIP_BIG_ENDIAN") +endif() + if(NOT WIN32) set(SCIP_COMP_OPTIONS ${SCIP_COMP_OPTIONS} "$<$:-D_XOPEN_SOURCE=600>") endif() diff --git a/src/amplmp/src/dtoa.cpp b/src/amplmp/src/dtoa.cpp index 3386cea500..6a08971b88 100644 --- a/src/amplmp/src/dtoa.cpp +++ b/src/amplmp/src/dtoa.cpp @@ -349,7 +349,11 @@ static double private_mem[PRIVATE_mem], *pmem_next = private_mem; extern "C" { #endif +#ifdef SCIP_BIG_ENDIAN +#define IEEE_MC68k +#else #define IEEE_8087 +#endif #define IEEE_Arith #if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1 Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.