aboutsummaryrefslogtreecommitdiffstats
path: root/qbs/imports
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2016-06-16 12:11:22 +0200
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2016-06-17 13:33:03 +0000
commit31258ec5555d929f4cd33e2836e24b470cf6908b (patch)
tree4d4efcd1d238e9307739d56c3e0b6cd8125e6980 /qbs/imports
parent1ce258d71018ad10b63fb8a37e1b0f16d21b3793 (diff)
qbs build: Introduce libclang module.
This is The Right Way to detect libclang. Using a Probe will also slightly improve performance in qbs 1.6 due to the result caching. Change-Id: I063a8d108d02b620dda2df75dd8c014c84f27ec7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'qbs/imports')
-rw-r--r--qbs/imports/QtcClangInstallation/functions.js67
-rw-r--r--qbs/imports/QtcProcessOutputReader/procoutputreader.js11
2 files changed, 0 insertions, 78 deletions
diff --git a/qbs/imports/QtcClangInstallation/functions.js b/qbs/imports/QtcClangInstallation/functions.js
deleted file mode 100644
index 4c2019f149..0000000000
--- a/qbs/imports/QtcClangInstallation/functions.js
+++ /dev/null
@@ -1,67 +0,0 @@
-var Environment = loadExtension("qbs.Environment")
-var File = loadExtension("qbs.File")
-var MinimumLLVMVersion = "3.6.2"
-
-function isSuitableLLVMConfig(llvmConfigCandidate, qtcFunctions, processOutputReader)
-{
- if (File.exists(llvmConfigCandidate)) {
- var candidateVersion = version(llvmConfigCandidate, processOutputReader);
- if (candidateVersion && candidateVersion.length)
- return qtcFunctions.versionIsAtLeast(candidateVersion, MinimumLLVMVersion)
- }
- return false;
-}
-
-function llvmConfig(qbs, qtcFunctions, processOutputReader)
-{
- var llvmInstallDirFromEnv = Environment.getEnv("LLVM_INSTALL_DIR")
- var llvmConfigVariants = [
- "llvm-config", "llvm-config-3.2", "llvm-config-3.3", "llvm-config-3.4",
- "llvm-config-3.5", "llvm-config-3.6", "llvm-config-4.0", "llvm-config-4.1"
- ];
-
- // Prefer llvm-config* from LLVM_INSTALL_DIR
- var suffix = qbs.hostOS.contains("windows") ? ".exe" : "";
- if (llvmInstallDirFromEnv) {
- for (var i = 0; i < llvmConfigVariants.length; ++i) {
- var variant = llvmInstallDirFromEnv + "/bin/" + llvmConfigVariants[i] + suffix;
- if (isSuitableLLVMConfig(variant, qtcFunctions, processOutputReader))
- return variant;
- }
- }
-
- // Find llvm-config* in PATH
- var pathListString = Environment.getEnv("PATH");
- var separator = qbs.hostOS.contains("windows") ? ";" : ":";
- var pathList = pathListString.split(separator);
- for (var i = 0; i < llvmConfigVariants.length; ++i) {
- for (var j = 0; j < pathList.length; ++j) {
- var variant = pathList[j] + "/" + llvmConfigVariants[i] + suffix;
- if (isSuitableLLVMConfig(variant, qtcFunctions, processOutputReader))
- return variant;
- }
- }
-
- return undefined;
-}
-
-function includeDir(llvmConfig, processOutputReader)
-{
- return processOutputReader.readOutput(llvmConfig, ["--includedir"])
-}
-
-function libDir(llvmConfig, processOutputReader)
-{
- return processOutputReader.readOutput(llvmConfig, ["--libdir"])
-}
-
-function version(llvmConfig, processOutputReader)
-{
- return processOutputReader.readOutput(llvmConfig, ["--version"])
- .replace(/(\d+\.\d+\.\d+).*/, "$1")
-}
-
-function libraries(targetOS)
-{
- return targetOS.contains("windows") ? ["libclang.lib", "advapi32.lib", "shell32.lib"] : ["clang"]
-}
diff --git a/qbs/imports/QtcProcessOutputReader/procoutputreader.js b/qbs/imports/QtcProcessOutputReader/procoutputreader.js
deleted file mode 100644
index 695a61ec88..0000000000
--- a/qbs/imports/QtcProcessOutputReader/procoutputreader.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var Process = loadExtension("qbs.Process")
-
-function readOutput(executable, args)
-{
- var p = new Process();
- var output = "";
- if (p.exec(executable, args, false) !== -1)
- output = p.readStdOut().trim(); // Trailing newline.
- p.close();
- return output;
-}