zig/lib/std/Build/Step
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
..
CheckFile.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
CheckObject.zig check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmds 2023-08-18 11:56:14 +02:00
Compile.zig build: merge FrameworkDir into IncludeDir 2023-08-18 08:08:24 +02:00
ConfigHeader.zig AstGen: add result location analysis pass 2023-08-20 11:58:14 -07:00
Fmt.zig std.Build: use Step.* instead of *Step 2023-05-03 20:55:29 -07:00
InstallArtifact.zig std.Build.Step.InstallArtifact: disable emit-h 2023-07-30 17:22:54 -07:00
InstallDir.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
InstallFile.zig Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath. 2023-07-30 11:18:50 -07:00
ObjCopy.zig build/ObjCopy: strip debug info to a separate elf file. 2023-08-12 09:54:35 +02:00
Options.zig package manager: write deps in a flat format, eliminating the FQN concept 2023-09-15 14:04:23 -07:00
RemoveDir.zig std.Build: use Step.* instead of *Step 2023-05-03 20:55:29 -07:00
Run.zig Build: fail tests that log errors, like zig test does 2023-08-25 15:36:25 -07:00
TranslateC.zig change uses of std.builtin.Mode to OptimizeMode (#16745) 2023-08-09 14:39:34 -04:00
WriteFile.zig std.Build.Step.WriteFile: fix call to nonexistent function 2023-07-31 14:23:57 +02:00