authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-18 11:57:12+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-18 11:57:12+02:00
log517a2c7cafd75e963033df479aef0916c7a4181a
tree7b3236c1c66bc6e6f62f7ff7c5cb190431b27175
parent1e899b8769546d9189f21fbb9a5c58c32657fb8a

build: add build test check for availability of IOS SDK on the host


2 files changed, 13 insertions(+), 3 deletions(-)

build.zig+3-1
......@@ -129,6 +129,7 @@ pub fn build(b: *std.Build) !void {
129129 "Whether LLVM has the experimental target xtensa enabled",
130130 ) orelse false;
131131 const enable_macos_sdk = b.option(bool, "enable-macos-sdk", "Run tests requiring presence of macOS SDK and frameworks") orelse false;
132 const enable_ios_sdk = b.option(bool, "enable-ios-sdk", "Run tests requiring presence of iOS SDK and frameworks") orelse false;
132133 const enable_symlinks_windows = b.option(bool, "enable-symlinks-windows", "Run tests requiring presence of symlinks on Windows") orelse false;
133134 const config_h_path_option = b.option([]const u8, "config_h", "Path to the generated config.h");
134135
......@@ -485,11 +486,12 @@ pub fn build(b: *std.Build) !void {
485486 b,
486487 optimization_modes,
487488 enable_macos_sdk,
489 enable_ios_sdk,
488490 false,
489491 enable_symlinks_windows,
490492 ));
491493 test_step.dependOn(tests.addCAbiTests(b, skip_non_native, skip_release));
492 test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, false, enable_symlinks_windows));
494 test_step.dependOn(tests.addLinkTests(b, enable_macos_sdk, enable_ios_sdk, false, enable_symlinks_windows));
493495 test_step.dependOn(tests.addStackTraceTests(b, test_filter, optimization_modes));
494496 test_step.dependOn(tests.addCliTests(b));
495497 test_step.dependOn(tests.addAssembleAndLinkTests(b, test_filter, optimization_modes));
test/tests.zig+10-2
......@@ -566,6 +566,7 @@ pub fn addStandaloneTests(
566566 b: *std.Build,
567567 optimize_modes: []const OptimizeMode,
568568 enable_macos_sdk: bool,
569 enable_ios_sdk: bool,
569570 omit_stage2: bool,
570571 enable_symlinks_windows: bool,
571572) *Step {
......@@ -615,10 +616,13 @@ pub fn addStandaloneTests(
615616 case.import.requires_symlinks;
616617 const requires_macos_sdk = @hasDecl(case.import, "requires_macos_sdk") and
617618 case.import.requires_macos_sdk;
619 const requires_ios_sdk = @hasDecl(case.import, "requires_ios_sdk") and
620 case.import.requires_ios_sdk;
618621 const bad =
619622 (requires_stage2 and omit_stage2) or
620623 (requires_symlinks and omit_symlinks) or
621 (requires_macos_sdk and !enable_macos_sdk);
624 (requires_macos_sdk and !enable_macos_sdk) or
625 (requires_ios_sdk and !enable_ios_sdk);
622626 if (!bad) {
623627 const dep = b.anonymousDependency(case.build_root, case.import, .{});
624628 const dep_step = dep.builder.default_step;
......@@ -635,6 +639,7 @@ pub fn addStandaloneTests(
635639pub fn addLinkTests(
636640 b: *std.Build,
637641 enable_macos_sdk: bool,
642 enable_ios_sdk: bool,
638643 omit_stage2: bool,
639644 enable_symlinks_windows: bool,
640645) *Step {
......@@ -648,10 +653,13 @@ pub fn addLinkTests(
648653 case.import.requires_symlinks;
649654 const requires_macos_sdk = @hasDecl(case.import, "requires_macos_sdk") and
650655 case.import.requires_macos_sdk;
656 const requires_ios_sdk = @hasDecl(case.import, "requires_ios_sdk") and
657 case.import.requires_ios_sdk;
651658 const bad =
652659 (requires_stage2 and omit_stage2) or
653660 (requires_symlinks and omit_symlinks) or
654 (requires_macos_sdk and !enable_macos_sdk);
661 (requires_macos_sdk and !enable_macos_sdk) or
662 (requires_ios_sdk and !enable_ios_sdk);
655663 if (!bad) {
656664 const dep = b.anonymousDependency(case.build_root, case.import, .{});
657665 const dep_step = dep.builder.default_step;