Skip to content

Commit

Permalink
build: fix process.platform
Browse files Browse the repository at this point in the history
e1fe270 introduces the NODE_PLATFORM macro which had to be redefined in
node.gyp for `process.platform` to return expected values.

PR-URL: #271
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
  • Loading branch information
vkurchatkin authored and piscisaureus committed Jan 9, 2015
1 parent be2404e commit 9f45799
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
10 changes: 5 additions & 5 deletions node.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@
'defines': [
'FD_SETSIZE=1024',
# we need to use node's preferred "win32" rather than gyp's preferred "win"
'PLATFORM="win32"',
'NODE_PLATFORM="win32"',
'_UNICODE=1',
],
'libraries': [ '-lpsapi.lib' ]
Expand All @@ -337,11 +337,11 @@
# like Instruments require it for some features
'libraries': [ '-framework CoreFoundation' ],
'defines!': [
'PLATFORM="mac"',
'NODE_PLATFORM="mac"',
],
'defines': [
# we need to use node's preferred "darwin" rather than gyp's preferred "mac"
'PLATFORM="darwin"',
'NODE_PLATFORM="darwin"',
],
}],
[ 'OS=="freebsd"', {
Expand All @@ -356,12 +356,12 @@
'-lumem',
],
'defines!': [
'PLATFORM="solaris"',
'NODE_PLATFORM="solaris"',
],
'defines': [
# we need to use node's preferred "sunos"
# rather than gyp's preferred "solaris"
'PLATFORM="sunos"',
'NODE_PLATFORM="sunos"',
],
}],
[ 'OS=="freebsd" or OS=="linux"', {
Expand Down
11 changes: 3 additions & 8 deletions src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2625,14 +2625,9 @@ void SetupProcessObject(Environment* env,
READONLY_PROPERTY(process, "arch", OneByteString(env->isolate(), NODE_ARCH));

// process.platform
#ifdef _WIN32
// As determined by gyp, NODE_PLATFORM equals 'win' on windows. However
// for historic reasons process.platform should be 'win32'.
Local<String> platform = OneByteString(env->isolate(), "win32");
#else
Local<String> platform = OneByteString(env->isolate(), NODE_PLATFORM);
#endif
READONLY_PROPERTY(process, "platform", platform);
READONLY_PROPERTY(process,
"platform",
OneByteString(env->isolate(), NODE_PLATFORM));

// process.argv
Local<Array> arguments = Array::New(env->isolate(), argc);
Expand Down

0 comments on commit 9f45799

Please sign in to comment.