summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt6
-rw-r--r--Utilities/cmlibuv/CMakeLists.txt4
-rw-r--r--Utilities/cmlibuv/src/unix/fs.c12
-rw-r--r--Utilities/cmlibuv/src/unix/sunos.c4
4 files changed, 19 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e613224..472c6ab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -509,12 +509,6 @@ int main(void) { return 0; }
elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
# Disable until it can be ported.
set(CMAKE_USE_LIBUV 0)
- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc")
- # Disable until it can be ported.
- set(CMAKE_USE_LIBUV 0)
- elseif(CMAKE_SYSTEM STREQUAL "SunOS-5.10")
- # Disable until it can be ported.
- set(CMAKE_USE_LIBUV 0)
endif()
endif()
if(CMAKE_USE_LIBUV)
diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
index a8e25ba..6632a1e 100644
--- a/Utilities/cmlibuv/CMakeLists.txt
+++ b/Utilities/cmlibuv/CMakeLists.txt
@@ -212,6 +212,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
nsl
sendfile
socket
+ rt
)
list(APPEND uv_headers
include/uv-sunos.h
@@ -223,6 +224,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
list(APPEND uv_defines
_XOPEN_SOURCE=500
)
+ if(CMAKE_C_STANDARD)
+ set(CMAKE_C_STANDARD 90)
+ endif()
else()
list(APPEND uv_defines
_XOPEN_SOURCE=600
diff --git a/Utilities/cmlibuv/src/unix/fs.c b/Utilities/cmlibuv/src/unix/fs.c
index f9513ea..8a4ba7a 100644
--- a/Utilities/cmlibuv/src/unix/fs.c
+++ b/Utilities/cmlibuv/src/unix/fs.c
@@ -244,9 +244,19 @@ skip:
#endif
}
+#if defined(__sun) && _XOPEN_SOURCE < 600
+static char* uv__mkdtemp(char *template)
+{
+ if (!mktemp(template) || mkdir(template, 0700))
+ return NULL;
+ return template;
+}
+#else
+#define uv__mkdtemp mkdtemp
+#endif
static ssize_t uv__fs_mkdtemp(uv_fs_t* req) {
- return mkdtemp((char*) req->path) ? 0 : -1;
+ return uv__mkdtemp((char*) req->path) ? 0 : -1;
}
diff --git a/Utilities/cmlibuv/src/unix/sunos.c b/Utilities/cmlibuv/src/unix/sunos.c
index a43f7f1..14c58af 100644
--- a/Utilities/cmlibuv/src/unix/sunos.c
+++ b/Utilities/cmlibuv/src/unix/sunos.c
@@ -28,6 +28,10 @@
#include <assert.h>
#include <errno.h>
+#if !defined(SUNOS_NO_IFADDRS) && _XOPEN_SOURCE < 600
+#define SUNOS_NO_IFADDRS
+#endif
+
#ifndef SUNOS_NO_IFADDRS
# include <ifaddrs.h>
#endif