From d659b416f2a0d493af57f9d66761064665bc2eed Mon Sep 17 00:00:00 2001 From: Erik Boasson Date: Wed, 9 Jan 2019 11:15:11 +0100 Subject: [PATCH] undo breakage of OpenIndiana (Solaris) build Signed-off-by: Erik Boasson --- src/CMakeLists.txt | 6 +----- src/core/ddsi/src/ddsi_udp.c | 10 ++++++++++ src/os/CMakeLists.txt | 2 +- src/os/include/os/posix/os_platform_socket.h | 2 -- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e6b23df..6fcb572 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,11 +53,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "VxWorks") endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "SunPro") - add_definitions(-m64) - add_definitions(-xc99) - add_definitions(-D__restrict=restrict) - set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -m64") - set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -m64") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64 -xc99 -D__restrict=restrict") endif() # Conan diff --git a/src/core/ddsi/src/ddsi_udp.c b/src/core/ddsi/src/ddsi_udp.c index b6cb2f5..da5ceac 100644 --- a/src/core/ddsi/src/ddsi_udp.c +++ b/src/core/ddsi/src/ddsi_udp.c @@ -64,8 +64,13 @@ static ssize_t ddsi_udp_conn_read (ddsi_tran_conn_t conn, unsigned char * buf, s msghdr.msg_namelen = srclen; msghdr.msg_iov = &msg_iov; msghdr.msg_iovlen = 1; +#if !defined(__sun) || defined(_XPG4_2) msghdr.msg_control = NULL; msghdr.msg_controllen = 0; +#else + msghdr.msg_accrights = NULL; + msghdr.msg_accrightslen = 0; +#endif do { ret = recvmsg(((ddsi_udp_conn_t) conn)->m_sock, &msghdr, 0); @@ -117,8 +122,13 @@ static ssize_t ddsi_udp_conn_write (ddsi_tran_conn_t conn, const nn_locator_t *d set_msghdr_iov (&msg, (os_iovec_t *) iov, niov); msg.msg_name = &dstaddr; msg.msg_namelen = (socklen_t) os_sockaddr_get_size((os_sockaddr *) &dstaddr); +#if !defined(__sun) || defined(_XPG4_2) msg.msg_control = NULL; msg.msg_controllen = 0; +#else + msg.msg_accrights = NULL; + msg.msg_accrightslen = 0; +#endif #if SYSDEPS_MSGHDR_FLAGS msg.msg_flags = (int) flags; #else diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt index de0d256..e95ac92 100644 --- a/src/os/CMakeLists.txt +++ b/src/os/CMakeLists.txt @@ -95,7 +95,7 @@ endif() if(${CMAKE_C_COMPILER_ID} STREQUAL "SunPro") target_link_libraries(OSAPI INTERFACE -lsocket -lnsl) - target_compile_definitions(OSAPI PRIVATE -KPIC) + add_definitions(-KPIC) endif() # Determine if platform is big or little endian. diff --git a/src/os/include/os/posix/os_platform_socket.h b/src/os/include/os/posix/os_platform_socket.h index 7dadd5d..d16dfd9 100644 --- a/src/os/include/os/posix/os_platform_socket.h +++ b/src/os/include/os/posix/os_platform_socket.h @@ -74,8 +74,6 @@ extern "C" { typedef size_t os_iov_len_t; #if defined(__sun) && !defined(_XPG4_2) -#define msg_accrights msg_control -#define msg_accrightslen msg_controllen #define OS_MSGHDR_FLAGS 0 #else #define OS_MSGHDR_FLAGS 1