| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- var path = require('path')
 
-   , log = require('npmlog')
 
- function findNodeDirectory(scriptLocation, processObj) {
 
-   // set dirname and process if not passed in
 
-   // this facilitates regression tests
 
-   if (scriptLocation === undefined) {
 
-     scriptLocation = __dirname
 
-   }
 
-   if (processObj === undefined) {
 
-     processObj = process
 
-   }
 
-   // Have a look to see what is above us, to try and work out where we are
 
-   npm_parent_directory = path.join(scriptLocation, '../../../..')
 
-   log.verbose('node-gyp root', 'npm_parent_directory is '
 
-               + path.basename(npm_parent_directory))
 
-   node_root_dir = ""
 
-   log.verbose('node-gyp root', 'Finding node root directory')
 
-   if (path.basename(npm_parent_directory) === 'deps') {
 
-     // We are in a build directory where this script lives in
 
-     // deps/npm/node_modules/node-gyp/lib
 
-     node_root_dir = path.join(npm_parent_directory, '..')
 
-     log.verbose('node-gyp root', 'in build directory, root = '
 
-                 + node_root_dir)
 
-   } else if (path.basename(npm_parent_directory) === 'node_modules') {
 
-     // We are in a node install directory where this script lives in
 
-     // lib/node_modules/npm/node_modules/node-gyp/lib or
 
-     // node_modules/npm/node_modules/node-gyp/lib depending on the
 
-     // platform
 
-     if (processObj.platform === 'win32') {
 
-       node_root_dir = path.join(npm_parent_directory, '..')
 
-     } else {
 
-       node_root_dir = path.join(npm_parent_directory, '../..')
 
-     }
 
-     log.verbose('node-gyp root', 'in install directory, root = '
 
-                 + node_root_dir)
 
-   } else {
 
-     // We don't know where we are, try working it out from the location
 
-     // of the node binary
 
-     var node_dir = path.dirname(processObj.execPath)
 
-     var directory_up = path.basename(node_dir)
 
-     if (directory_up === 'bin') {
 
-       node_root_dir = path.join(node_dir, '..')
 
-     } else if (directory_up === 'Release' || directory_up === 'Debug') {
 
-       // If we are a recently built node, and the directory structure
 
-       // is that of a repository. If we are on Windows then we only need
 
-       // to go one level up, everything else, two
 
-       if (processObj.platform === 'win32') {
 
-         node_root_dir = path.join(node_dir, '..')
 
-       } else {
 
-         node_root_dir = path.join(node_dir, '../..')
 
-       }
 
-     }
 
-     // Else return the default blank, "".
 
-   }
 
-   return node_root_dir
 
- }
 
- module.exports = findNodeDirectory
 
 
  |