aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@intopalo.com>2016-05-08 20:44:08 +0300
committerJake Petroules <jake.petroules@qt.io>2016-06-17 15:53:50 +0000
commite55b41dde5789bd45164555f2bddc0a8fe15771d (patch)
treeb7885238bb73121ad37f1066bf3b47e76a183862 /share
parent1a103f7a90b51022aa10da228deb566cd7b446ca (diff)
Enable cross-compilation to Darwin targets from non-Darwin hosts
Now that plist support is cross-platform, some assumptions about the hostOS being Darwin can be removed to allow for cross-compiling to Darwin targets. Assumes the user has mounted the partition containing their Xcode SDKs. Change-Id: I0b22964bebf9c2b968890ece249695aa7c676e09 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/gcc.js7
-rw-r--r--share/qbs/modules/cpp/ios-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/osx-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/tvos-gcc.qbs3
-rw-r--r--share/qbs/modules/cpp/watchos-gcc.qbs3
-rw-r--r--share/qbs/modules/xcode/xcode.qbs2
6 files changed, 9 insertions, 12 deletions
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js
index dfecfaac2..7b0380dbb 100644
--- a/share/qbs/modules/cpp/gcc.js
+++ b/share/qbs/modules/cpp/gcc.js
@@ -115,9 +115,10 @@ function linkerFlags(product, inputs, output) {
args = args.concat(escapeLinkerFlags(product, ["--as-needed"]));
}
- var arch = product.moduleProperty("cpp", "targetArch");
- if (isDarwin)
- args.push("-arch", arch);
+ if (haveTargetOption(product))
+ args.push("-target", product.moduleProperty("cpp", "target"));
+ else if (isDarwin)
+ args.push("-arch", product.moduleProperty("cpp", "targetArch"));
var minimumDarwinVersion = ModUtils.moduleProperty(product, "minimumDarwinVersion");
if (minimumDarwinVersion) {
diff --git a/share/qbs/modules/cpp/ios-gcc.qbs b/share/qbs/modules/cpp/ios-gcc.qbs
index 0708a22ef..1ab6e8021 100644
--- a/share/qbs/modules/cpp/ios-gcc.qbs
+++ b/share/qbs/modules/cpp/ios-gcc.qbs
@@ -35,8 +35,7 @@ import qbs.FileInfo
import qbs.ModUtils
DarwinGCC {
- condition: qbs.hostOS.contains('osx') &&
- qbs.targetOS.contains('ios') &&
+ condition: qbs.targetOS.contains('ios') &&
qbs.toolchain && qbs.toolchain.contains('gcc')
targetSystem: "ios" + (minimumIosVersion || "")
diff --git a/share/qbs/modules/cpp/osx-gcc.qbs b/share/qbs/modules/cpp/osx-gcc.qbs
index a6c674d2c..c6e8b7fc8 100644
--- a/share/qbs/modules/cpp/osx-gcc.qbs
+++ b/share/qbs/modules/cpp/osx-gcc.qbs
@@ -32,8 +32,7 @@ import qbs 1.0
import qbs.ModUtils
DarwinGCC {
- condition: qbs.hostOS.contains('osx') &&
- qbs.targetOS.contains('osx') &&
+ condition: qbs.targetOS.contains('osx') &&
qbs.toolchain && qbs.toolchain.contains('gcc')
targetSystem: "macosx" + (minimumOsxVersion || "")
diff --git a/share/qbs/modules/cpp/tvos-gcc.qbs b/share/qbs/modules/cpp/tvos-gcc.qbs
index 0e5f059d3..d3d7f0a3c 100644
--- a/share/qbs/modules/cpp/tvos-gcc.qbs
+++ b/share/qbs/modules/cpp/tvos-gcc.qbs
@@ -31,8 +31,7 @@
import qbs
DarwinGCC {
- condition: qbs.hostOS.contains('osx') &&
- qbs.targetOS.contains('tvos') &&
+ condition: qbs.targetOS.contains('tvos') &&
qbs.toolchain && qbs.toolchain.contains('gcc')
targetSystem: "tvos" + (minimumTvosVersion || "")
diff --git a/share/qbs/modules/cpp/watchos-gcc.qbs b/share/qbs/modules/cpp/watchos-gcc.qbs
index e188eee8e..c3edd86a5 100644
--- a/share/qbs/modules/cpp/watchos-gcc.qbs
+++ b/share/qbs/modules/cpp/watchos-gcc.qbs
@@ -32,8 +32,7 @@
import qbs
DarwinGCC {
- condition: qbs.hostOS.contains('osx') &&
- qbs.targetOS.contains('watchos') &&
+ condition: qbs.targetOS.contains('watchos') &&
qbs.toolchain && qbs.toolchain.contains('gcc')
targetSystem: "watchos" + (minimumWatchosVersion || "")
diff --git a/share/qbs/modules/xcode/xcode.qbs b/share/qbs/modules/xcode/xcode.qbs
index f6994e3be..b0141b22a 100644
--- a/share/qbs/modules/xcode/xcode.qbs
+++ b/share/qbs/modules/xcode/xcode.qbs
@@ -9,7 +9,7 @@ import qbs.PropertyList
import 'xcode.js' as Utils
Module {
- condition: qbs.hostOS.contains("darwin") && qbs.targetOS.contains("darwin") &&
+ condition: qbs.targetOS.contains("darwin") &&
qbs.toolchain && qbs.toolchain.contains("xcode")
property path developerPath: "/Applications/Xcode.app/Contents/Developer"