summaryrefslogtreecommitdiff
path: root/share/qbs
diff options
context:
space:
mode:
authorRaphael Cotty <raphael.cotty@gmail.com>2022-01-28 11:46:05 +0100
committerraphaelcotty <raphaelcotty@codereview.qt-project.org>2022-01-31 22:26:39 +0000
commitaa2094761aec16001ac0d19bf85483fdc2c78611 (patch)
treee2fcc1a97d4ba0ce6a2d57069d700da8c7ef74ec /share/qbs
parentf726d465ff6365846e5a78f61e2cedd6e9ff6609 (diff)
downloadqbs-aa2094761aec16001ac0d19bf85483fdc2c78611.tar.gz
Use Host and FileInfo service
Replace all the possible use of the qbs module that can be replaced by the Host and FileInfo services. Change-Id: I0d6f820bb2577eacd9081ec2df1eb53adf94d50e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'share/qbs')
-rw-r--r--share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs14
-rw-r--r--share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs7
-rw-r--r--share/qbs/imports/qbs/Probes/BinaryProbe.qbs6
-rw-r--r--share/qbs/imports/qbs/Probes/ClBinaryProbe.qbs2
-rw-r--r--share/qbs/imports/qbs/Probes/ClangClBinaryProbe.qbs2
-rw-r--r--share/qbs/imports/qbs/Probes/ClangClProbe.qbs7
-rw-r--r--share/qbs/imports/qbs/Probes/ConanfileProbe.qbs3
-rw-r--r--share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs6
-rw-r--r--share/qbs/imports/qbs/Probes/GccProbe.qbs11
-rw-r--r--share/qbs/imports/qbs/Probes/GccVersionProbe.qbs4
-rw-r--r--share/qbs/imports/qbs/Probes/IarProbe.qbs2
-rw-r--r--share/qbs/imports/qbs/Probes/JdkProbe.qbs7
-rw-r--r--share/qbs/imports/qbs/Probes/KeilProbe.qbs7
-rw-r--r--share/qbs/imports/qbs/Probes/NodeJsProbe.qbs3
-rw-r--r--share/qbs/imports/qbs/Probes/NpmProbe.qbs9
-rw-r--r--share/qbs/imports/qbs/Probes/PathProbe.qbs7
-rw-r--r--share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs4
-rw-r--r--share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs8
-rw-r--r--share/qbs/imports/qbs/Probes/path-probe.js6
-rw-r--r--share/qbs/module-providers/Qt/setup-qt.js7
-rw-r--r--share/qbs/module-providers/Qt/templates/qml.qbs3
-rw-r--r--share/qbs/module-providers/Qt/templates/qmlcache.qbs3
-rw-r--r--share/qbs/module-providers/qbspkgconfig.qbs7
-rw-r--r--share/qbs/modules/archiver/archiver.qbs3
-rw-r--r--share/qbs/modules/bundle/BundleModule.qbs3
-rw-r--r--share/qbs/modules/cli/CLIModule.qbs5
-rw-r--r--share/qbs/modules/cli/mono.qbs5
-rw-r--r--share/qbs/modules/codesign/android.qbs3
-rw-r--r--share/qbs/modules/codesign/apple.qbs3
-rw-r--r--share/qbs/modules/codesign/signtool.qbs5
-rw-r--r--share/qbs/modules/cpp/CppModule.qbs3
-rw-r--r--share/qbs/modules/cpp/GenericGCC.qbs3
-rw-r--r--share/qbs/modules/cpp/LinuxGCC.qbs3
-rw-r--r--share/qbs/modules/cpp/dmc.qbs3
-rw-r--r--share/qbs/modules/cpp/freebsd-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/gcc.js3
-rw-r--r--share/qbs/modules/cpp/ios-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/keil.qbs3
-rw-r--r--share/qbs/modules/cpp/sdcc.js3
-rw-r--r--share/qbs/modules/cpp/setuprunenv.js9
-rw-r--r--share/qbs/modules/cpp/windows-clang-cl.qbs3
-rw-r--r--share/qbs/modules/cpp/windows-clang-mingw.qbs9
-rw-r--r--share/qbs/modules/cpp/windows-mingw.qbs4
-rw-r--r--share/qbs/modules/cpp/windows-msvc.qbs3
-rw-r--r--share/qbs/modules/dmg/DMGModule.qbs3
-rw-r--r--share/qbs/modules/ib/IBModule.qbs3
-rw-r--r--share/qbs/modules/java/JavaModule.qbs5
-rw-r--r--share/qbs/modules/java/utils.js4
-rw-r--r--share/qbs/modules/nodejs/NodeJS.qbs5
-rw-r--r--share/qbs/modules/nsis/NSISModule.qbs3
-rw-r--r--share/qbs/modules/qnx/qnx.qbs11
-rw-r--r--share/qbs/modules/typescript/TypeScriptModule.qbs3
-rw-r--r--share/qbs/modules/typescript/typescript.js2
-rw-r--r--share/qbs/modules/wix/WiXModule.qbs5
-rw-r--r--share/qbs/modules/xcode/xcode.qbs2
55 files changed, 149 insertions, 114 deletions
diff --git a/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs b/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs
index 4a86ee935..e45f24bca 100644
--- a/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs
@@ -32,12 +32,12 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.TextFile
import "../../../modules/Android/android-utils.js" as AndroidUtils
PathProbe {
// Inputs
- property stringList hostOS: qbs.hostOS
property path sdkPath
environmentPaths: Environment.getEnv("ANDROID_NDK_ROOT")
@@ -45,13 +45,13 @@ PathProbe {
var paths = [];
if (sdkPath)
paths.push(FileInfo.joinPaths(sdkPath, "ndk-bundle"));
- if (qbs.hostOS.contains("windows"))
+ if (Host.os().contains("windows"))
paths.push(FileInfo.joinPaths(Environment.getEnv("LOCALAPPDATA"),
"Android", "sdk", "ndk-bundle"));
- if (qbs.hostOS.contains("macos"))
+ if (qHost.os().contains("macos"))
paths.push(FileInfo.joinPaths(Environment.getEnv("HOME"),
"Library", "Android", "sdk", "ndk-bundle"));
- if (qbs.hostOS.contains("linux"))
+ if (Host.os().contains("linux"))
paths.push(FileInfo.joinPaths(Environment.getEnv("HOME"),
"Android", "Sdk", "ndk-bundle"));
return paths;
@@ -83,11 +83,11 @@ PathProbe {
candidatePaths = allPaths;
for (i in allPaths) {
var platforms = [];
- if (hostOS.contains("windows"))
+ if (Host.os().contains("windows"))
platforms.push("windows-x86_64", "windows");
- if (hostOS.contains("darwin"))
+ if (Host.os().contains("darwin"))
platforms.push("darwin-x86_64", "darwin-x86");
- if (hostOS.contains("linux"))
+ if (Host.os().contains("linux"))
platforms.push("linux-x86_64", "linux-x86");
for (j in platforms) {
if (File.exists(FileInfo.joinPaths(allPaths[i], "prebuilt", platforms[j]))) {
diff --git a/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs b/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs
index 38feecdfa..28375a469 100644
--- a/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs
@@ -31,17 +31,18 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import "../../../modules/Android/sdk/utils.js" as SdkUtils
import "../../../modules/Android/android-utils.js" as AndroidUtils
BinaryProbe {
environmentPaths: Environment.getEnv("ANDROID_HOME")
platformSearchPaths: {
- if (qbs.hostOS.contains("windows"))
+ if (Host.os().contains("windows"))
return [FileInfo.joinPaths(Environment.getEnv("LOCALAPPDATA"), "Android", "sdk")];
- if (qbs.hostOS.contains("macos"))
+ if (Host.os().contains("macos"))
return [FileInfo.joinPaths(Environment.getEnv("HOME"), "Library", "Android", "sdk")];
- if (qbs.hostOS.contains("linux"))
+ if (Host.os().contains("linux"))
return [FileInfo.joinPaths(Environment.getEnv("HOME"), "Android", "Sdk")];
}
diff --git a/share/qbs/imports/qbs/Probes/BinaryProbe.qbs b/share/qbs/imports/qbs/Probes/BinaryProbe.qbs
index 0bb264bd6..52b78df03 100644
--- a/share/qbs/imports/qbs/Probes/BinaryProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/BinaryProbe.qbs
@@ -28,8 +28,10 @@
**
****************************************************************************/
+import qbs.Host
+
PathProbe {
- nameSuffixes: qbs.hostOS.contains("windows") ? [".com", ".exe", ".bat", ".cmd"] : undefined
- platformSearchPaths: hostOS.contains("unix") ? ["/usr/bin", "/usr/local/bin"] : []
+ nameSuffixes: Host.os().contains("windows") ? [".com", ".exe", ".bat", ".cmd"] : undefined
+ platformSearchPaths: Host.os().contains("unix") ? ["/usr/bin", "/usr/local/bin"] : []
platformEnvironmentPaths: [ "PATH" ]
}
diff --git a/share/qbs/imports/qbs/Probes/ClBinaryProbe.qbs b/share/qbs/imports/qbs/Probes/ClBinaryProbe.qbs
index b1b77ca36..3b3959017 100644
--- a/share/qbs/imports/qbs/Probes/ClBinaryProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/ClBinaryProbe.qbs
@@ -42,7 +42,7 @@ BinaryProbe {
var results = PathProbeConfigure.configure(_selectors, names, nameSuffixes, nameFilter,
candidateFilter, searchPaths, pathSuffixes,
platformSearchPaths, environmentPaths,
- platformEnvironmentPaths, pathListSeparator);
+ platformEnvironmentPaths);
if (!results.found) {
var msvcs = Utilities.installedMSVCs(preferredArchitecture);
if (msvcs.length >= 1) {
diff --git a/share/qbs/imports/qbs/Probes/ClangClBinaryProbe.qbs b/share/qbs/imports/qbs/Probes/ClangClBinaryProbe.qbs
index 3ead109a0..8dc01d376 100644
--- a/share/qbs/imports/qbs/Probes/ClangClBinaryProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/ClangClBinaryProbe.qbs
@@ -42,7 +42,7 @@ BinaryProbe {
var results = PathProbeConfigure.configure(_selectors, names, nameSuffixes, nameFilter,
candidateFilter, searchPaths, pathSuffixes,
platformSearchPaths, environmentPaths,
- platformEnvironmentPaths, pathListSeparator);
+ platformEnvironmentPaths);
var compilerPath;
if (results.found)
compilerPath = results.files[0].filePath;
diff --git a/share/qbs/imports/qbs/Probes/ClangClProbe.qbs b/share/qbs/imports/qbs/Probes/ClangClProbe.qbs
index 658da8a9f..f0d930be5 100644
--- a/share/qbs/imports/qbs/Probes/ClangClProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/ClangClProbe.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Utilities
import "../../../modules/cpp/gcc.js" as Gcc
@@ -40,8 +41,6 @@ PathProbe {
property string vcvarsallFilePath
property stringList enableDefinesByLanguage
property string preferredArchitecture
- property string _nullDevice: qbs.nullDevice
- property string _pathListSeparator: qbs.pathListSeparator
property string winSdkVersion
// Outputs
@@ -95,8 +94,8 @@ PathProbe {
var clangPath = FileInfo.joinPaths(FileInfo.path(compilerFilePath), "clang.exe");
var defaultPaths = Gcc.dumpDefaultPaths(buildEnv, clangPath,
- [], _nullDevice,
- _pathListSeparator, "", "");
+ [], Host.nullDevice(),
+ FileInfo.pathListSeparator(), "", "");
includePaths = defaultPaths.includePaths;
architecture = ModUtils.guessArchitecture(macros);
}
diff --git a/share/qbs/imports/qbs/Probes/ConanfileProbe.qbs b/share/qbs/imports/qbs/Probes/ConanfileProbe.qbs
index 03dde25e2..32fbcace2 100644
--- a/share/qbs/imports/qbs/Probes/ConanfileProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/ConanfileProbe.qbs
@@ -31,6 +31,7 @@
import qbs.Process
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.TextFile
import qbs.Utilities
@@ -39,7 +40,7 @@ Probe {
property stringList additionalArguments: []
property path conanfilePath
property path packageReference
- property path executable: "conan" + (qbs.hostOS.contains("windows") ? ".exe": "")
+ property path executable: "conan" + (Host.os().contains("windows") ? ".exe": "")
property stringList generators: ["json"]
property var options
property var settings
diff --git a/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs b/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs
index 9081f5efb..0872e6cc0 100644
--- a/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs
@@ -1,5 +1,6 @@
import qbs.Environment
import qbs.FileInfo
+import qbs.Host
import "path-probe.js" as PathProbeConfigure
BinaryProbe {
@@ -13,7 +14,7 @@ BinaryProbe {
platformSearchPaths: {
var paths = base;
- if (qbs.targetOS.contains("windows") && qbs.hostOS.contains("windows"))
+ if (qbs.targetOS.contains("windows") && Host.os().contains("windows"))
paths.push(FileInfo.joinPaths(
Environment.getEnv("SystemDrive"), "MinGW", "bin"));
return paths;
@@ -51,8 +52,7 @@ BinaryProbe {
var selectors;
var results = PathProbeConfigure.configure(
selectors, names, nameSuffixes, nameFilter, candidateFilter, searchPaths,
- pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths,
- pathListSeparator);
+ pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths);
found = results.found;
if (!found)
diff --git a/share/qbs/imports/qbs/Probes/GccProbe.qbs b/share/qbs/imports/qbs/Probes/GccProbe.qbs
index 9106ff27b..5c6dc1936 100644
--- a/share/qbs/imports/qbs/Probes/GccProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/GccProbe.qbs
@@ -29,6 +29,8 @@
****************************************************************************/
import qbs.File
+import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import "../../../modules/cpp/gcc.js" as Gcc
@@ -39,8 +41,6 @@ PathProbe {
property stringList flags: []
property var environment
- property string _nullDevice: qbs.nullDevice
- property string _pathListSeparator: qbs.pathListSeparator
property string _sysroot: qbs.sysroot
property stringList _targetOS: qbs.targetOS
@@ -63,7 +63,8 @@ PathProbe {
if (fp && File.exists(fp)) {
try {
compilerDefinesByLanguage[languages[i]] = Gcc.dumpMacros(environment, fp,
- flags, _nullDevice,
+ flags,
+ Host.nullDevice(),
languages[i]);
} catch (e) {
// Only throw errors when determining the compiler defines for the C language;
@@ -84,8 +85,8 @@ PathProbe {
|| compilerDefinesByLanguage["objcpp"];
var defaultPaths = Gcc.dumpDefaultPaths(environment, compilerFilePathByLanguage["cpp"] ||
compilerFilePathByLanguage["c"],
- flags, _nullDevice,
- _pathListSeparator, _sysroot, _targetOS);
+ flags, Host.nullDevice(),
+ FileInfo.pathListSeparator(), _sysroot, _targetOS);
found = !!macros && !!defaultPaths;
includePaths = defaultPaths.includePaths;
diff --git a/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs b/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs
index 528719e5b..497835479 100644
--- a/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs
@@ -29,6 +29,7 @@
****************************************************************************/
import qbs.File
+import qbs.Host
import "../../../modules/cpp/gcc.js" as Gcc
PathProbe {
@@ -36,7 +37,6 @@ PathProbe {
property string compilerFilePath
property var environment
- property string _nullDevice: qbs.nullDevice
property stringList _toolchain: qbs.toolchain
// Outputs
@@ -50,7 +50,7 @@ PathProbe {
return;
}
- var macros = Gcc.dumpMacros(environment, compilerFilePath, undefined, _nullDevice);
+ var macros = Gcc.dumpMacros(environment, compilerFilePath, undefined, Host.nullDevice());
if (_toolchain.contains("clang")) {
versionMajor = parseInt(macros["__clang_major__"], 10);
diff --git a/share/qbs/imports/qbs/Probes/IarProbe.qbs b/share/qbs/imports/qbs/Probes/IarProbe.qbs
index 3a65c208f..a0008be47 100644
--- a/share/qbs/imports/qbs/Probes/IarProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/IarProbe.qbs
@@ -36,8 +36,6 @@ PathProbe {
property string compilerFilePath
property stringList enableDefinesByLanguage
- property string _nullDevice: qbs.nullDevice
-
// Outputs
property string architecture
property string endianness
diff --git a/share/qbs/imports/qbs/Probes/JdkProbe.qbs b/share/qbs/imports/qbs/Probes/JdkProbe.qbs
index 1f414b0fa..efb5a5336 100644
--- a/share/qbs/imports/qbs/Probes/JdkProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/JdkProbe.qbs
@@ -30,14 +30,14 @@
****************************************************************************/
import qbs.Environment
+import qbs.Host
import "../../../modules/java/utils.js" as JavaUtils
PathProbe {
// Inputs
- property stringList hostOS: qbs.hostOS
property string architecture: !_androidCrossCompiling ? qbs.architecture : undefined
property bool _androidCrossCompiling: qbs.targetOS.contains("android")
- && !qbs.hostOS.contains("android")
+ && !Host.os().contains("android")
environmentPaths: Environment.getEnv("JAVA_HOME")
platformSearchPaths: [
@@ -47,7 +47,8 @@ PathProbe {
]
configure: {
- path = JavaUtils.findJdkPath(hostOS, architecture, environmentPaths, platformSearchPaths);
+ path = JavaUtils.findJdkPath(Host.os(), architecture, environmentPaths,
+ platformSearchPaths);
found = !!path;
}
}
diff --git a/share/qbs/imports/qbs/Probes/KeilProbe.qbs b/share/qbs/imports/qbs/Probes/KeilProbe.qbs
index ba39691fb..b123584ad 100644
--- a/share/qbs/imports/qbs/Probes/KeilProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/KeilProbe.qbs
@@ -29,6 +29,7 @@
****************************************************************************/
import qbs.File
+import qbs.Host
import "../../../modules/cpp/keil.js" as KEIL
PathProbe {
@@ -36,8 +37,6 @@ PathProbe {
property string compilerFilePath
property stringList enableDefinesByLanguage
- property string _nullDevice: qbs.nullDevice
-
// Outputs
property string architecture
property string endianness
@@ -62,7 +61,7 @@ PathProbe {
for (var i = 0; i < languages.length; ++i) {
var tag = languages[i];
compilerDefinesByLanguage[tag] = KEIL.dumpMacros(
- compilerFilePath, tag, _nullDevice);
+ compilerFilePath, tag, Host.nullDevice());
}
var macros = compilerDefinesByLanguage["c"]
@@ -72,7 +71,7 @@ PathProbe {
endianness = KEIL.guessEndianness(macros);
var defaultPaths = KEIL.dumpDefaultPaths(
- compilerFilePath, _nullDevice);
+ compilerFilePath, Host.nullDevice());
includePaths = defaultPaths.includePaths;
diff --git a/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs b/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs
index b0162c715..520e57f56 100644
--- a/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs
@@ -30,12 +30,13 @@
import qbs.Environment
import qbs.FileInfo
+import qbs.Host
BinaryProbe {
names: ["node", "nodejs"]
platformSearchPaths: {
var paths = base;
- if (qbs.hostOS.contains("windows")) {
+ if (Host.os().contains("windows")) {
var env32 = Environment.getEnv("PROGRAMFILES(X86)");
var env64 = Environment.getEnv("PROGRAMFILES");
if (env64 === env32 && env64.endsWith(" (x86)"))
diff --git a/share/qbs/imports/qbs/Probes/NpmProbe.qbs b/share/qbs/imports/qbs/Probes/NpmProbe.qbs
index 3ca6a96c2..08490065a 100644
--- a/share/qbs/imports/qbs/Probes/NpmProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/NpmProbe.qbs
@@ -28,6 +28,8 @@
**
****************************************************************************/
+import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import "path-probe.js" as PathProbeConfigure
import "../../../modules/nodejs/nodejs.js" as NodeJs
@@ -50,11 +52,10 @@ NodeJsProbe {
var selectors;
var results = PathProbeConfigure.configure(
selectors, names, nameSuffixes, nameFilter, candidateFilter, searchPaths,
- pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths,
- pathListSeparator);
+ pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths);
- var v = new ModUtils.EnvironmentVariable("PATH", pathListSeparator,
- hostOS.contains("windows"));
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(),
+ Host.os().contains("windows"));
v.prepend(interpreterPath);
var resultsMapper = function(result) {
diff --git a/share/qbs/imports/qbs/Probes/PathProbe.qbs b/share/qbs/imports/qbs/Probes/PathProbe.qbs
index 768defd87..dc3b32ab7 100644
--- a/share/qbs/imports/qbs/Probes/PathProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/PathProbe.qbs
@@ -29,6 +29,7 @@
****************************************************************************/
import "path-probe.js" as PathProbeConfigure
+import qbs.Host
import qbs.ModUtils
Probe {
@@ -40,11 +41,9 @@ Probe {
property varList selectors
property pathList searchPaths
property stringList pathSuffixes
- property pathList platformSearchPaths: hostOS.contains("unix") ? ['/usr', '/usr/local'] : []
+ property pathList platformSearchPaths: Host.os().contains("unix") ? ['/usr', '/usr/local'] : []
property stringList environmentPaths
property stringList platformEnvironmentPaths
- property stringList hostOS: qbs.hostOS
- property string pathListSeparator: qbs.pathListSeparator
// Output
property stringList candidatePaths
@@ -58,7 +57,7 @@ Probe {
var results = PathProbeConfigure.configure(selectors, names, nameSuffixes, nameFilter,
candidateFilter, searchPaths, pathSuffixes,
platformSearchPaths, environmentPaths,
- platformEnvironmentPaths, pathListSeparator);
+ platformEnvironmentPaths);
found = results.found;
allResults = results.files;
diff --git a/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs b/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs
index 2ed772227..61a9c0b74 100644
--- a/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs
@@ -28,6 +28,7 @@
**
****************************************************************************/
+import qbs.Host
import qbs.Process
import qbs.FileInfo
@@ -42,7 +43,6 @@ Probe {
property string maxVersion
property bool forStaticBuild: false
property stringList libDirs // Full, non-sysrooted paths, mirroring the environment variable
- property string pathListSeparator: qbs.pathListSeparator
// Output
property stringList cflags // Unmodified --cflags output
@@ -73,7 +73,7 @@ Probe {
}
}
if (libDirsToSet)
- p.setEnv("PKG_CONFIG_LIBDIR", libDirsToSet.join(pathListSeparator));
+ p.setEnv("PKG_CONFIG_LIBDIR", libDirsToSet.join(FileInfo.pathListSeparator()));
var versionArgs = [];
if (minVersion !== undefined)
versionArgs.push("--atleast-version=" + minVersion);
diff --git a/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs b/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs
index 6a854a2e6..f494d6012 100644
--- a/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs
+++ b/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import "path-probe.js" as PathProbeConfigure
import "../../../modules/typescript/typescript.js" as TypeScript
@@ -60,11 +61,10 @@ BinaryProbe {
var selectors;
var results = PathProbeConfigure.configure(
selectors, names, nameSuffixes, nameFilter, candidateFilter, searchPaths,
- pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths,
- pathListSeparator);
+ pathSuffixes, platformSearchPaths, environmentPaths, platformEnvironmentPaths);
- var v = new ModUtils.EnvironmentVariable("PATH", pathListSeparator,
- hostOS.contains("windows"));
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(),
+ Host.os().contains("windows"));
v.prepend(interpreterPath);
var resultsMapper = function(result) {
diff --git a/share/qbs/imports/qbs/Probes/path-probe.js b/share/qbs/imports/qbs/Probes/path-probe.js
index 1f55dcf32..1858f5222 100644
--- a/share/qbs/imports/qbs/Probes/path-probe.js
+++ b/share/qbs/imports/qbs/Probes/path-probe.js
@@ -73,7 +73,7 @@ function pathsFromEnvs(envs, pathListSeparator) {
function configure(selectors, names, nameSuffixes, nameFilter, candidateFilter,
searchPaths, pathSuffixes, platformSearchPaths, environmentPaths,
- platformEnvironmentPaths, pathListSeparator) {
+ platformEnvironmentPaths) {
var result = { found: false, files: [] };
if (!selectors && !names)
throw '"names" or "selectors" must be specified';
@@ -102,9 +102,9 @@ function configure(selectors, names, nameSuffixes, nameFilter, candidateFilter,
// FIXME: Suggest how to obtain paths from system
var _paths = ModUtils.concatAll(
- pathsFromEnvs(environmentPaths, pathListSeparator),
+ pathsFromEnvs(environmentPaths, FileInfo.pathListSeparator()),
searchPaths,
- pathsFromEnvs(platformEnvironmentPaths, pathListSeparator),
+ pathsFromEnvs(platformEnvironmentPaths, FileInfo.pathListSeparator()),
platformSearchPaths);
var _suffixes = ModUtils.concatAll('', pathSuffixes);
_paths = _paths.map(function(p) { return FileInfo.fromNativeSeparators(p); });
diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js
index 87a719bf0..6dd42312c 100644
--- a/share/qbs/module-providers/Qt/setup-qt.js
+++ b/share/qbs/module-providers/Qt/setup-qt.js
@@ -40,6 +40,7 @@
var Environment = require("qbs.Environment");
var File = require("qbs.File");
var FileInfo = require("qbs.FileInfo");
+var Host = require("qbs.Host");
var ModUtils = require("qbs.ModUtils");
var Process = require("qbs.Process");
var TextFile = require("qbs.TextFile");
@@ -47,7 +48,7 @@ var Utilities = require("qbs.Utilities");
function splitNonEmpty(s, c) { return s.split(c).filter(function(e) { return e; }); }
function toNative(p) { return FileInfo.toNativeSeparators(p); }
-function exeSuffix(qbs) { return qbs.hostOS.contains("windows") ? ".exe" : ""; }
+function exeSuffix(qbs) { return Host.os().contains("windows") ? ".exe" : ""; }
function getQmakeFilePaths(qmakeFilePaths, qbs) {
if (qmakeFilePaths && qmakeFilePaths.length > 0)
@@ -56,7 +57,7 @@ function getQmakeFilePaths(qmakeFilePaths, qbs) {
var filePaths = [];
var pathValue = Environment.getEnv("PATH");
if (pathValue) {
- var dirs = splitNonEmpty(pathValue, qbs.pathListSeparator);
+ var dirs = splitNonEmpty(pathValue, FileInfo.pathListSeparator());
var suffix = exeSuffix(qbs);
for (var i = 0; i < dirs.length; ++i) {
var candidate = FileInfo.joinPaths(dirs[i], "qmake" + suffix);
@@ -304,7 +305,7 @@ function getQtProperties(qmakeFilePath, qbs) {
if (mkspecsBaseSrcPath && !File.exists(qtProps.mkspecPath))
qtProps.mkspecPath = FileInfo.joinPaths(mkspecsBaseSrcPath, qtProps.mkspecName);
} else {
- if (qbs.hostOS.contains("windows")) {
+ if (Host.os().contains("windows")) {
var baseDirPath = FileInfo.joinPaths(qtProps.mkspecBasePath, "default");
var fileContent = readFileContent(FileInfo.joinPaths(baseDirPath, "qmake.conf"));
qtProps.mkspecPath = configVariable(fileContent, "QMAKESPEC_ORIGINAL");
diff --git a/share/qbs/module-providers/Qt/templates/qml.qbs b/share/qbs/module-providers/Qt/templates/qml.qbs
index 55bf31dee..23cb60426 100644
--- a/share/qbs/module-providers/Qt/templates/qml.qbs
+++ b/share/qbs/module-providers/Qt/templates/qml.qbs
@@ -1,3 +1,4 @@
+import qbs.Host
import qbs.TextFile
import '../QtModule.qbs' as QtModule
import "qml.js" as Qml
@@ -144,7 +145,7 @@ QtModule {
qmlInputs = [];
var scannerData = Qml.scannerData(product.Qt.qml.qmlImportScannerFilePath,
qmlInputs.map(function(inp) { return inp.filePath; }),
- product.Qt.qml.qmlPath, product.qbs.hostOS);
+ product.Qt.qml.qmlPath, Host.os());
var cppFile;
var listFile;
try {
diff --git a/share/qbs/module-providers/Qt/templates/qmlcache.qbs b/share/qbs/module-providers/Qt/templates/qmlcache.qbs
index 38338d106..9a5956884 100644
--- a/share/qbs/module-providers/Qt/templates/qmlcache.qbs
+++ b/share/qbs/module-providers/Qt/templates/qmlcache.qbs
@@ -1,5 +1,6 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.Process
import qbs.Utilities
@@ -10,7 +11,7 @@ Module {
throw "qmlcachegen unsupported for this target";
}
property string qmlCacheGenPath: FileInfo.joinPaths(Qt.core.qmlLibExecPath, "qmlcachegen")
- + (qbs.hostOS.contains("windows") ? ".exe" : "")
+ + (Host.os().contains("windows") ? ".exe" : "")
property bool supportsAllArchitectures: Utilities.versionCompare(Qt.core.version, "5.11") >= 0
property string installDir
diff --git a/share/qbs/module-providers/qbspkgconfig.qbs b/share/qbs/module-providers/qbspkgconfig.qbs
index 0de3be776..7c31060f2 100644
--- a/share/qbs/module-providers/qbspkgconfig.qbs
+++ b/share/qbs/module-providers/qbspkgconfig.qbs
@@ -40,6 +40,7 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.PkgConfig
import qbs.Process
@@ -61,7 +62,7 @@ ModuleProvider {
relativeSearchPaths: {
- function exeSuffix(qbs) { return qbs.hostOS.contains("windows") ? ".exe" : ""; }
+ function exeSuffix(qbs) { return Host.os().contains("windows") ? ".exe" : ""; }
// we need Probes in Providers...
function getPkgConfigExecutable(qbs) {
@@ -70,7 +71,7 @@ ModuleProvider {
var pathValue = Environment.getEnv("PATH");
if (!pathValue)
return undefined;
- var dirs = splitNonEmpty(pathValue, qbs.pathListSeparator);
+ var dirs = splitNonEmpty(pathValue, FileInfo.pathListSeparator());
var suffix = exeSuffix(qbs);
var filePaths = [];
for (var i = 0; i < dirs.length; ++i) {
@@ -165,7 +166,7 @@ ModuleProvider {
var p = new Process()
if (p.exec(executable, ['pkg-config', '--variable=pc_path']) === 0) {
var stdout = p.readStdOut().trim();
- // TODO: qbs.pathListSeparator? depends on what pkg-config prints on Windows
+ // TODO: pathListSeparator? depends on what pkg-config prints on Windows
options.libDirs = stdout ? stdout.split(':'): [];
}
}
diff --git a/share/qbs/modules/archiver/archiver.qbs b/share/qbs/modules/archiver/archiver.qbs
index 71822987a..6da3f43ff 100644
--- a/share/qbs/modules/archiver/archiver.qbs
+++ b/share/qbs/modules/archiver/archiver.qbs
@@ -30,6 +30,7 @@
import qbs.Environment
import qbs.File
+import qbs.Host
import qbs.FileInfo
import qbs.Probes
@@ -53,7 +54,7 @@ Module {
names: ["7z"]
platformSearchPaths: {
var paths = base;
- if (qbs.hostOS.contains("windows")) {
+ if (Host.os().contains("windows")) {
var env32 = Environment.getEnv("PROGRAMFILES(X86)");
var env64 = Environment.getEnv("PROGRAMFILES");
if (env64 === env32 && env64.endsWith(" (x86)"))
diff --git a/share/qbs/modules/bundle/BundleModule.qbs b/share/qbs/modules/bundle/BundleModule.qbs
index e1c3c26cf..6526fa314 100644
--- a/share/qbs/modules/bundle/BundleModule.qbs
+++ b/share/qbs/modules/bundle/BundleModule.qbs
@@ -33,6 +33,7 @@ import qbs.DarwinTools
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.PropertyList
import qbs.TextFile
@@ -618,7 +619,7 @@ Module {
for (var i = 0; i < artifacts.length; ++i)
artifacts[i].bundle = { wrapperPath: wrapperPath };
- if (product.qbs.hostOS.contains("darwin") && product.codesign
+ if (Host.os().contains("darwin") && product.codesign
&& product.codesign.enableCodeSigning) {
artifacts.push({
filePath: FileInfo.joinPaths(product.bundle.contentsFolderPath, "_CodeSignature/CodeResources"),
diff --git a/share/qbs/modules/cli/CLIModule.qbs b/share/qbs/modules/cli/CLIModule.qbs
index cea4c09ca..df58942b5 100644
--- a/share/qbs/modules/cli/CLIModule.qbs
+++ b/share/qbs/modules/cli/CLIModule.qbs
@@ -1,5 +1,6 @@
// base for Common Language Infrastructure modules
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import "cli.js" as CLI
@@ -87,8 +88,8 @@ Module {
}
setupBuildEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator,
- product.qbs.hostOS.contains("windows"));
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(),
+ Host.os().contains("windows"));
v.prepend(product.cli.toolchainInstallPath);
v.set();
}
diff --git a/share/qbs/modules/cli/mono.qbs b/share/qbs/modules/cli/mono.qbs
index f04956a5e..2ed65fd67 100644
--- a/share/qbs/modules/cli/mono.qbs
+++ b/share/qbs/modules/cli/mono.qbs
@@ -1,4 +1,5 @@
import qbs.File
+import qbs.Host
import qbs.Probes
CLIModule {
@@ -14,9 +15,9 @@ CLIModule {
names: ["mono"]
platformSearchPaths: {
var paths = [];
- if (qbs.hostOS.contains("macos"))
+ if (Host.os().contains("macos"))
paths.push("/Library/Frameworks/Mono.framework/Commands");
- if (qbs.hostOS.contains("unix"))
+ if (Host.os().contains("unix"))
paths.push("/usr/bin");
return paths;
}
diff --git a/share/qbs/modules/codesign/android.qbs b/share/qbs/modules/codesign/android.qbs
index f4535aa9c..e149e033c 100644
--- a/share/qbs/modules/codesign/android.qbs
+++ b/share/qbs/modules/codesign/android.qbs
@@ -31,6 +31,7 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import "codesign.js" as CodeSign
@@ -54,7 +55,7 @@ CodeSignModule {
property string keytoolName: "keytool"
property string debugKeystorePath: FileInfo.joinPaths(
- Environment.getEnv(qbs.hostOS.contains("windows")
+ Environment.getEnv(Host.os().contains("windows")
? "USERPROFILE" : "HOME"),
".android", "debug.keystore")
readonly property string debugKeystorePassword: "android"
diff --git a/share/qbs/modules/codesign/apple.qbs b/share/qbs/modules/codesign/apple.qbs
index 4340e3037..05232d7c1 100644
--- a/share/qbs/modules/codesign/apple.qbs
+++ b/share/qbs/modules/codesign/apple.qbs
@@ -34,6 +34,7 @@ import qbs.DarwinTools
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.PropertyList
import qbs.Probes
@@ -49,7 +50,7 @@ CodeSignModule {
names: [codesignName]
}
- condition: qbs.hostOS.contains("macos") && qbs.targetOS.contains("darwin")
+ condition: Host.os().contains("macos") && qbs.targetOS.contains("darwin")
priority: 0
enableCodeSigning: _codeSigningRequired
diff --git a/share/qbs/modules/codesign/signtool.qbs b/share/qbs/modules/codesign/signtool.qbs
index 06efa80df..0fc50f1b7 100644
--- a/share/qbs/modules/codesign/signtool.qbs
+++ b/share/qbs/modules/codesign/signtool.qbs
@@ -29,13 +29,14 @@
****************************************************************************/
import qbs.File
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import "codesign.js" as CODESIGN
CodeSignModule {
condition: qbs.targetOS.contains("windows")
- && qbs.hostOS.contains("windows")
+ && Host.os().contains("windows")
&& qbs.toolchain.contains("msvc")
_canSignArtifacts: true
@@ -43,7 +44,7 @@ CodeSignModule {
Probes.BinaryProbe {
id: signtoolProbe
names: [codesignName]
- searchPaths: CODESIGN.findBestSignToolSearchPaths(qbs.hostArchitecture)
+ searchPaths: CODESIGN.findBestSignToolSearchPaths(Host.architecture())
}
codesignName: "signtool"
diff --git a/share/qbs/modules/cpp/CppModule.qbs b/share/qbs/modules/cpp/CppModule.qbs
index 0a3050370..038de8617 100644
--- a/share/qbs/modules/cpp/CppModule.qbs
+++ b/share/qbs/modules/cpp/CppModule.qbs
@@ -29,6 +29,7 @@
****************************************************************************/
// base for Cpp modules
+import qbs.Host
import qbs.ModUtils
import qbs.Utilities
import qbs.WindowsUtils
@@ -216,7 +217,7 @@ Module {
property stringList knownArchitectures: []
property var toolchainDetails
- property string compilerExtension: qbs.hostOS.contains("windows") ? ".exe" : ""
+ property string compilerExtension: Host.os().contains("windows") ? ".exe" : ""
property string linkerMode: "automatic"
PropertyOptions {
diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs
index 5060af2d6..025aad498 100644
--- a/share/qbs/modules/cpp/GenericGCC.qbs
+++ b/share/qbs/modules/cpp/GenericGCC.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.PathTools
import qbs.Probes
@@ -261,7 +262,7 @@ CppModule {
// __USING_SJLJ_EXCEPTIONS__ is defined as 1 when using SJLJ exceptions, but there don't
// seem to be defines for the other models, so use the presence of the DLLs for now.
var prefix = toolchainInstallPath;
- if (!qbs.hostOS.contains("windows"))
+ if (!Host.os().contains("windows"))
prefix = FileInfo.joinPaths(toolchainInstallPath, "..", "lib", "gcc",
toolchainPrefix,
[compilerVersionMajor, compilerVersionMinor].join("."));
diff --git a/share/qbs/modules/cpp/LinuxGCC.qbs b/share/qbs/modules/cpp/LinuxGCC.qbs
index 14fb0a7e9..17346d048 100644
--- a/share/qbs/modules/cpp/LinuxGCC.qbs
+++ b/share/qbs/modules/cpp/LinuxGCC.qbs
@@ -28,6 +28,7 @@
**
****************************************************************************/
+import qbs.Host
import qbs.Process
UnixGCC {
@@ -41,7 +42,7 @@ UnixGCC {
Probe {
id: runPathsProbe
- condition: !_skipAllChecks && qbs.targetPlatform === qbs.hostPlatform
+ condition: !_skipAllChecks && qbs.targetPlatform === Host.platform()
property stringList systemRunPaths: []
configure: {
var paths = [];
diff --git a/share/qbs/modules/cpp/dmc.qbs b/share/qbs/modules/cpp/dmc.qbs
index 68a0033e0..fe8ba25f1 100644
--- a/share/qbs/modules/cpp/dmc.qbs
+++ b/share/qbs/modules/cpp/dmc.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.PathTools
import qbs.Probes
import qbs.Utilities
@@ -37,7 +38,7 @@ import "dmc.js" as DMC
import "cpp.js" as Cpp
CppModule {
- condition: qbs.hostOS.contains("windows") && qbs.toolchain && qbs.toolchain.contains("dmc")
+ condition: Host.os().contains("windows") && qbs.toolchain && qbs.toolchain.contains("dmc")
Probes.BinaryProbe {
id: compilerPathProbe
diff --git a/share/qbs/modules/cpp/freebsd-gcc.qbs b/share/qbs/modules/cpp/freebsd-gcc.qbs
index 929c4e557..fb6d45b37 100644
--- a/share/qbs/modules/cpp/freebsd-gcc.qbs
+++ b/share/qbs/modules/cpp/freebsd-gcc.qbs
@@ -29,13 +29,14 @@
****************************************************************************/
import "freebsd.js" as FreeBSD
+import qbs.Host
UnixGCC {
condition: qbs.targetOS.contains("freebsd") &&
qbs.toolchain && qbs.toolchain.contains("gcc")
priority: 1
- targetSystem: "freebsd" + (qbs.hostOS.contains("freebsd") ? FreeBSD.hostKernelRelease() : "")
+ targetSystem: "freebsd" + (Host.os().contains("freebsd") ? FreeBSD.hostKernelRelease() : "")
distributionIncludePaths: ["/usr/local/include"]
distributionLibraryPaths: ["/usr/local/lib"]
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index c7bf66de3..7e8e768b0 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -32,6 +32,7 @@ var Codesign = require("../codesign/codesign.js");
var Cpp = require("cpp.js");
var File = require("qbs.File");
var FileInfo = require("qbs.FileInfo");
+var Host = require("qbs.Host");
var DarwinTools = require("qbs.DarwinTools");
var ModUtils = require("qbs.ModUtils");
var PathTools = require("qbs.PathTools");
@@ -1011,7 +1012,7 @@ function linkerEnvVars(config, inputs)
function setResponseFileThreshold(command, product)
{
- if (product.qbs.targetOS.contains("windows") && product.qbs.hostOS.contains("windows"))
+ if (product.qbs.targetOS.contains("windows") && Host.os().contains("windows"))
command.responseFileThreshold = 10000;
}
diff --git a/share/qbs/modules/cpp/ios-gcc.qbs b/share/qbs/modules/cpp/ios-gcc.qbs
index 2d73c8125..92e072a0a 100644
--- a/share/qbs/modules/cpp/ios-gcc.qbs
+++ b/share/qbs/modules/cpp/ios-gcc.qbs
@@ -31,6 +31,7 @@
import qbs.DarwinTools
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Utilities
@@ -40,7 +41,7 @@ DarwinGCC {
qbs.toolchain && qbs.toolchain.contains('gcc')
minimumIosVersion: {
- if (qbs.architecture == "armv7a")
+ if (Host.architecture() == "armv7a")
return "6.0";
// XCode 12 requres version (at least 8.0) to be present in the -target triplet
// when compiling for ios-simulator
diff --git a/share/qbs/modules/cpp/keil.qbs b/share/qbs/modules/cpp/keil.qbs
index c66e95a47..edee1697b 100644
--- a/share/qbs/modules/cpp/keil.qbs
+++ b/share/qbs/modules/cpp/keil.qbs
@@ -30,12 +30,13 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.Probes
import "cpp.js" as Cpp
import "keil.js" as KEIL
CppModule {
- condition: qbs.hostOS.contains("windows") && qbs.toolchain && qbs.toolchain.contains("keil")
+ condition: Host.os().contains("windows") && qbs.toolchain && qbs.toolchain.contains("keil")
Probes.BinaryProbe {
id: compilerPathProbe
diff --git a/share/qbs/modules/cpp/sdcc.js b/share/qbs/modules/cpp/sdcc.js
index 5fc7970aa..bb9a429c8 100644
--- a/share/qbs/modules/cpp/sdcc.js
+++ b/share/qbs/modules/cpp/sdcc.js
@@ -33,6 +33,7 @@ var Cpp = require("cpp.js");
var Environment = require("qbs.Environment");
var File = require("qbs.File");
var FileInfo = require("qbs.FileInfo");
+var Host = require("qbs.Host");
var ModUtils = require("qbs.ModUtils");
var PathTools = require("qbs.PathTools");
var Process = require("qbs.Process");
@@ -395,7 +396,7 @@ function buildLinkerMapFilePath(target, suffix) {
// We need to replace the '\r\n\' line endings with the'\n' line
// endings for each generated object file.
function patchObjectFile(project, product, inputs, outputs, input, output) {
- var isWindows = input.qbs.hostOS.contains("windows");
+ var isWindows = Host.os().contains("windows");
if (isWindows && input.cpp.debugInformation) {
var cmd = new JavaScriptCommand();
cmd.objectPath = outputs.obj[0].filePath;
diff --git a/share/qbs/modules/cpp/setuprunenv.js b/share/qbs/modules/cpp/setuprunenv.js
index 1c3753552..df034e72a 100644
--- a/share/qbs/modules/cpp/setuprunenv.js
+++ b/share/qbs/modules/cpp/setuprunenv.js
@@ -30,6 +30,7 @@
var FileInfo = require("qbs.FileInfo");
var File = require("qbs.File");
+var Host = require("qbs.Host");
var ModUtils = require("qbs.ModUtils"); // TODO: append/prepend functionality should go to qbs.Environment
function addNewElement(list, elem)
@@ -48,7 +49,7 @@ function artifactDir(artifact)
function addExternalLibPath(product, list, path)
{
addNewElement(list, path);
- if (product.qbs.hostOS.contains("windows") && FileInfo.fileName(path) === "lib") {
+ if (Host.os().contains("windows") && FileInfo.fileName(path) === "lib") {
var binPath = FileInfo.joinPaths(FileInfo.path(path), "bin");
if (File.exists(binPath))
addNewElement(list, binPath);
@@ -108,7 +109,7 @@ function setupRunEnvironment(product, config)
if (config.contains("ignore-lib-dependencies"))
return;
- if (product.qbs.hostPlatform !== product.qbs.targetPlatform)
+ if (Host.platform() !== product.qbs.targetPlatform)
return;
var libPaths = [];
@@ -134,8 +135,8 @@ function setupRunEnvironment(product, config)
envVarName = "DYLD_LIBRARY_PATH";
else
envVarName = "LD_LIBRARY_PATH";
- var envVar = new ModUtils.EnvironmentVariable(envVarName, product.qbs.pathListSeparator,
- product.qbs.hostOS.contains("windows"));
+ var envVar = new ModUtils.EnvironmentVariable(envVarName, FileInfo.pathListSeparator(),
+ Host.os().contains("windows"));
libPaths.forEach(function(p) { envVar.prepend(p); });
envVar.set();
}
diff --git a/share/qbs/modules/cpp/windows-clang-cl.qbs b/share/qbs/modules/cpp/windows-clang-cl.qbs
index e1f4ee425..cc58097f6 100644
--- a/share/qbs/modules/cpp/windows-clang-cl.qbs
+++ b/share/qbs/modules/cpp/windows-clang-cl.qbs
@@ -28,13 +28,14 @@
**
****************************************************************************/
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import qbs.FileInfo
import 'windows-msvc-base.qbs' as MsvcBaseModule
MsvcBaseModule {
- condition: qbs.hostOS.contains('windows') &&
+ condition: Host.os().contains('windows') &&
qbs.targetOS.contains('windows') &&
qbs.toolchain && qbs.toolchain.contains('clang-cl')
priority: 100
diff --git a/share/qbs/modules/cpp/windows-clang-mingw.qbs b/share/qbs/modules/cpp/windows-clang-mingw.qbs
index 10d56cc85..b5bac0572 100644
--- a/share/qbs/modules/cpp/windows-clang-mingw.qbs
+++ b/share/qbs/modules/cpp/windows-clang-mingw.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Utilities
import "msvc.js" as MSVC
@@ -68,16 +69,16 @@ MingwBaseModule {
"llvm-rc" + compilerExtension)
setupBuildEnvironment: {
- if (product.qbs.hostOS.contains("windows") && product.qbs.sysroot) {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, true);
+ if (Host.os().contains("windows") && product.qbs.sysroot) {
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), true);
v.prepend(FileInfo.joinPaths(product.qbs.sysroot, "bin"));
v.set();
}
}
setupRunEnvironment: {
- if (product.qbs.hostOS.contains("windows") && product.qbs.sysroot) {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, true);
+ if (Host.os().contains("windows") && product.qbs.sysroot) {
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), true);
v.prepend(FileInfo.joinPaths(product.qbs.sysroot, "bin"));
v.set();
SetupRunEnv.setupRunEnvironment(product, config);
diff --git a/share/qbs/modules/cpp/windows-mingw.qbs b/share/qbs/modules/cpp/windows-mingw.qbs
index 2a01d81a9..4c20eda5f 100644
--- a/share/qbs/modules/cpp/windows-mingw.qbs
+++ b/share/qbs/modules/cpp/windows-mingw.qbs
@@ -52,13 +52,13 @@ MingwBaseModule {
}
setupBuildEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, true);
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), true);
v.prepend(product.cpp.toolchainInstallPath);
v.set();
}
setupRunEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, true);
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), true);
v.prepend(product.cpp.toolchainInstallPath);
v.set();
SetupRunEnv.setupRunEnvironment(product, config);
diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs
index 5e41c76fa..a57c4cc5a 100644
--- a/share/qbs/modules/cpp/windows-msvc.qbs
+++ b/share/qbs/modules/cpp/windows-msvc.qbs
@@ -29,11 +29,12 @@
**
****************************************************************************/
+import qbs.Host
import qbs.Probes
import "windows-msvc-base.qbs" as MsvcBaseModule
MsvcBaseModule {
- condition: qbs.hostOS.contains('windows') &&
+ condition: Host.os().contains('windows') &&
qbs.targetOS.contains('windows') &&
qbs.toolchain && qbs.toolchain.contains('msvc')
priority: 50
diff --git a/share/qbs/modules/dmg/DMGModule.qbs b/share/qbs/modules/dmg/DMGModule.qbs
index c5d097a0b..f069cb5dc 100644
--- a/share/qbs/modules/dmg/DMGModule.qbs
+++ b/share/qbs/modules/dmg/DMGModule.qbs
@@ -31,6 +31,7 @@
import qbs.DarwinTools
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Process
import qbs.TextFile
@@ -39,7 +40,7 @@ import "dmg.js" as Dmg
Module {
Depends { name: "xcode"; required: false }
- condition: qbs.hostOS.contains("darwin") && qbs.targetOS.contains("darwin")
+ condition: Host.os().contains("darwin") && qbs.targetOS.contains("darwin")
property string volumeName: product.targetName
PropertyOptions {
diff --git a/share/qbs/modules/ib/IBModule.qbs b/share/qbs/modules/ib/IBModule.qbs
index 6af5e94e4..4ff8abea2 100644
--- a/share/qbs/modules/ib/IBModule.qbs
+++ b/share/qbs/modules/ib/IBModule.qbs
@@ -31,6 +31,7 @@
import qbs.BundleTools
import qbs.DarwinTools
import qbs.File
+import qbs.Host
import qbs.FileInfo
import qbs.ModUtils
import qbs.Process
@@ -49,7 +50,7 @@ Module {
}
}
- condition: qbs.hostOS.contains("darwin") && qbs.targetOS.contains("darwin")
+ condition: Host.os().contains("darwin") && qbs.targetOS.contains("darwin")
property bool warnings: true
property bool errors: true
diff --git a/share/qbs/modules/java/JavaModule.qbs b/share/qbs/modules/java/JavaModule.qbs
index 3bb3bbe91..d4d7c4492 100644
--- a/share/qbs/modules/java/JavaModule.qbs
+++ b/share/qbs/modules/java/JavaModule.qbs
@@ -29,6 +29,7 @@
****************************************************************************/
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import qbs.Process
@@ -122,7 +123,7 @@ Module {
} else {
paths.push(FileInfo.joinPaths(jdkPath, "include"));
- var hostOS = qbs.hostOS.contains("windows") ? qbs.hostOS.concat(["win32"]) : qbs.hostOS;
+ var hostOS = Host.os().contains("windows") ? Host.os().concat(["win32"]) : Host.os();
var platforms = ["win32", "darwin", "linux", "bsd", "solaris"];
for (var i = 0; i < platforms.length; ++i) {
if (hostOS.contains(platforms[i])) {
@@ -140,7 +141,7 @@ Module {
property path classFilesDir: FileInfo.joinPaths(product.buildDirectory, "classes")
property path internalClassFilesDir: FileInfo.joinPaths(product.buildDirectory, ".classes")
- property bool isAppleJava: qbs.hostOS.contains("darwin")
+ property bool isAppleJava: Host.os().contains("darwin")
&& (compilerVersionMajor < 1
|| (compilerVersionMajor === 1 && compilerVersionMinor < 7))
diff --git a/share/qbs/modules/java/utils.js b/share/qbs/modules/java/utils.js
index 520511192..8fb9661fa 100644
--- a/share/qbs/modules/java/utils.js
+++ b/share/qbs/modules/java/utils.js
@@ -193,7 +193,7 @@ function javacArguments(product, inputs, overrides) {
classPaths.push(inputs["java.jar"][i].filePath);
var debugArg = product.moduleProperty("qbs", "buildVariant") === "debug"
? "-g" : "-g:none";
- var pathListSeparator = product.moduleProperty("qbs", "pathListSeparator");
+ var pathListSeparator = FileInfo.pathListSeparator();
var args = [
"-classpath", classPaths.join(pathListSeparator),
"-s", product.buildDirectory,
@@ -312,7 +312,7 @@ function outputArtifacts(product, inputs) {
process.setWorkingDirectory(
FileInfo.joinPaths(ModUtils.moduleProperty(product, "internalClassFilesDir")));
- var sep = product.moduleProperty("qbs", "pathListSeparator");
+ var sep = FileInfo.pathListSeparator();
var toolsJarPath = ModUtils.moduleProperty(product, "toolsJarPath");
var javaArgs = [
"-classpath", process.workingDirectory() + (toolsJarPath ? (sep + toolsJarPath) : ""),
diff --git a/share/qbs/modules/nodejs/NodeJS.qbs b/share/qbs/modules/nodejs/NodeJS.qbs
index 7fd992fdb..db10fb36f 100644
--- a/share/qbs/modules/nodejs/NodeJS.qbs
+++ b/share/qbs/modules/nodejs/NodeJS.qbs
@@ -31,6 +31,7 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
@@ -84,13 +85,13 @@ Module {
"tmp", "nodejs.intermediate")
setupBuildEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, product.qbs.hostOS.contains("windows"));
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), Host.os().contains("windows"));
v.prepend(product.nodejs.toolchainInstallPath);
v.set();
}
setupRunEnvironment: {
- var v = new ModUtils.EnvironmentVariable("NODE_PATH", product.qbs.pathListSeparator, product.qbs.hostOS.contains("windows"));
+ var v = new ModUtils.EnvironmentVariable("NODE_PATH", FileInfo.pathListSeparator(), Host.os().contains("windows"));
v.prepend(FileInfo.path(Environment.getEnv("QBS_RUN_FILE_PATH")));
v.set();
}
diff --git a/share/qbs/modules/nsis/NSISModule.qbs b/share/qbs/modules/nsis/NSISModule.qbs
index 23d673880..cf8626949 100644
--- a/share/qbs/modules/nsis/NSISModule.qbs
+++ b/share/qbs/modules/nsis/NSISModule.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Utilities
@@ -89,7 +90,7 @@ Module {
// Private properties
property string registryKey: {
- if (!qbs.hostOS.contains("windows"))
+ if (!Host.os().contains("windows"))
return undefined;
var keys = [ "HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS", "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\NSIS" ];
diff --git a/share/qbs/modules/qnx/qnx.qbs b/share/qbs/modules/qnx/qnx.qbs
index 9cab5abb6..f329db18c 100644
--- a/share/qbs/modules/qnx/qnx.qbs
+++ b/share/qbs/modules/qnx/qnx.qbs
@@ -31,6 +31,7 @@
import qbs.Environment
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import qbs.Utilities
@@ -39,7 +40,7 @@ Module {
Probes.PathProbe {
id: qnxSdkProbe
names: ["qnx700", "qnx660", "qnx650"]
- searchPaths: qbs.hostOS.contains("windows")
+ searchPaths: Host.os().contains("windows")
? [Environment.getEnv("USERPROFILE"), Environment.getEnv("SystemDrive")]
: [Environment.getEnv("HOME"), "/opt"]
}
@@ -77,11 +78,11 @@ Module {
property string hostArch: qnx7 ? "x86_64" : "x86"
property string hostOs: {
- if (qbs.hostOS.contains("linux"))
+ if (Host.os().contains("linux"))
return "linux";
- if (qbs.hostOS.contains("macos"))
+ if (Host.os().contains("macos"))
return "darwin";
- if (qbs.hostOS.contains("windows"))
+ if (Host.os().contains("windows"))
return qnx7 ? "win64" : "win32";
}
@@ -111,7 +112,7 @@ Module {
}
if (!hostOs) {
- throw ModUtils.ModuleError("Host operating system '" + qbs.hostOS
+ throw ModUtils.ModuleError("Host operating system '" + Host.os()
+ "' is not supported by the QNX SDK.");
} else if (!File.exists(hostDir)) {
throw ModUtils.ModuleError("Detected host tools operating system '" + hostOs
diff --git a/share/qbs/modules/typescript/TypeScriptModule.qbs b/share/qbs/modules/typescript/TypeScriptModule.qbs
index d8e61b17f..c8ca270e0 100644
--- a/share/qbs/modules/typescript/TypeScriptModule.qbs
+++ b/share/qbs/modules/typescript/TypeScriptModule.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import qbs.Process
@@ -129,7 +130,7 @@ Module {
var preValidator = new ModUtils.PropertyValidator("nodejs");
preValidator.addCustomValidator("interpreterFileName", nodejs.interpreterFileName, function (value) {
- return value === "node" + (qbs.hostOS.contains("windows") ? ".exe" : "");
+ return value === "node" + (Host.os().contains("windows") ? ".exe" : "");
}, interpreterMessage);
preValidator.addCustomValidator("interpreterFilePath", nodejs.interpreterFilePath, function (value) {
return value.endsWith(nodejs.interpreterFileName);
diff --git a/share/qbs/modules/typescript/typescript.js b/share/qbs/modules/typescript/typescript.js
index 858041b3d..7b2cf98df 100644
--- a/share/qbs/modules/typescript/typescript.js
+++ b/share/qbs/modules/typescript/typescript.js
@@ -132,7 +132,7 @@ function outputArtifacts(product, inputs) {
process.setEnv("NODE_PATH", [
ModUtils.moduleProperty(product, "toolchainInstallPath"),
product.moduleProperty("nodejs", "packageManagerRootPath")
- ].join(product.moduleProperty("qbs", "pathListSeparator")));
+ ].join(FileInfo.pathListSeparator()));
process.exec(product.moduleProperty("nodejs", "interpreterFilePath"),
[FileInfo.joinPaths(product.buildDirectory,
".io.qt.qbs.internal.typescript",
diff --git a/share/qbs/modules/wix/WiXModule.qbs b/share/qbs/modules/wix/WiXModule.qbs
index ad8586da1..31bdac51f 100644
--- a/share/qbs/modules/wix/WiXModule.qbs
+++ b/share/qbs/modules/wix/WiXModule.qbs
@@ -30,6 +30,7 @@
import qbs.File
import qbs.FileInfo
+import qbs.Host
import qbs.ModUtils
import qbs.Probes
import qbs.Utilities
@@ -124,7 +125,7 @@ Module {
}
// MSI/MSM package validation only works natively on Windows
- property bool enablePackageValidation: qbs.hostOS.contains("windows")
+ property bool enablePackageValidation: Host.os().contains("windows")
property string executableSuffix: ".exe"
property string windowsInstallerSuffix: ".msi"
@@ -151,7 +152,7 @@ Module {
}
setupBuildEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, true);
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), true);
v.prepend(product.wix.toolchainInstallPath);
v.prepend(product.wix.toolchainInstallRoot);
v.set();
diff --git a/share/qbs/modules/xcode/xcode.qbs b/share/qbs/modules/xcode/xcode.qbs
index 6c0584c81..1975f04b7 100644
--- a/share/qbs/modules/xcode/xcode.qbs
+++ b/share/qbs/modules/xcode/xcode.qbs
@@ -193,7 +193,7 @@ Module {
})
setupBuildEnvironment: {
- var v = new ModUtils.EnvironmentVariable("PATH", product.qbs.pathListSeparator, false);
+ var v = new ModUtils.EnvironmentVariable("PATH", FileInfo.pathListSeparator(), false);
v.prepend(product.xcode.platformPath + "/Developer/usr/bin");
v.prepend(product.xcode.developerPath + "/usr/bin");
v.set();