aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-02-28 09:30:56 -0800
committerJake Petroules <jake.petroules@qt.io>2017-03-02 02:55:06 +0000
commit0de8b1b2202da675804af11da53dc2bac0ed2227 (patch)
tree711e731cdfdf2b67811d10818d893374dec6b8ef /share
parentcda1a52338789e91cc3bfcd5784363c5fa9e7ef4 (diff)
Fix FreeBSD host builds
Clang requires the system component of the target triple to have a specific version number suffix for this platform. Change-Id: I9e02060aec0ea3f7002cc0a86fe75ed0bc265572 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/freebsd-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/freebsd.js10
2 files changed, 12 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/freebsd-gcc.qbs b/share/qbs/modules/cpp/freebsd-gcc.qbs
index 1a5d70fbd..c0106495f 100644
--- a/share/qbs/modules/cpp/freebsd-gcc.qbs
+++ b/share/qbs/modules/cpp/freebsd-gcc.qbs
@@ -29,12 +29,13 @@
****************************************************************************/
import qbs
+import "freebsd.js" as FreeBSD
UnixGCC {
condition: qbs.targetOS && qbs.targetOS.contains("freebsd") &&
qbs.toolchain && qbs.toolchain.contains("gcc")
- targetSystem: "freebsd"
+ targetSystem: "freebsd" + (qbs.hostOS.contains("freebsd") ? FreeBSD.hostKernelRelease() : "")
distributionIncludePaths: ["/usr/local/include"]
distributionLibraryPaths: ["/usr/local/lib"]
diff --git a/share/qbs/modules/cpp/freebsd.js b/share/qbs/modules/cpp/freebsd.js
new file mode 100644
index 000000000..37dc432a6
--- /dev/null
+++ b/share/qbs/modules/cpp/freebsd.js
@@ -0,0 +1,10 @@
+var Utilities = require("qbs.Utilities");
+
+function stripKernelReleaseSuffix(r) {
+ var idx = r.indexOf("-RELEASE");
+ return idx >= 0 ? r.substr(0, idx) : r;
+}
+
+function hostKernelRelease() {
+ return stripKernelReleaseSuffix(Utilities.kernelVersion());
+}