Changes
2 changed files (+101/-0)
-
README.md (new)
-
@@ -0,0 +1,100 @@<!-- Copyright 2025 Shota FUJI Licensed under the Zero-Clause BSD License or the Apache License, Version 2.0, at your option. You may not use, copy, modify, or distribute this file except according to those terms. You can find a copy of the Zero-Clause BSD License at LICENSES/0BSD.txt, and a copy of the Apache License, Version 2.0 at LICENSES/Apache-2.0.txt. You may also obtain a copy of the Apache License, Version 2.0 at <https://www.apache.org/licenses/LICENSE-2.0> SPDX-License-Identifier: 0BSD OR Apache-2.0 --> # libsood libsood is a Zig library providing parsing and constructing of SOOD message, a binary format used in Roon Server discovery. libsood is available as, - Zig module (`sood`) - static or dynamic library (C API) (`libsood`) - WebAssembly Module (`sood.wasm`) ## Installation This library requires Zig toolchain v0.14. ### Zig module Add an entry with `.url = "https://git.pocka.jp/libsood.git/archive/<GIT REF>.tar.gz"` to `dependencies` section in your `build.zig.zon`. Or, run the below command: ``` $ zig fetch --save https://git.pocka.jp/libsood.git/archive/<GIT REF>.tar.gz ``` Then, in your `build.zig`: ```zig fn build(b: *std.Build) void { // [snip] const sood = b.dependency("sood", .{ .target = target, .optimize = optimize, }); // [snip] libOrExe.root_module.addImport("sood", sood.module("sood")); // [snip] } ``` ### Static library Clone the repository and run the below command: ``` $ zig build ``` This emits files under `zig-out/`. A static library file will be generated at `zig-out/lib/` (filename differs by platform). ### Dynamic library Clone the repository and run the below command: ``` $ zig build -Dlinkage=dynamic ``` This emits files under `zig-out/`. A dynamic library file will be generated at `zig-out/lib/` (filename differs by platform). ### WebAssembly module Clone the repository and run the below command: ``` $ zig build wasm -Doptimize=ReleaseSmall ``` This emits files under `zig-out/`. A WebAssembly module file will be generated as `zig-out/bin/sood.wasm`. If binary size does not matter to your use-case, set `ReleaseFast` to `-Doptimize` instead. ## Documentation Library documentation is available as man pages. ``` $ man ./man/sood.7 ``` Currently, Zig module and WebAssembly module do not have API documentation. - `sood.7` ... General documentation. - `sood.3` ... C API index. - `sood_*.3` ... C API function documentation.
-
-
-
@@ -34,5 +34,6 @@ "plugins": ["https://plugins.dprint.dev/exec-0.5.1.json@492414e39dea4dccc07b4af796d2f4efdb89e84bae2bd4e1e924c0cc050855bf", "https://plugins.dprint.dev/json-0.20.0.wasm", "https://plugins.dprint.dev/typescript-0.94.0.wasm", "https://plugins.dprint.dev/markdown-0.18.0.wasm", ], }
-