build: fix `process.platform`
authorVladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Fri, 9 Jan 2015 12:38:09 +0000 (15:38 +0300)
committerBert Belder <bertbelder@gmail.com>
Fri, 9 Jan 2015 18:52:51 +0000 (19:52 +0100)
e1fe270 introduces the NODE_PLATFORM macro which had to be redefined in
node.gyp for `process.platform` to return expected values.

PR-URL: https://github.com/iojs/io.js/pull/271
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
node.gyp
src/node.cc

index 4362295..1063e18 100644 (file)
--- a/node.gyp
+++ b/node.gyp
           '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' ]
           # 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"', {
             '-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"', {
index 9b4fd87..9ffaab8 100644 (file)
@@ -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);