aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2021-11-24 23:41:09 +0100
committerJakub Konka <kubkon@jakubkonka.com>2021-11-25 12:19:16 +0100
commit1954cdc1066f2d59961e4cdd24a9d80fd6eb86c3 (patch)
treea445b605f63b4951328ce6da925ce32a07296d05 /src/Compilation.zig
parentc42439dff9bdfa1ff90e4243ec7eaad94f4241ca (diff)
downloadzig-1954cdc1066f2d59961e4cdd24a9d80fd6eb86c3.tar.gz
zig-1954cdc1066f2d59961e4cdd24a9d80fd6eb86c3.zip
Autofetch macOS SDK if native target on macOS only
This means that I am purposefully regressing linking iOS and related which will require manual specification of the sysroot path, etc.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 7520e7cb4b..20d67e7c77 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -962,15 +962,17 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation {
break :blk false;
};
- const darwin_can_use_system_sdk = blk: {
+ const darwin_use_system_sdk = blk: {
if (comptime !builtin.target.isDarwin()) break :blk false;
- break :blk builtin.os.tag == .macos and options.target.isDarwin();
+ if (!options.is_native_os) break :blk false;
+ if (builtin.os.tag != .macos or !options.target.isDarwin()) break :blk false;
+ break :blk options.frameworks.len > 0 or options.framework_dirs.len > 0;
};
const sysroot = blk: {
if (options.sysroot) |sysroot| {
break :blk sysroot;
- } else if (darwin_can_use_system_sdk) {
+ } else if (darwin_use_system_sdk) {
break :blk try std.zig.system.darwin.getSDKPath(arena, options.target);
} else {
break :blk null;