qbs build: Fix libclang Probe for qbs > 1.10

Probe configure scripts no longer have direct access to module
instances.

Change-Id: I87c5a7dbd44633cda5740d185829cecdc2d128e6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Christian Kandeler
2018-01-17 15:19:17 +01:00
parent e68418f22e
commit c278c26cb6
2 changed files with 9 additions and 6 deletions

View File

@@ -29,7 +29,7 @@ function isSuitableLLVMConfig(llvmConfigCandidate, qtcFunctions)
return false; return false;
} }
function llvmConfig(qbs, qtcFunctions) function llvmConfig(hostOS, qtcFunctions)
{ {
var llvmInstallDirFromEnv = Environment.getEnv("LLVM_INSTALL_DIR") var llvmInstallDirFromEnv = Environment.getEnv("LLVM_INSTALL_DIR")
var llvmConfigVariants = [ var llvmConfigVariants = [
@@ -37,7 +37,7 @@ function llvmConfig(qbs, qtcFunctions)
]; ];
// Prefer llvm-config* from LLVM_INSTALL_DIR // Prefer llvm-config* from LLVM_INSTALL_DIR
var suffix = qbs.hostOS.contains("windows") ? ".exe" : ""; var suffix = hostOS.contains("windows") ? ".exe" : "";
if (llvmInstallDirFromEnv) { if (llvmInstallDirFromEnv) {
for (var i = 0; i < llvmConfigVariants.length; ++i) { for (var i = 0; i < llvmConfigVariants.length; ++i) {
var variant = llvmInstallDirFromEnv + "/bin/" + llvmConfigVariants[i] + suffix; var variant = llvmInstallDirFromEnv + "/bin/" + llvmConfigVariants[i] + suffix;
@@ -48,7 +48,7 @@ function llvmConfig(qbs, qtcFunctions)
// Find llvm-config* in PATH // Find llvm-config* in PATH
var pathListString = Environment.getEnv("PATH"); var pathListString = Environment.getEnv("PATH");
var separator = qbs.hostOS.contains("windows") ? ";" : ":"; var separator = hostOS.contains("windows") ? ";" : ":";
var pathList = pathListString.split(separator); var pathList = pathListString.split(separator);
for (var i = 0; i < llvmConfigVariants.length; ++i) { for (var i = 0; i < llvmConfigVariants.length; ++i) {
for (var j = 0; j < pathList.length; ++j) { for (var j = 0; j < pathList.length; ++j) {

View File

@@ -9,6 +9,9 @@ Module {
Probe { Probe {
id: clangProbe id: clangProbe
property stringList hostOS: qbs.hostOS
property stringList targetOS: qbs.targetOS
property string llvmConfig property string llvmConfig
property string llvmVersion property string llvmVersion
property string llvmIncludeDir property string llvmIncludeDir
@@ -21,12 +24,12 @@ Module {
property string llvmBuildMode property string llvmBuildMode
configure: { configure: {
llvmConfig = ClangFunctions.llvmConfig(qbs, QtcFunctions); llvmConfig = ClangFunctions.llvmConfig(hostOS, QtcFunctions);
llvmVersion = ClangFunctions.version(llvmConfig); llvmVersion = ClangFunctions.version(llvmConfig);
llvmIncludeDir = ClangFunctions.includeDir(llvmConfig); llvmIncludeDir = ClangFunctions.includeDir(llvmConfig);
llvmLibDir = ClangFunctions.libDir(llvmConfig); llvmLibDir = ClangFunctions.libDir(llvmConfig);
llvmLibs = ClangFunctions.libraries(qbs.targetOS); llvmLibs = ClangFunctions.libraries(targetOS);
llvmToolingLibs = ClangFunctions.toolingLibs(llvmConfig, qbs.targetOS); llvmToolingLibs = ClangFunctions.toolingLibs(llvmConfig, targetOS);
llvmBuildMode = ClangFunctions.buildMode(llvmConfig); llvmBuildMode = ClangFunctions.buildMode(llvmConfig);
var toolingParams = ClangFunctions.toolingParameters(llvmConfig); var toolingParams = ClangFunctions.toolingParameters(llvmConfig);
llvmToolingDefines = toolingParams.defines; llvmToolingDefines = toolingParams.defines;