summaryrefslogtreecommitdiff
path: root/node_modules/mongodb/install.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
committerJules Laplace <jules@okfoc.us>2012-09-24 16:22:07 -0400
commit686106d544ecc3b6ffd4db2b665d3bc879a58d8c (patch)
treea5b5e50237cef70e12f0745371896e96f5f6d578 /node_modules/mongodb/install.js
ok
Diffstat (limited to 'node_modules/mongodb/install.js')
-rw-r--r--node_modules/mongodb/install.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/mongodb/install.js b/node_modules/mongodb/install.js
new file mode 100644
index 0000000..f9f2a57
--- /dev/null
+++ b/node_modules/mongodb/install.js
@@ -0,0 +1,40 @@
+var spawn = require('child_process').spawn,
+ exec = require('child_process').exec;
+
+process.stdout.write("================================================================================\n");
+process.stdout.write("= =\n");
+process.stdout.write("= To install with C++ bson parser do <npm install mongodb --mongodb:native> =\n");
+process.stdout.write("= =\n");
+process.stdout.write("================================================================================\n");
+
+// Check if we want to build the native code
+var build_native = process.env['npm_package_config_native'] != null ? process.env['npm_package_config_native'] : 'false';
+build_native = build_native == 'true' ? true : false;
+// If we are building the native bson extension ensure we use gmake if available
+if(build_native) {
+ // Check if we need to use gmake
+ exec('which gmake', function(err, stdout, stderr) {
+ // Set up spawn command
+ var make = null;
+ // No gmake build using make
+ if(err != null) {
+ make = spawn('make', ['total']);
+ } else {
+ make = spawn('gmake', ['total']);
+ }
+
+ // Execute spawn
+ make.stdout.on('data', function(data) {
+ process.stdout.write(data);
+ })
+
+ make.stderr.on('data', function(data) {
+ process.stdout.write(data);
+ })
+
+ make.on('exit', function(code) {
+ process.stdout.write('child process exited with code ' + code + "\n");
+ })
+ });
+}
+