aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2021-06-23 20:38:55 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2021-06-29 14:27:12 +0000
commit9359b3c79f559422ef0582e34d27fdfb805a68ce (patch)
tree983dfdd0479e8a20f8d6caface4b364b6a621ef3 /share
parenteda7039285dabae3acf0cb7e56903d0c8ac2c004 (diff)
Separate Cpp.{assembler|compiler}Output{Tags|Artifacts}
We need to separate the functionality of these functions, since their content will differ in the future (for example, the 'intermediate_obj' tag will be added for the compiler). Change-Id: Ife65aed95966b92a3646d73512a0a0add4cd1aac Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/cosmic.qbs6
-rw-r--r--share/qbs/modules/cpp/cpp.js28
-rw-r--r--share/qbs/modules/cpp/iar.qbs6
-rw-r--r--share/qbs/modules/cpp/keil.qbs6
-rw-r--r--share/qbs/modules/cpp/sdcc.qbs6
5 files changed, 35 insertions, 17 deletions
diff --git a/share/qbs/modules/cpp/cosmic.qbs b/share/qbs/modules/cpp/cosmic.qbs
index 6df74d0e3..acc744a5b 100644
--- a/share/qbs/modules/cpp/cosmic.qbs
+++ b/share/qbs/modules/cpp/cosmic.qbs
@@ -109,8 +109,8 @@ CppModule {
Rule {
id: assembler
inputs: ["asm"]
- outputFileTags: Cpp.compilerOutputTags(generateAssemblerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, false)
+ outputFileTags: Cpp.assemblerOutputTags(generateAssemblerListingFiles)
+ outputArtifacts: Cpp.assemblerOutputArtifacts(input)
prepare: COSMIC.prepareAssembler.apply(COSMIC, arguments)
}
@@ -124,7 +124,7 @@ CppModule {
inputs: ["cpp", "c"]
auxiliaryInputs: ["hpp"]
outputFileTags: Cpp.compilerOutputTags(generateCompilerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, true)
+ outputArtifacts: Cpp.compilerOutputArtifacts(input)
prepare: COSMIC.prepareCompiler.apply(COSMIC, arguments)
}
diff --git a/share/qbs/modules/cpp/cpp.js b/share/qbs/modules/cpp/cpp.js
index 49ed678df..1e153e8ba 100644
--- a/share/qbs/modules/cpp/cpp.js
+++ b/share/qbs/modules/cpp/cpp.js
@@ -63,6 +63,13 @@ function extractMacros(output) {
return m;
}
+function assemblerOutputTags(needsListingFiles) {
+ var tags = ["obj"];
+ if (needsListingFiles)
+ tags.push("lst");
+ return tags;
+}
+
function compilerOutputTags(needsListingFiles) {
var tags = ["obj"];
if (needsListingFiles)
@@ -81,24 +88,35 @@ function staticLibraryLinkerOutputTags() {
return ["staticlibrary"];
}
-function compilerOutputArtifacts(input, isCompilerArtifacts) {
+function assemblerOutputArtifacts(input) {
var artifacts = [];
artifacts.push({
fileTags: ["obj"],
filePath: Utilities.getHash(input.baseDir) + "/"
+ input.fileName + input.cpp.objectSuffix
});
- if (isCompilerArtifacts && input.cpp.generateCompilerListingFiles) {
+ if (input.cpp.generateAssemblerListingFiles) {
artifacts.push({
fileTags: ["lst"],
filePath: Utilities.getHash(input.baseDir) + "/"
- + input.fileName + input.cpp.compilerListingSuffix
+ + input.fileName + input.cpp.assemblerListingSuffix
});
- } else if (!isCompilerArtifacts && input.cpp.generateAssemblerListingFiles) {
+ }
+ return artifacts;
+}
+
+function compilerOutputArtifacts(input) {
+ var artifacts = [];
+ artifacts.push({
+ fileTags: ["obj"],
+ filePath: Utilities.getHash(input.baseDir) + "/"
+ + input.fileName + input.cpp.objectSuffix
+ });
+ if (input.cpp.generateCompilerListingFiles) {
artifacts.push({
fileTags: ["lst"],
filePath: Utilities.getHash(input.baseDir) + "/"
- + input.fileName + input.cpp.assemblerListingSuffix
+ + input.fileName + input.cpp.compilerListingSuffix
});
}
return artifacts;
diff --git a/share/qbs/modules/cpp/iar.qbs b/share/qbs/modules/cpp/iar.qbs
index e782e3ee1..79d4a0720 100644
--- a/share/qbs/modules/cpp/iar.qbs
+++ b/share/qbs/modules/cpp/iar.qbs
@@ -114,8 +114,8 @@ CppModule {
Rule {
id: assembler
inputs: ["asm"]
- outputFileTags: Cpp.compilerOutputTags(generateAssemblerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, false)
+ outputFileTags: Cpp.assemblerOutputTags(generateAssemblerListingFiles)
+ outputArtifacts: Cpp.assemblerOutputArtifacts(input)
prepare: IAR.prepareAssembler.apply(IAR, arguments)
}
@@ -129,7 +129,7 @@ CppModule {
inputs: ["cpp", "c"]
auxiliaryInputs: ["hpp"]
outputFileTags: Cpp.compilerOutputTags(generateCompilerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, true)
+ outputArtifacts: Cpp.compilerOutputArtifacts(input)
prepare: IAR.prepareCompiler.apply(IAR, arguments)
}
diff --git a/share/qbs/modules/cpp/keil.qbs b/share/qbs/modules/cpp/keil.qbs
index 6dad0f0e6..8e4d98402 100644
--- a/share/qbs/modules/cpp/keil.qbs
+++ b/share/qbs/modules/cpp/keil.qbs
@@ -110,8 +110,8 @@ CppModule {
Rule {
id: assembler
inputs: ["asm"]
- outputFileTags: Cpp.compilerOutputTags(generateAssemblerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, false)
+ outputFileTags: Cpp.assemblerOutputTags(generateAssemblerListingFiles)
+ outputArtifacts: Cpp.assemblerOutputArtifacts(input)
prepare: KEIL.prepareAssembler.apply(KEIL, arguments)
}
@@ -125,7 +125,7 @@ CppModule {
inputs: ["cpp", "c"]
auxiliaryInputs: ["hpp"]
outputFileTags: Cpp.compilerOutputTags(generateCompilerListingFiles)
- outputArtifacts: Cpp.compilerOutputArtifacts(input, true)
+ outputArtifacts: Cpp.compilerOutputArtifacts(input)
prepare: KEIL.prepareCompiler.apply(KEIL, arguments)
}
diff --git a/share/qbs/modules/cpp/sdcc.qbs b/share/qbs/modules/cpp/sdcc.qbs
index f35e845fd..0f33e9f02 100644
--- a/share/qbs/modules/cpp/sdcc.qbs
+++ b/share/qbs/modules/cpp/sdcc.qbs
@@ -110,9 +110,9 @@ CppModule {
id: assembler
inputs: ["asm"]
outputFileTags: SDCC.extraCompilerOutputTags().concat(
- Cpp.compilerOutputTags(generateAssemblerListingFiles))
+ Cpp.assemblerOutputTags(generateAssemblerListingFiles))
outputArtifacts: SDCC.extraCompilerOutputArtifacts(input).concat(
- Cpp.compilerOutputArtifacts(input, false))
+ Cpp.assemblerOutputArtifacts(input))
prepare: SDCC.prepareAssembler.apply(SDCC, arguments)
}
@@ -128,7 +128,7 @@ CppModule {
outputFileTags: SDCC.extraCompilerOutputTags().concat(
Cpp.compilerOutputTags(generateCompilerListingFiles))
outputArtifacts: SDCC.extraCompilerOutputArtifacts(input).concat(
- Cpp.compilerOutputArtifacts(input, true))
+ Cpp.compilerOutputArtifacts(input))
prepare: SDCC.prepareCompiler.apply(SDCC, arguments)
}