@@ -11,7 +11,6 @@ const stack_traces = @import("stack_traces.zig");
11
11
const assemble_and_link = @import ("assemble_and_link.zig" );
12
12
const translate_c = @import ("translate_c.zig" );
13
13
const run_translated_c = @import ("run_translated_c.zig" );
14
- const link = @import ("link.zig" );
15
14
16
15
// Implementations
17
16
pub const TranslateCContext = @import ("src/TranslateC.zig" );
@@ -662,6 +661,12 @@ pub fn addStackTraceTests(
662
661
return cases .step ;
663
662
}
664
663
664
+ fn compilerHasPackageManager (b : * std.Build ) bool {
665
+ // We can only use dependencies if the compiler was built with support for package management.
666
+ // (zig2 doesn't support it, but we still need to construct a build graph to build stage3.)
667
+ return b .available_deps .len != 0 ;
668
+ }
669
+
665
670
pub fn addStandaloneTests (
666
671
b : * std.Build ,
667
672
optimize_modes : []const OptimizeMode ,
@@ -670,12 +675,7 @@ pub fn addStandaloneTests(
670
675
enable_symlinks_windows : bool ,
671
676
) * Step {
672
677
const step = b .step ("test-standalone" , "Run the standalone tests" );
673
-
674
- // We can only use dependencies if the compiler was built with support for package management.
675
- // (zig2 doesn't support it, but we still need to construct a build graph to build stage3.)
676
- const package_management_available = b .available_deps .len != 0 ;
677
-
678
- if (package_management_available ) {
678
+ if (compilerHasPackageManager (b )) {
679
679
const test_cases_dep_name = "standalone_test_cases" ;
680
680
const test_cases_dep = b .dependency (test_cases_dep_name , .{
681
681
.enable_ios_sdk = enable_ios_sdk ,
@@ -690,57 +690,27 @@ pub fn addStandaloneTests(
690
690
test_cases_dep_step .name = b .dupe (test_cases_dep_name );
691
691
step .dependOn (test_cases_dep .builder .default_step );
692
692
}
693
-
694
693
return step ;
695
694
}
696
695
697
696
pub fn addLinkTests (
698
697
b : * std.Build ,
699
698
enable_macos_sdk : bool ,
700
699
enable_ios_sdk : bool ,
701
- omit_stage2 : bool ,
702
700
enable_symlinks_windows : bool ,
703
701
) * Step {
704
702
const step = b .step ("test-link" , "Run the linker tests" );
705
- const omit_symlinks = builtin .os .tag == .windows and ! enable_symlinks_windows ;
706
-
707
- inline for (link .cases ) | case | {
708
- if (mem .eql (u8 , @typeName (case .import ), "test.link.link" )) {
709
- const dep = b .anonymousDependency (case .build_root , case .import , .{
710
- .has_macos_sdk = enable_macos_sdk ,
711
- .has_ios_sdk = enable_ios_sdk ,
712
- .has_symlinks_windows = ! omit_symlinks ,
713
- });
714
- const dep_step = dep .builder .default_step ;
715
- assert (mem .startsWith (u8 , dep .builder .dep_prefix , "test." ));
716
- const dep_prefix_adjusted = dep .builder .dep_prefix ["test." .len .. ];
717
- dep_step .name = b .fmt ("{s}{s}" , .{ dep_prefix_adjusted , dep_step .name });
718
- step .dependOn (dep_step );
719
- } else {
720
- const requires_stage2 = @hasDecl (case .import , "requires_stage2" ) and
721
- case .import .requires_stage2 ;
722
- const requires_symlinks = @hasDecl (case .import , "requires_symlinks" ) and
723
- case .import .requires_symlinks ;
724
- const requires_macos_sdk = @hasDecl (case .import , "requires_macos_sdk" ) and
725
- case .import .requires_macos_sdk ;
726
- const requires_ios_sdk = @hasDecl (case .import , "requires_ios_sdk" ) and
727
- case .import .requires_ios_sdk ;
728
- const bad =
729
- (requires_stage2 and omit_stage2 ) or
730
- (requires_symlinks and omit_symlinks ) or
731
- (requires_macos_sdk and ! enable_macos_sdk ) or
732
- (requires_ios_sdk and ! enable_ios_sdk );
733
- if (! bad ) {
734
- const dep = b .anonymousDependency (case .build_root , case .import , .{});
735
- const dep_step = dep .builder .default_step ;
736
- assert (mem .startsWith (u8 , dep .builder .dep_prefix , "test." ));
737
- const dep_prefix_adjusted = dep .builder .dep_prefix ["test." .len .. ];
738
- dep_step .name = b .fmt ("{s}{s}" , .{ dep_prefix_adjusted , dep_step .name });
739
- step .dependOn (dep_step );
740
- }
741
- }
703
+ if (compilerHasPackageManager (b )) {
704
+ const test_cases_dep_name = "link_test_cases" ;
705
+ const test_cases_dep = b .dependency (test_cases_dep_name , .{
706
+ .enable_ios_sdk = enable_ios_sdk ,
707
+ .enable_macos_sdk = enable_macos_sdk ,
708
+ .enable_symlinks_windows = enable_symlinks_windows ,
709
+ });
710
+ const test_cases_dep_step = test_cases_dep .builder .default_step ;
711
+ test_cases_dep_step .name = b .dupe (test_cases_dep_name );
712
+ step .dependOn (test_cases_dep .builder .default_step );
742
713
}
743
-
744
714
return step ;
745
715
}
746
716
0 commit comments