aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-10-13 13:44:56 +0200
committerJake Petroules <jake.petroules@qt.io>2017-10-16 07:45:13 +0000
commit8c6ea8d35c24901ec886b18e8bef13d84cf4d607 (patch)
treecae05b76bb2902fe31cc869961c9df748b0b8338
parent07fa68a352864f70b7930c996c4b4a7c5d9cd4a7 (diff)
Properly split newlines from gcc and nm output on Windows
This fixes an issue (and probably undiscovered others) where qbs.architecture could be defined as, for example, "avr2\r" due to the fact that output was always split on \n and not on \r\n on Windows. Task-number: QBS-1217 Change-Id: If5d1af238394b950545990318fb12b343aa67072 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--share/qbs/modules/cpp/gcc.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index d003d8d89..aa17a8a5c 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -961,7 +961,7 @@ function collectStdoutLines(command, args)
var p = new Process();
try {
p.exec(command, args);
- return p.readStdOut().split('\n').filter(function (e) { return e; });
+ return p.readStdOut().split(/\r?\n/g).filter(function (e) { return e; });
} finally {
p.close();
}
@@ -1304,7 +1304,7 @@ function dumpMacros(env, compilerFilePath, args, nullDevice, tag) {
(args || []).concat(["-Wp,-dM", "-E", "-x", languageName(tag || "c") , nullDevice]),
true);
var map = {};
- p.readStdOut().trim().split("\n").map(function (line) {
+ p.readStdOut().trim().split(/\r?\n/g).map(function (line) {
var parts = line.split(" ", 3);
map[parts[1]] = parts[2];
});
@@ -1327,7 +1327,7 @@ function dumpDefaultPaths(env, compilerFilePath, args, nullDevice, pathListSepar
var libraryPaths = [];
var frameworkPaths = [];
var addIncludes = false;
- var lines = p.readStdErr().trim().split("\n").map(function (line) { return line.trim(); });
+ var lines = p.readStdErr().trim().split(/\r?\n/g).map(function (line) { return line.trim(); });
for (var i = 0; i < lines.length; ++i) {
var line = lines[i];
var prefix = "LIBRARY_PATH=";