82 lines
2.8 KiB
JavaScript

/*
Copyright (c) 2013, Oracle and/or its affiliates. All rights
reserved.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2 of
the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA
*/
var path = require("path");
var fs = require("fs");
var mynode, parent_dir, udebug_module;
mynode = {};
mynode.fs = {};
parent_dir = path.dirname(__dirname);
mynode.fs.adapter_dir = __dirname;
mynode.fs.api_dir = path.join(mynode.fs.adapter_dir, "api");
mynode.fs.spi_dir = path.join(mynode.fs.adapter_dir, "impl");
mynode.fs.spi_doc_dir = path.join(mynode.fs.spi_dir, "SPI-documentation");
mynode.fs.api_doc_dir = path.join(parent_dir, "API-documentation");
mynode.fs.backend_doc_dir = path.join(parent_dir, "Backend-documentation");
mynode.fs.converters_dir = path.join(parent_dir, "Converters");
mynode.fs.spi_module = path.join(mynode.fs.spi_dir, "SPI.js");
mynode.fs.api_module = path.join(mynode.fs.api_dir, "mynode.js");
mynode.fs.suites_dir = path.join(parent_dir, "test");
mynode.fs.samples_dir = path.join(parent_dir, "samples");
udebug_module = path.join(mynode.fs.api_dir, "unified_debug.js");
/* Find the build directory */
var build1 = path.join(mynode.fs.spi_dir, "build");
var build2 = path.join(parent_dir, "build");
var existsSync = fs.existsSync || path.existsSync;
if(existsSync(path.join(build1, "Release", "ndb_adapter.node"))) {
mynode.fs.build_dir = path.join(build1, "Release");
}
else if(existsSync(path.join(build2, "Release", "ndb_adapter.node"))) {
mynode.fs.build_dir = path.join(build2, "Release");
}
else if(existsSync(path.join(build1, "Debug", "ndb_adapter.node"))) {
mynode.fs.build_dir = path.join(build1, "Debug");
}
else if(existsSync(path.join(build2, "Debug", "ndb_adapter.node"))) {
mynode.fs.build_dir = path.join(build2, "Debug");
}
/* Some compatibility with older versions of node */
if(typeof global.setImmediate !== 'function') {
global.setImmediate = process.nextTick;
}
/* Export the filesystem config */
module.exports = mynode.fs;
/* Also make it available globally */
if(!global.mynode) { global.mynode = {} };
global.mynode.fs = mynode.fs;
/* And export unified_debug globally */
global.unified_debug = require(udebug_module);