diff --git a/CMakeLists.txt b/CMakeLists.txt index c3f3d52d..921d0140 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,11 +309,22 @@ if(CMAKE_THREAD_LIBS_INIT) set(toxcore_PKGCONFIG_LIBS ${toxcore_PKGCONFIG_LIBS} ${CMAKE_THREAD_LIBS_INIT}) endif() + +if(NSL_LIBRARIES) + set(toxcore_LINK_MODULES ${toxcore_LINK_MODULES} ${NSL_LIBRARIES}) + set(toxcore_PKGCONFIG_LIBS ${toxcore_PKGCONFIG_LIBS} -lnsl) +endif() + if(RT_LIBRARIES) set(toxcore_LINK_MODULES ${toxcore_LINK_MODULES} ${RT_LIBRARIES}) set(toxcore_PKGCONFIG_LIBS ${toxcore_PKGCONFIG_LIBS} -lrt) endif() +if(SOCKET_LIBRARIES) + set(toxcore_LINK_MODULES ${toxcore_LINK_MODULES} ${SOCKET_LIBRARIES}) + set(toxcore_PKGCONFIG_LIBS ${toxcore_PKGCONFIG_LIBS} -lsocket) +endif() + if(WIN32) set(toxcore_LINK_MODULES ${toxcore_LINK_MODULES} ws2_32 iphlpapi) set(toxcore_PKGCONFIG_LIBS ${toxcore_PKGCONFIG_LIBS} -lws2_32 -liphlpapi) diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index b3e57e50..5970fde7 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -8,7 +8,9 @@ include(ModulePackage) find_package(Threads REQUIRED) +find_library(NSL_LIBRARIES nsl ) find_library(RT_LIBRARIES rt ) +find_library(SOCKET_LIBRARIES socket ) # For toxcore. pkg_use_module(LIBSODIUM libsodium ) diff --git a/toxcore/network.c b/toxcore/network.c index 3c262bab..1c1459db 100644 --- a/toxcore/network.c +++ b/toxcore/network.c @@ -29,6 +29,12 @@ #define _DARWIN_C_SOURCE #endif +// For Solaris. +#ifdef __sun +#define __EXTENSIONS__ 1 +#endif + +// For Linux (and some BSDs). #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE 700 #endif @@ -85,6 +91,11 @@ #include #include +#ifdef __sun +#include +#include +#endif + #define TOX_EWOULDBLOCK EWOULDBLOCK #else