diff --git a/common.gypi b/common.gypi index 6677274f3abe80..cf5bdaa928e727 100644 --- a/common.gypi +++ b/common.gypi @@ -279,7 +279,7 @@ 'cflags': [ '-pthread', ], 'ldflags': [ '-pthread' ], }], - [ 'OS in "linux freebsd openbsd solaris android aix"', { + [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', { 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++0x' ], 'ldflags': [ '-rdynamic' ], diff --git a/configure b/configure index 4e3455056cfb98..d0b2540c2f0aaa 100755 --- a/configure +++ b/configure @@ -57,7 +57,7 @@ from gyp_node import run_gyp parser = optparse.OptionParser() valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', - 'android', 'aix') + 'android', 'aix', 'cloudabi') valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', 'ppc64', 'x32','x64', 'x86', 's390', 's390x') valid_arm_float_abi = ('soft', 'softfp', 'hard') diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index e800e0f2fee260..59f021fd49d448 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -38,6 +38,10 @@ #include #include +#ifdef __POSIX__ +# include +#endif // __POSIX__ + #if defined(__ANDROID__) || \ defined(__MINGW32__) || \ defined(__OpenBSD__) || \ diff --git a/src/node.cc b/src/node.cc index 0c69ece87ad366..c58c910fb52447 100644 --- a/src/node.cc +++ b/src/node.cc @@ -111,7 +111,7 @@ typedef int mode_t; #include // setuid, getuid #endif -#if defined(__POSIX__) && !defined(__ANDROID__) +#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) #include // getpwnam() #include // getgrnam() #endif @@ -998,7 +998,7 @@ Local UVException(Isolate* isolate, // Look up environment variable unless running as setuid root. bool SafeGetenv(const char* key, std::string* text) { -#ifndef _WIN32 +#if !defined(__CloudABI__) && !defined(_WIN32) if (linux_at_secure || getuid() != geteuid() || getgid() != getegid()) goto fail; #endif @@ -2082,7 +2082,7 @@ static void Umask(const FunctionCallbackInfo& args) { } -#if defined(__POSIX__) && !defined(__ANDROID__) +#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) static const uid_t uid_not_found = static_cast(-1); static const gid_t gid_not_found = static_cast(-1); @@ -2401,7 +2401,7 @@ static void InitGroups(const FunctionCallbackInfo& args) { } } -#endif // __POSIX__ && !defined(__ANDROID__) +#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) static void WaitForInspectorDisconnect(Environment* env) { @@ -3610,7 +3610,7 @@ void SetupProcessObject(Environment* env, env->SetMethod(process, "umask", Umask); -#if defined(__POSIX__) && !defined(__ANDROID__) +#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) env->SetMethod(process, "getuid", GetUid); env->SetMethod(process, "geteuid", GetEUid); env->SetMethod(process, "setuid", SetUid); @@ -3624,7 +3624,7 @@ void SetupProcessObject(Environment* env, env->SetMethod(process, "getgroups", GetGroups); env->SetMethod(process, "setgroups", SetGroups); env->SetMethod(process, "initgroups", InitGroups); -#endif // __POSIX__ && !defined(__ANDROID__) +#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) env->SetMethod(process, "_kill", Kill);