/** | |
* During `npm install`, we run: | |
* | |
* node-gyp rebuild || node suppress-error.js | |
* | |
* (Note that this expression is written to work on *nix and Windows.) | |
* | |
* When we run node-gyp, we detect whether or not we're on a supported platform, | |
* and either compile the node addon or exit having done nothing. It's possible | |
* for the platform to lack the requirements to run node-gyp though (such as | |
* Python 2, make, Visual C++ Build Tools, and so on), in which case we fall | |
* back onto this script. | |
* | |
* If NODE_DTRACE_PROVIDER_REQUIRE is set to "hard", then we want to propagate | |
* the failure and stop the install. Otherwise, we want to suppress it and | |
* allow the program to fall back onto the stub code. | |
* | |
* There is one case where we might stop an install and not want to: on Debian | |
* and Ubuntu, where the binary is named "nodejs" instead of "node", the | |
* fallback will fail to run. There doesn't really seem to be a great way to | |
* handle this scenario, so users on those systems will need to either install | |
* node-gyp's requirements or set up a "node" symbolic link. | |
*/ | |
if (process.env.NODE_DTRACE_PROVIDER_REQUIRE === 'hard') { | |
process.exit(1); | |
} else { | |
process.exit(0); | |
} | |