diff options
Diffstat (limited to 'lib/compilers')
-rw-r--r-- | lib/compilers/argument-parsers.js | 49 | ||||
-rw-r--r-- | lib/compilers/default.js | 5 |
2 files changed, 27 insertions, 27 deletions
diff --git a/lib/compilers/argument-parsers.js b/lib/compilers/argument-parsers.js index 3be006e5e..241ba2bb2 100644 --- a/lib/compilers/argument-parsers.js +++ b/lib/compilers/argument-parsers.js @@ -22,31 +22,32 @@ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -const _ = require('underscore-node'), - logger = require('../logger').logger, - utils = require('../utils'); +const _ = require('underscore-node'), + logger = require('../logger').logger, + utils = require('../utils'); -const getOptions = function(compiler, helpArg) { +const getOptions = function (compiler, helpArg) { + "use strict"; return compiler.exec(compiler.compiler.exe, [helpArg]) - .then(_.bind(function (result) { - var options = {}; - if (result.code === 0) { - var splitness = /--?[-a-zA-Z]+( ?[-a-zA-Z]+)/; - - utils.eachLine(result.stdout + result.stderr, function (line) { - var match = line.match(splitness); - if (!match) return; - options[match[0]] = true; - }); - } - compiler.compiler.supportedOptions = options; - logger.debug("compiler options: ", compiler.compiler.supportedOptions); - return compiler; + .then(_.bind(function (result) { + let options = {}; + if (result.code === 0) { + let optionFinder = /^\s+(--?[-a-zA-Z]+)/; + + utils.eachLine(result.stdout + result.stderr, function (line) { + var match = line.match(optionFinder); + if (!match) return; + options[match[1]] = true; + }); + } + compiler.compiler.supportedOptions = options; + logger.debug("compiler options: ", compiler.compiler.supportedOptions); + return compiler; })); }; -const gccparser = function(compiler) { - return getOptions(compiler, "--target-help").then(function(compiler) { +const gccparser = function (compiler) { + return getOptions(compiler, "--target-help").then(function (compiler) { if (compiler.compiler.supportedOptions['-masm']) { compiler.compiler.intelAsm = "-masm=intel"; compiler.compiler.supportsIntel = true; @@ -55,8 +56,8 @@ const gccparser = function(compiler) { }); }; -const clangparser = function(compiler) { - return getOptions(compiler, "--help").then(function(compiler) { +const clangparser = function (compiler) { + return getOptions(compiler, "--help").then(function (compiler) { if (compiler.compiler.supportedOptions['-fsave-optimization-record']) { compiler.compiler.optArg = "-fsave-optimization-record"; compiler.compiler.supportsOptOutput = true; @@ -67,6 +68,6 @@ const clangparser = function(compiler) { module.exports = { - "clang": clangparser, - "gcc": gccparser + clang: clangparser, + gcc: gccparser };
\ No newline at end of file diff --git a/lib/compilers/default.js b/lib/compilers/default.js index fe55b9998..759d2bbe8 100644 --- a/lib/compilers/default.js +++ b/lib/compilers/default.js @@ -22,10 +22,9 @@ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -const Compile = require('../base-compiler'), - argumentParsers = require("./argument-parsers"); +const Compile = require('../base-compiler'); module.exports = function (info, env) { var comp = new Compile(info, env); - return comp.initialise(argumentParsers[info.type]); + return comp.initialise(); };
\ No newline at end of file |