From aec9ff7d23a833f2cc23f7dbe317501dd6b510d3 Mon Sep 17 00:00:00 2001 From: Liam Malone Date: Sat, 21 Mar 2026 17:30:57 +0000 Subject: [PATCH] update README and rename (wayland->wl in project name) --- README.md | 20 +++++++------------- build.zig | 7 ++----- build.zig.zon | 8 +++++--- src/generator.zig | 2 +- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 4b95581..848385d 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,15 @@ # Wayland Protocol Code Generator Code generation for Wayland protocols, for use without libwayland. -Generated code is NOT ABI compatible with libwayland. - -I wrote this to use in my own projects to avoid the callback-heavy -interface provided by libwayland and the standard wayland-scanner. +Generated code is NOT ABI compatible with libwayland. Users of the generated +code are expected to implement Wayland wire communication handling themselves. This generator currently only supports generating Zig code, but I plan -to add an option to emit the code as a single-header C library too. - -I'll probably also give this all a cleanup pass soon. This code was all -written rather quickly and probably can be tidied up. +to add an option to emit the code as a single-header C library in the future. > [!NOTE] > This program currently only generates client-compatible code. -> Support for server-compatible codegen may come later if I feel like it. +> Support for server-compatible codegen may come later. ## Usage @@ -25,7 +20,7 @@ and `protocols.zig` can be generated by running the program as below: ``` # The program can be run with as many input protocols as you'd like -$ ./zig-out/bin/wayland-protocol-generator -o protocols.zig path/to/wayland.xml path/to/protocol1.xml path/to/protocolN.xml +$ ./zig-out/bin/wl-protocol-codegen -o protocols.zig path/to/wayland.xml path/to/protocol1.xml path/to/protocolN.xml ``` This will read in all provided xml files and produce a single `protocols.zig` @@ -45,7 +40,7 @@ as a module as follows: Add this repo as a dependency. You can do this manually or by invoking: ```shell -$ zig fetch --save git+https://github.com/ptrToLiam/wayland-protocol-codegen +$ zig fetch --save git+https://github.com/ptrToLiam/wl-protocol-codegen ``` Then add some lines such as the following to your `build.zig`: @@ -58,7 +53,7 @@ const wayland_protocol_specifications = [_]std.Build.LazyPath{ ..., }; -const wayland_protocols = b.dependency("wayland_protocol_codegen", .{ +const wayland_protocols = b.dependency("wl_protocol_codegen", .{ .protocols = &wayland_protocol_specifications, }).module("wayland-protocols"); exe.root_module.addImport("wayland-protocols", wayland_protocols); @@ -66,4 +61,3 @@ exe.root_module.addImport("wayland-protocols", wayland_protocols); This will allow you to import the protocol code with `@import("wayland-protocols")` in your executable module's source code. - diff --git a/build.zig b/build.zig index 8be0019..22958fa 100644 --- a/build.zig +++ b/build.zig @@ -21,7 +21,7 @@ pub fn build(b: *std.Build) !void { }); const generator = b.addExecutable(.{ - .name = "wayland-protocol-codegen", + .name = "wl-protocol-codegen", .root_module = root, }); b.installArtifact(generator); @@ -33,16 +33,13 @@ pub fn build(b: *std.Build) !void { wl_generate_cmd.addFileArg(protocol); } - wl_generate_cmd.addArg("-o"); - if (debug_opt) wl_generate_cmd.addArg("--debug"); - + wl_generate_cmd.addArg("-o"); const protocols_zig = wl_generate_cmd.addOutputFileArg("protocols.zig"); const protocols_zig_module = b.addModule("wayland-protocols", .{ .root_source_file = protocols_zig, }); - _ = protocols_zig_module; } } diff --git a/build.zig.zon b/build.zig.zon index 7a00174..58ec1b4 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,10 +1,12 @@ .{ - .name = .wayland_protocol_codegen, - .version = "0.0.0", - .fingerprint = 0xe5b43b9ebc061f42, + .name = .wl_protocol_codegen, + .version = "0.1.0", + .fingerprint = 0x170494c9b73f40bc, .minimum_zig_version = "0.16.0-dev.2261+d6b3dd25a", .paths = .{ "build.zig", + "README.md", + "LICENSE", "src", }, } diff --git a/src/generator.zig b/src/generator.zig index dab3833..b04b247 100644 --- a/src/generator.zig +++ b/src/generator.zig @@ -1893,7 +1893,7 @@ const UsageMsgFmt = const OutputBeginString = \\// This file is generated from provided Wayland XML specifications by -\\// wayland-protocol-codegen and should NOT be edited manually. +\\// wl-protocol-codegen and should NOT be edited manually. \\ ;