mlugg 94529ffb62 package manager: write deps in a flat format, eliminating the FQN concept
The new `@depedencies` module contains generated code like the
following (where strings like "abc123" represent hashes):

```zig
pub const root_deps = [_]struct { []const u8, []const u8 }{
    .{ "foo", "abc123" },
};

pub const packages = struct {
    pub const abc123 = struct {
        pub const build_root = "/home/mlugg/.cache/zig/blah/abc123";
        pub const build_zig = @import("abc123");
        pub const deps = [_]struct { []const u8, []const u8 }{
            .{ "bar", "abc123" },
            .{ "name", "ghi789" },
        };
    };
};
```

Each package contains a build root string, the build.zig import, and a
mapping from dependency names to package hashes. There is also such a
mapping for the root package dependencies.

In theory, we could now remove the `dep_prefix` field from `std.Build`,
since its main purpose is now handled differently. I believe this is a
desirable goal, as it doesn't really make sense to assign a single FQN
to any package (because it may appear in many different places in the
package hierarchy). This commit does not remove that field, as it's used
non-trivially in a few places in the build runner and compiler tests:
this will be a future enhancement.

Resolves: #16354
Resolves: #17135
2023-09-15 14:04:23 -07:00
..
2023-09-08 21:46:05 +03:00
2023-09-13 18:24:59 -04:00
2023-04-22 13:09:15 +03:00
2023-08-24 22:38:47 -07:00
2023-07-31 10:51:44 -07:00
2023-09-02 00:18:53 +02:00
2023-06-25 14:51:03 -07:00
2023-09-08 21:47:44 +03:00
2023-06-10 20:42:30 -07:00
2023-09-13 18:24:59 -04:00
2023-08-22 13:54:14 -07:00
2023-07-07 11:57:09 -07:00