From a17efcb039c1128fdb11fd147687f15f2ae12494 Mon Sep 17 00:00:00 2001 From: Pavel Maryanov Date: Tue, 10 Oct 2017 14:05:28 +0100 Subject: make this build on SunOS/Solaris --- src/common/int-util.h | 4 ++++ src/common/util.cpp | 2 +- src/crypto/initializer.h | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/common/int-util.h b/src/common/int-util.h index 34288805a..7cec571ad 100644 --- a/src/common/int-util.h +++ b/src/common/int-util.h @@ -40,6 +40,10 @@ #include #endif +#if defined(__sun) && defined(__SVR4) +#include +#endif + #if defined(_MSC_VER) #include diff --git a/src/common/util.cpp b/src/common/util.cpp index 1e180d325..a13ac6e50 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -405,7 +405,7 @@ namespace tools #else std::string get_nix_version_display_string() { - utsname un; + struct utsname un; if(uname(&un) < 0) return std::string("*nix: failed to get os version"); diff --git a/src/crypto/initializer.h b/src/crypto/initializer.h index 619038ae6..eb1d1c069 100644 --- a/src/crypto/initializer.h +++ b/src/crypto/initializer.h @@ -31,8 +31,13 @@ #pragma once #if defined(__GNUC__) +#if defined(__sun) && defined(__SVR4) +#define INITIALIZER(name) __attribute__((constructor)) static void name(void) +#define FINALIZER(name) __attribute__((destructor)) static void name(void) +#else #define INITIALIZER(name) __attribute__((constructor(101))) static void name(void) #define FINALIZER(name) __attribute__((destructor(101))) static void name(void) +#endif #define REGISTER_FINALIZER(name) ((void) 0) #elif defined(_MSC_VER) -- cgit v1.2.3