Fixed for compilation in big endian PPC. "Everything is broken thought due to little endian logic."

This commit is contained in:
Judemir Ribeiro 2018-05-19 18:03:59 -04:00
parent 4b728d7dd4
commit d44d19ca79
1 changed files with 24 additions and 5 deletions

View File

@ -137,9 +137,24 @@ endif()
if(ARCH_ID STREQUAL "ppc64le") if(ARCH_ID STREQUAL "ppc64le")
set(PPC64LE 1) set(PPC64LE 1)
set(PPC64 0)
set(PPC 0)
endif() endif()
if(WIN32 OR ARM) if(ARCH_ID STREQUAL "powerpc64" OR ARCH_ID STREQUAL "ppc64")
set(PPC64LE 0)
set(PPC64 1)
set(PPC 0)
endif()
if(ARCH_ID STREQUAL "powerpc")
set(PPC64LE 0)
set(PPC64 0)
set(PPC 1)
endif()
if(WIN32 OR ARM OR PPC64LE OR PPC64 OR PPC)
set(OPT_FLAGS_RELEASE "-O2") set(OPT_FLAGS_RELEASE "-O2")
else() else()
set(OPT_FLAGS_RELEASE "-Ofast") set(OPT_FLAGS_RELEASE "-Ofast")
@ -474,7 +489,11 @@ else()
if(ARCH STREQUAL "default") if(ARCH STREQUAL "default")
set(ARCH_FLAG "") set(ARCH_FLAG "")
elseif(PPC64LE) elseif(PPC64LE)
set(ARCH_FLAG "-mcpu=${ARCH}") set(ARCH_FLAG "-mcpu=power8")
elseif(PPC64)
set(ARCH_FLAG "-mcpu=970")
elseif(PPC)
set(ARCH_FLAG "-mcpu=7400")
elseif(IOS AND ARCH STREQUAL "arm64") elseif(IOS AND ARCH STREQUAL "arm64")
message(STATUS "IOS: Changing arch from arm64 to armv8") message(STATUS "IOS: Changing arch from arm64 to armv8")
set(ARCH_FLAG "-march=armv8") set(ARCH_FLAG "-march=armv8")
@ -584,12 +603,12 @@ else()
message(STATUS "AES support explicitly disabled") message(STATUS "AES support explicitly disabled")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_AES") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_AES")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_AES") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_AES")
elseif(NOT ARM AND NOT PPC64LE) elseif(NOT ARM AND NOT PPC64LE AND NOT PPC64 AND NOT PPC)
message(STATUS "AES support enabled") message(STATUS "AES support enabled")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
elseif(PPC64LE) elseif(PPC64LE OR PPC64 OR PPC)
message(STATUS "AES support not available on ppc64le") message(STATUS "AES support not available on POWER")
elseif(ARM6) elseif(ARM6)
message(STATUS "AES support not available on ARMv6") message(STATUS "AES support not available on ARMv6")
elseif(ARM7) elseif(ARM7)