aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/sdcc.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/sdcc.js')
-rw-r--r--share/qbs/modules/cpp/sdcc.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/share/qbs/modules/cpp/sdcc.js b/share/qbs/modules/cpp/sdcc.js
index e047fc977..2f148d2c2 100644
--- a/share/qbs/modules/cpp/sdcc.js
+++ b/share/qbs/modules/cpp/sdcc.js
@@ -75,6 +75,37 @@ function dumpMacros(compilerFilePath, architecture) {
return map;
}
+function dumpDefaultPaths(compilerFilePath, architecture) {
+ var args = [ "--print-search-dirs" ];
+
+ var targetFlag = targetArchitectureFlag(architecture);
+ if (targetFlag)
+ args.push(targetFlag);
+
+ var p = new Process();
+ p.exec(compilerFilePath, args, true);
+ var includePaths = [];
+ var addIncludePaths = false;
+ var lines = p.readStdOut().trim().split(/\r?\n/g);
+ for (var i in lines) {
+ var line = lines[i];
+ if (line.startsWith("includedir:")) {
+ addIncludePaths = true;
+ } else if (line.startsWith("programs:")
+ || line.startsWith("datadir:")
+ || line.startsWith("libdir:")
+ || line.startsWith("libpath:")) {
+ addIncludePaths = false;
+ } else if (addIncludePaths) {
+ includePaths.push(line);
+ }
+ }
+
+ return {
+ "includePaths": includePaths
+ }
+}
+
function effectiveLinkerPath(product) {
if (product.cpp.linkerMode === "automatic")
return product.cpp.compilerPath;