Build.zig: small fix (useless import list).

This commit is contained in:
Philippe Pittoli 2025-10-21 15:06:44 +02:00
parent 4273f96573
commit 670d0ac9f3

View file

@ -42,7 +42,7 @@ pub fn build(b: *std.Build) void {
}); });
// Compile libipc as a static library with C bindings. // Compile libipc as a static library with C bindings.
const lib_static_c = b.addLibrary(.{ const static_lib = b.addLibrary(.{
.name = "ipc", // name of the library .name = "ipc", // name of the library
.linkage = .static, .linkage = .static,
.root_module = b.createModule(.{ .root_module = b.createModule(.{
@ -52,11 +52,11 @@ pub fn build(b: *std.Build) void {
}), }),
}); });
// Tell the compiler we need libc. // Tell the compiler we need libc.
lib_static_c.root_module.link_libc = true; static_lib.root_module.link_libc = true;
b.installArtifact(lib_static_c); b.installArtifact(static_lib);
// Compile libipc as a dynamic library with C bindings. // Compile libipc as a dynamic library with C bindings.
const lib_dynamic_c = b.addLibrary(.{ const dynamic_lib = b.addLibrary(.{
.name = "ipc", // name of the library .name = "ipc", // name of the library
.linkage = .dynamic, .linkage = .dynamic,
.version = .{ .major = 0, .minor = 2, .patch = 3 }, .version = .{ .major = 0, .minor = 2, .patch = 3 },
@ -67,8 +67,8 @@ pub fn build(b: *std.Build) void {
}), }),
}); });
// Tell the compiler we need libc. // Tell the compiler we need libc.
lib_dynamic_c.root_module.link_libc = true; dynamic_lib.root_module.link_libc = true;
b.installArtifact(lib_dynamic_c); b.installArtifact(dynamic_lib);
// pong service using the c client. // pong service using the c client.
const pong_with_c_bindings = b.addExecutable(.{ const pong_with_c_bindings = b.addExecutable(.{
@ -80,16 +80,10 @@ pub fn build(b: *std.Build) void {
.root_source_file = b.path("src/examples/pong-with-c-bindings.zig"), .root_source_file = b.path("src/examples/pong-with-c-bindings.zig"),
.target = target, .target = target,
.optimize = optimize, .optimize = optimize,
// List of modules available for import in source files part of the
// root module. // There is no list of modules to import since the application
.imports = &.{ // uses `libipc.h` to type-check the API then it is statically
// Here "ipc" is the name you will use in your source code to // linked to libipc (see `linkLibrary(static_lib)`).
// import this module (e.g. `@import("ipc")`). The name is
// repeated because you are allowed to rename your imports, which
// can be extremely useful in case of collisions (which can happen
// importing modules from different packages).
.{ .name = "ipc", .module = mod },
},
}), }),
}); });
@ -99,15 +93,15 @@ pub fn build(b: *std.Build) void {
// by passing `--prefix` or `-p`. // by passing `--prefix` or `-p`.
b.installArtifact(pong_with_c_bindings); b.installArtifact(pong_with_c_bindings);
// Link the executable to the library. // Statically link the executable to the library.
pong_with_c_bindings.linkLibrary(lib_static_c); pong_with_c_bindings.linkLibrary(static_lib);
// This creates a top level step. Top level steps have a name and can be // This creates a top level step. Top level steps have a name and can be
// invoked by name when running `zig build` (e.g. `zig build run`). // invoked by name when running `zig build` (e.g. `zig build run`).
// This will evaluate the `run` step rather than the default step. // This will evaluate the `run` step rather than the default step.
// For a top level step to actually do something, it must depend on other // For a top level step to actually do something, it must depend on other
// steps (e.g. a Run step, as we will see in a moment). // steps (e.g. a Run step, as we will see in a moment).
const run_step = b.step("run", "Run the app"); const run_step = b.step("run-pong", "Run the pong client");
// This creates a RunArtifact step in the build graph. A RunArtifact step // This creates a RunArtifact step in the build graph. A RunArtifact step
// invokes an executable compiled by Zig. Steps will only be executed by the // invokes an executable compiled by Zig. Steps will only be executed by the