diff --git a/CMakeLists.txt b/CMakeLists.txt index 595e829..589b6eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,6 +59,14 @@ if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=600 -D__STRICT_ALIGNMENT") endif() +if(CMAKE_SYSTEM_NAME MATCHES "SunOS") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99 -fno-strict-aliasing") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__EXTENSIONS__") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=600") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBSD_COMP") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -m64") +endif() + add_definitions(-DLIBRESSL_INTERNAL) add_definitions(-DOPENSSL_NO_HW_PADLOCK) @@ -196,12 +204,16 @@ if(HAVE_ERR_H) add_definitions(-DHAVE_ERR_H) endif() -if("${CMAKE_C_COMPILER_ABI}" STREQUAL "ELF" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND ENABLE_ASM) - set(HOST_ASM_ELF_X86_64 true) -endif() - -if(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" AND ENABLE_ASM) - set(HOST_ASM_MACOSX_X86_64 true) +if(ENABLE_ASM) + if("${CMAKE_C_COMPILER_ABI}" STREQUAL "ELF") + if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)") + set(HOST_ASM_ELF_X86_64 true) + elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") + set(HOST_ASM_ELF_X86_64 true) + endif() + elseif(APPLE AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + set(HOST_ASM_MACOSX_X86_64 true) + endif() endif() set(OPENSSL_LIBS ssl crypto) @@ -217,6 +229,9 @@ endif() if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread) endif() +if(CMAKE_SYSTEM_NAME MATCHES "SunOS") + set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket) +endif() if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|MINGW|CYGWIN)" OR MSVC)) set(BUILD_SHARED true) @@ -225,8 +240,8 @@ endif() check_type_size(time_t SIZEOF_TIME_T) if(SIZEOF_TIME_T STREQUAL "4") set(SMALL_TIME_T true) - message(WARNING " ** Warning, this system is unable to represent times past 2038") - message(WARNING " ** It will behave incorrectly when handling valid RFC5280 dates") + message(WARNING " ** Warning, this system is unable to represent times past 2038\n" + " ** It will behave incorrectly when handling valid RFC5280 dates") endif() add_definitions(-DSIZEOF_TIME_T=${SIZEOF_TIME_T})