mirror of https://github.com/nodejs/node.git
Support SunOS 121. Check for ifaddrs in wscript for SunOS build.
parent
a845bf74ae
commit
111305c1bd
|
@ -36,7 +36,10 @@
|
|||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <ifaddrs.h>
|
||||
|
||||
#ifdef SUNOS_HAVE_IFADDRS
|
||||
# include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
@ -297,6 +300,11 @@ int Platform::GetLoadAvg(Local<Array> *loads) {
|
|||
|
||||
Handle<Value> Platform::GetInterfaceAddresses() {
|
||||
HandleScope scope;
|
||||
|
||||
#ifndef SUNOS_HAVE_IFADDRS
|
||||
return ThrowException(Exception::Error(String::New(
|
||||
"This version of sunos doesn't support getifaddrs")));
|
||||
#else
|
||||
struct ::ifaddrs *addrs, *ent;
|
||||
struct ::sockaddr_in *in4;
|
||||
struct ::sockaddr_in6 *in6;
|
||||
|
@ -355,6 +363,8 @@ Handle<Value> Platform::GetInterfaceAddresses() {
|
|||
freeifaddrs(addrs);
|
||||
|
||||
return scope.Close(ret);
|
||||
|
||||
#endif // SUNOS_HAVE_IFADDRS
|
||||
}
|
||||
|
||||
|
||||
|
|
11
wscript
11
wscript
|
@ -351,6 +351,17 @@ def configure(conf):
|
|||
conf.env.append_value('CPPFLAGS', '-DHAVE_MONOTONIC_CLOCK=0')
|
||||
|
||||
if sys.platform.startswith("sunos"):
|
||||
code = """
|
||||
#include <ifaddrs.h>
|
||||
int main(void) {
|
||||
struct ifaddrs hello;
|
||||
return 0;
|
||||
}
|
||||
"""
|
||||
|
||||
if conf.check_cc(msg="Checking for ifaddrs on solaris", fragment=code):
|
||||
conf.env.append_value('CPPFLAGS', '-DSUNOS_HAVE_IFADDRS')
|
||||
|
||||
if not conf.check(lib='socket', uselib_store="SOCKET"):
|
||||
conf.fatal("Cannot find socket library")
|
||||
if not conf.check(lib='nsl', uselib_store="NSL"):
|
||||
|
|
Loading…
Reference in New Issue