| ... | ... | @@ -1075,9 +1075,10 @@ pub const CrossTarget = std.Target.Cross; |
| 1075 | 1075 | /// Deprecated. Use `std.Target`. |
| 1076 | 1076 | pub const Target = std.Target; |
| 1077 | 1077 | |
| 1078 | | const Pkg = struct { |
| 1078 | pub const Pkg = struct { |
| 1079 | 1079 | name: []const u8, |
| 1080 | 1080 | path: []const u8, |
| 1081 | dependencies: ?[]Pkg = null, |
| 1081 | 1082 | }; |
| 1082 | 1083 | |
| 1083 | 1084 | const CSourceFile = struct { |
| ... | ... | @@ -1742,6 +1743,10 @@ pub const LibExeObjStep = struct { |
| 1742 | 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 | 1750 | pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void { |
| 1746 | 1751 | self.packages.append(Pkg{ |
| 1747 | 1752 | .name = self.builder.dupe(name), |
| ... | ... | @@ -2091,10 +2096,20 @@ pub const LibExeObjStep = struct { |
| 2091 | 2096 | }, |
| 2092 | 2097 | } |
| 2093 | 2098 | for (self.packages.toSliceConst()) |pkg| { |
| 2094 | | zig_args.append("--pkg-begin") catch unreachable; |
| 2095 | | zig_args.append(pkg.name) catch unreachable; |
| 2096 | | zig_args.append(builder.pathFromRoot(pkg.path)) catch unreachable; |
| 2097 | | zig_args.append("--pkg-end") catch unreachable; |
| 2099 | try zig_args.append("--pkg-begin"); |
| 2100 | try zig_args.append(pkg.name); |
| 2101 | try zig_args.append(builder.pathFromRoot(pkg.path)); |
| 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 | 2115 | for (self.include_dirs.toSliceConst()) |include_dir| { |