| ... | @@ -1075,9 +1075,10 @@ pub const CrossTarget = std.Target.Cross; | ... | @@ -1075,9 +1075,10 @@ pub const CrossTarget = std.Target.Cross; |
| 1075 | /// Deprecated. Use `std.Target`. | 1075 | /// Deprecated. Use `std.Target`. |
| 1076 | pub const Target = std.Target; | 1076 | pub const Target = std.Target; |
| 1077 | | 1077 | |
| 1078 | const Pkg = struct { | 1078 | pub const Pkg = struct { |
| 1079 | name: []const u8, | 1079 | name: []const u8, |
| 1080 | path: []const u8, | 1080 | path: []const u8, |
| | 1081 | dependencies: ?[]Pkg = null, |
| 1081 | }; | 1082 | }; |
| 1082 | | 1083 | |
| 1083 | const CSourceFile = struct { | 1084 | const CSourceFile = struct { |
| ... | @@ -1742,6 +1743,10 @@ pub const LibExeObjStep = struct { | ... | @@ -1742,6 +1743,10 @@ pub const LibExeObjStep = struct { |
| 1742 | self.framework_dirs.append(self.builder.dupe(dir_path)) catch unreachable; | 1743 | self.framework_dirs.append(self.builder.dupe(dir_path)) catch unreachable; |
| 1743 | } | 1744 | } |
| 1744 | | 1745 | |
| | 1746 | pub fn addPackage(self: *LibExeObjStep, package: Pkg) void { |
| | 1747 | self.packages.append(package) catch unreachable; |
| | 1748 | } |
| | 1749 | |
| 1745 | pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void { | 1750 | pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void { |
| 1746 | self.packages.append(Pkg{ | 1751 | self.packages.append(Pkg{ |
| 1747 | .name = self.builder.dupe(name), | 1752 | .name = self.builder.dupe(name), |
| ... | @@ -2091,10 +2096,20 @@ pub const LibExeObjStep = struct { | ... | @@ -2091,10 +2096,20 @@ pub const LibExeObjStep = struct { |
| 2091 | }, | 2096 | }, |
| 2092 | } | 2097 | } |
| 2093 | for (self.packages.toSliceConst()) |pkg| { | 2098 | for (self.packages.toSliceConst()) |pkg| { |
| 2094 | zig_args.append("--pkg-begin") catch unreachable; | 2099 | try zig_args.append("--pkg-begin"); |
| 2095 | zig_args.append(pkg.name) catch unreachable; | 2100 | try zig_args.append(pkg.name); |
| 2096 | zig_args.append(builder.pathFromRoot(pkg.path)) catch unreachable; | 2101 | try zig_args.append(builder.pathFromRoot(pkg.path)); |
| 2097 | zig_args.append("--pkg-end") catch unreachable; | 2102 | |
| | 2103 | if (pkg.dependencies) |dependencies| { |
| | 2104 | for (dependencies) |sub_pkg| { |
| | 2105 | try zig_args.append("--pkg-begin"); |
| | 2106 | try zig_args.append(sub_pkg.name); |
| | 2107 | try zig_args.append(builder.pathFromRoot(sub_pkg.path)); |
| | 2108 | try zig_args.append("--pkg-end"); |
| | 2109 | } |
| | 2110 | } |
| | 2111 | |
| | 2112 | try zig_args.append("--pkg-end"); |
| 2098 | } | 2113 | } |
| 2099 | | 2114 | |
| 2100 | for (self.include_dirs.toSliceConst()) |include_dir| { | 2115 | for (self.include_dirs.toSliceConst()) |include_dir| { |